Octane → Redshift移行メモ

普段cinema4DではOctane renderを使っていますが、MAXONがRedshiftを買収したこと・サブスクリプションにRedshiftを追加したプランが導入されたことでCinema4DとRedshiftの親和性が高まり、Redshiftを使うユーザーがこれから増えてくるのかなと思い、最近リファレンスやチュートリアルを漁りRedshiftについて色々テストしていました。
レンダリングした仕上がりはOctaneが好みなのですが、機能面ではOctaneでできることの大半はRedshiftでできますし、逆にRedshiftにしかない機能も多くあるのでOctaneの痒いところに手が届く印象です。

個人的な備忘録に近いですが、せっかくなのでOctaneからRedshiftに移行する際の各機能へのアクセス方法の違いや気をつけておくことなど共有しておきたいと思います。
あくまでOctaneユーザー向けですが、どちらのユーザーでもなくこれから覚える方や、逆にOctaneへ乗り換える方にも参考になれば。
名前を見ればわかるような項目(ライトのintensityなど)は説明を省きますのでご了承ください。

Live Viewer:RenderView

GPUレンダラーは常時レンダリング結果を見れるビューアーがあり、OctaneのLive ViewerはRenderViewに相当します。

OctaneのLive Viewerの場所capture_0001_レイヤー-35
RedshiftのRenderViewの場所capture_0000_レイヤー-34
Octane Live Viewer
capture_0036_レイヤー-1
Redshift RenderViewcapture_0035_レイヤー-2

同類の機能の配置比較
画像14

似たような構成ですが、OctaneはLive Viewerに機能を集約し、Redshiftはあくまでレンダリングビューワーとしている感じです。OctaneはLive Viewerのツールバーからマテリアルやライトなどを追加し、Redshiftはツールバーから追加します。(もちろんcinema4dのcustomize commandsでアイコン化するなどできます)

RedshiftはCinema4Dのpicture viewerと似ていて、RenderView単体でレンダリングした画像をストックして後から画像を比較したり、Render Infoの追加、LUTの適用、色調補正などができるようになっています。Octaneだと一部の機能(LUTやbloomなど)を除いてpicture viewerに複製しないと調整や比較はできません。

post処理画面
画像13

また、Octaneは常に統一されたレンダリング結果を表示しますが、Redshiftはレンダリングが2パターンの設定で別れています。
品質や一部機能(モーションブラー)が制限されるIPR(Inteactive Photorealistic Render)であればビューやオブジェクトを動かすとリアルタイムで反映されますが、 IPRは常にレンダリング処理を行うのに対し、フル機能でレンダリングされる通常レンダリングは毎度手動でレンダリングボタンを押す必要があります。違いについてはもう少し詳しく後述します。

異なるレンダリングボタン
画像15

レンダリング設定

RedshiftはOctaneと違いレンダリングの品質設定は全てCinema4DのRender Settingから行います。

Octane SettingsとRender Settingscapture_0034_レイヤー-3
RedshiftのRender Settingscapture_0033_レイヤー-4

普段作業する分にあたっては、OctaneのMax.samplesがRedshift(IPR)のPassesに該当しています。IPRを使用しない通常レンダリングはBasic Properties > Unified Samplingの設定から行います。

IPRでもBucket Renderingをオンにすれば、Unified Samplingの設定が反映されますがモーションブラーなど一部の機能が使えません。その代わりに何度もレンダリングボタンを押す必要はなくなります。

書いていてもややこしいのでまとめると以下のような感じでしょうか。

・IPR
 Render SettingsのProgressive RenderingのPassesの数だけサンプリング
 動作が速く、ビューやパラメーターをドラッグしている間も更新される
 ざっと色やライティングを決めたい作業前半用

・IPR+Bucket
 Unified Samplingの設定でレンダリング
 常に更新されるがバケット順で処理されるので全体像が見え辛い
 細かいテクスチャやノイズを確認する作業後半用

・通常レンダリング
 Unified Samplingの設定でレンダリング
 モーションブラーなどすべての機能が使える(個別設定は必要)
 手動でレンダリング更新が必要。作業終盤用

Unified SamplingはOctaneのAdaptive samplingと同じような設定で、Adaptive Error Threshold(ノイズ量)によってピクセル毎のサンプル数をコントロールし、Adaptive Error Thresholdに関係なく最低でもSamples Minの値だけサンプリング、ノイズが残っていてもSamples Maxの値でサンプリングがストップします。Octaneですが過去の記事(https://note.mu/tatsuyam_note/n/n7358a710d818)が参考になると思います。

Redshiftにはマテリアルの反射・屈折・SSS、ライト、GIなどにもサンプル値の設定がありシーンの状態に合わせて調整することができます。例えば、「反射にはノイズがほとんどないけど影だけノイズが多い」ような場合はライトのサンプル値のみ上げることができ、レンダリング時間の短縮に繋がります。Unified SamplingのSamples Maxとそれぞれのサンプル値を比べ、値が大きい方が優先されます。

Octaneには個別にサンプル値を設定する機能がないので無駄が多いとも言えますが、個別に設定している手間を省けると考えれば大差ないのかもしれません。

レンダリング設定:GI

RedshiftのGI設定画面画像4

OctaneにはGIの種類を選ぶ項目がありませんが、RedshiftはPrimary GI EngineとSecondary GI Engineをそれぞれ選ぶことができ、Photon Map / Irradiance Cache / Brute Forceの3種から選べます。GIの違いについてはこの記事が倍以上の長さになるので各々で調べて頂きたいのですが、チュートリアルなどではPrimary・Secondary共にBrute Forceを設定している人が多いようです。時間がかかり、少々ノイズが残るもののチラツキが少ない印象です。

レンダリング設定:反射・透過回数

Octaneの反射、透過回数設定capture_0001_レイヤー-20
Redshiftの反射、透過回数設定capture_0002_レイヤー-19

許容する反射回数、透過回数の設定はPhotonより設定できます。

Redshiftは10回までしか設定できませんが、特定のマテリアルを選びRS Materialノード > Optimizationsから反射・透過回数をそれぞれ16回まで個別に増やすことが可能です。

capture_0000_レイヤー-22

それ以上はバイアスレンダラーなせいか調整はできません。ちなみにOctaneの上限は1024回までのようです。

カメラ

Octane Camera Tagcapture_0027_レイヤー-10
Redshift Camera Tagcapture_0028_レイヤー-9

カメラはどちらもCinema4Dの標準カメラにそれぞれのタグを追加する形になります。
標準カメラにタグを足す以外に、OctaneはLive ViewerのObjects > Octane Cameraより、RedshiftはCinema4DツールバーよりRedshift > Cameras > Standardより新しいカメラとしてシーンに追加できます。

Octane Cameraの追加
capture_0025_レイヤー-12
Redshiftの追加
capture_0026_レイヤー-11

概ね操作感は同じで、Octane・Redshift共にフォーカスブラーを設定したり、レンダリング設定を上書いて露出や色調補正を設定できます。

(フォーカスブラーはIPRでも反映されます)

ライト

Octaneのライトcapture_0024_レイヤー-23
Redshiftのライトcapture_0023_レイヤー-24

OctaneはCinema4Dの標準ライトにOctane Lightタグを追加して制御し、Redshiftは専用のライトオブジェクトを使います。
設定の仕方は概ね一緒ですが、Octaneはライトオブジェクトとタグで設定が別れていてライトサイズや明るさをコントロールする時に少し戸惑うことがあります。
Redshiftの方が一括されていて気が楽な印象です。キーフレームをタイムラインに追加する際もタグを選び忘れる心配もありません。

Octane Light Tagの設定画面画像11
Redshift Lightの設定画面画像12

OctaneのTexture/HDRI EnvironmentはRedshiftのRS Dome Lightに相当
Octane DaylightはRedshift Sun & Sky Rig(LightではなくObjectsの項から)に相当
capture_0020_レイヤー-25


Octaneの不便な点として、ライトに指向性を持たせたり照射範囲を絞るスポットライトのような設定が難しいです。2019にはspot lightがあるようですが、それ以前はdistributionにマップを適用するかIES(Illuminating Engineering Society:現実世界の照明器具の輝度や拡散度合をデータ化したもの)を設定しないと光が広がってしまいます。特に、volume fogを使ったライトの表現では拡散する光を抑えることとfogの設定の調整し辛さも合間って狙った描写になかなかなりません。

RedshiftはGeneral > Area > spreadで指向性を簡単にコントロールできます。

画像6

画像7

レンダリングとは直接関係ないですが、General > Preview > Illumination Adjustmentからビューポート上でのライトの明るさ(レンダリングには反映されない)をコントロールできるので、レンダリングしていない時にシーンのライトの位置や向きを大まかに把握しておきたい場合は便利かなと思います。

capture_0016_レイヤー-27

また、IESを適用するとIESの光の広がり方を形にしてくれるので、光の向きや拡散具合を予測でき重宝しそうです。

capture_0017_レイヤー-26

マテリアル

Octane Materialの追加capture_0015_レイヤー-28
Redshift Materialの追加capture_0014_レイヤー-29

マテリアルの追加は色々方法がありますが、基本的にはCinema4Dと同じようにMaterial ManagerのCreateから追加します。OctaneはShader > C4doctane、RedshiftはRedshift > Materialsです。

OctaneはLive viewerのツールバーから追加したり、レンダリング画面に映っているオブジェクトを右クリックすることでもマテリアルを追加できます。RedshiftはツールバーのRedshiftの項からでも追加できます。

項目の差はあまりないのですが、OctaneはMaterial typeよりDiffuse、Glossy、Specularなどいくつか大枠で分別されていて反射や屈折が必要な場合は切り替えが必要です。RedshiftはOctaneで言うところのMaterial type > Universalに相当し切り替える必要がありません。(Hair用など独自のマテリアルはありますが)

Node Editor:Shader Graph

Octane Node Editor画像12
Redshift Shader Graph
画像13

マテリアルの編集は基本的にはノードベースで調整することになると思います。

OctaneはMaterial EditorのNord Editorボタンから、RedshiftはマテリアルをダブルクリックするとShader Graphが立ち上がります。(見ていたチュートリアルによっては立ち上がっていないものもあったので、その場合はマテリアルを選択し、AttributesからMaterial > Edit Shader Graphボタンをクリックしてください。)

Octaneは独自のUIですが、RedshiftはXPressoのデザイン・機能を使っているようでオブジェクトのパラメーターやUser Dataなどの追加が可能となっています。

移行して戸惑う点としては、Redshiftには各ノードに線をつなぐinput/outputが全く表示されていないことと、Materialノードの後に[Outputノード]があることでしょうか。

まず各ノードのinput/outputが表示されていないことに関しては、それぞれ自身で追加していく必要があります。ノードの青い部分をクリックするとアクセスできる項目の一覧が出てきます。例えば、テクスチャや色を設定したい場合はdiffuseに適用する必要があるので、Base Properties/Diffuse > Diffuse Colorを選択します。別のノードのoutputから線を伸ばし、繋げたいノードの青い部分へドラッグしてきても同様のことができ、この場合は選んだものが自動で線が繋がれます。

画像13

outputもノードの赤い部分から同様に設定できます。inputとoutputを増やしていくと見え辛くなるので、各ノードのサイズを広げることで視認しやすくなりますが、ツールバーよりOptions > Auto Optimize Nodesをオンにしておくと自動で幅を調整してくれたり、外した項目は隠してくれます。

また[Outputノード]がある点については、displaceの設定がMaterialノードには含まれていないためです。上記と同じように[Outputノード]の青い部分からinputを増やそうとするとdisplacementなどの項目が出てきます。

画像14

材質に関わる設定はMaterialノードで、ポリゴンの形状を変更したり特定の効果を追加する場合は[Outputノード]へ追加する必要があるようです。

テクスチャを使う場合はOctaneのImage texture同様、RS Textureノードを使います。Octaneの場合はbitmapノード(cinema4d標準の画像読込)とImage textureノードで違いがありますが、Redshiftの場合は基本的にRS Textureノードしかありません(RS Environmentなど用途が別のものはあります)

注意点として、diffuseに使う場合はそのままで構いませんが、roughnessやbumpに使う白黒画像とnormalに使う画像に関してはgammaを1.0にする必要があります。(Linear workflowによるものですがこの説明はとても長くなってしまうので、気になる方はご自身でお調べください。)
OctaneはImage textureノードからbumpやnormalへ繋ぐ際に自動でgamma 1.0に変換しているようです。

displacementも同様で、Photoshopで黒から白へのグラデーション(中間調を変更していない一定間隔でピクセルが明るくなっているもの)を平面に適用し、gamma overrideを有効にしてgamma 1.0にしたものと、そうでないsRGBのものを比較するとこのようになります。

sRGBが手前、gamma 1.0が奥capture_0010_レイヤー-30

gamma 1.0でも完全に真っ直ぐではありませんが、gammaを1.0にしなければ暗い部分が想定よりも凹んだ状態になります。なのでdiffuseやreflection colorなど色をコントロールする項目以外はgamma 1.0にしておきます。

マテリアル:bump / normal / displacement

bump、normalテクスチャを使う場合、先ほどのgamma 1.0への調整の他に、専用のノードを挟む必要があります。

画像14

bumpとnormalにはRS Bump Mapを使用します。

bumpは線を繋ぐだけで構いませんが、normalはbumpの白黒画像と違って法線を記録したRGB画像のため、RS Bump MapノードのTexture > Input Map TypeをHeight FieldからTangent-Space Normalに変えてください。

画像15

Octaneではbumpとnormalは別のinputとして扱っていますが、Redshiftのマテリアルはbumpに統一されているので、両方を使いたい場合はRS bump Blenderを使って合成します。(2つ前の画像のように繋いでください)

displacementも同様でRS displacementを挟む必要があります。ただし上記でも触れたようにdisplacementは[Outputノード]に繋ぐ必要があり、さらに適応したオブジェクトにRedshiftタグを追加しdisplacementの項目を有効にしてください。Tessellationを有効にすることでレンダリング時のみポリゴンを細分化してディテールを出すことができます。

画像11

RenderPass:AOV

RenderPassはRedshiftではAOV(Arbitrary Output Variable)と呼ばれる項目になります。一部のCGソフトやレンダラーはAOVと呼ばれています。

AOVはRenderSettingsのAOVの項目から選択できますが、Show AOV Managerを使うことでとてもわかりやすく管理できます。

OctaneのRender pass項目capture_0006_レイヤー-16
Redshift AOV項目capture_0005_レイヤー-17
AOV Manager
capture_0004_レイヤー-18

左にならんだAOVの項目から中央のパネルへドラッグ&ドロップすることで追加でき、ひとつひとつ名称やbit数など調整が可能です。例えば、Diffuse Lightingを複数追加してLight Groupsへ別々のライトを追加し、それぞれのライトパスを出すこともできます。Octaneでもできますが、チェックボックスだけてライト管理をしなければならず正直分かりづらいです...

customを追加して特定のマテリアルを全てのオブジェクトに適用したパスを出すようなこともできます。VrayにもOverride Materialという名前で同じ機能があり、fresnel/falloffやdirt/AOのパスを出力し、コンポジットで後から合成することができるのでとても便利です。


終わりに

基本的な操作のみ内容を絞りましたが、これからRedshiftを使い始めるにあたって手助けになれば幸いです。SSSやvolumeなどももちろん使えます。触ってみた感じだとOctaneよりもシンプルなのですぐに覚えられるかなと思います。

どちらのレンダラーも使ってみて優劣つけ難いですが、
・Redshiftはプロダクション向けで多人数でのワークフローも考慮した設計
・Octaneは個人向けで少ない手順で最終ルックを目指すスピード重視
な感じです。

今は他のレンダラーを試す予定はないですが、prorenderやcyclesも使える環境ではあるので機会があればこれらの比較もやってみようかなと思います。

もし説明が分からない点などあればtwitterでご指摘ください。