前回はアニメーションまでができたので,今回はRedshiftによるマテリアル,ライティング,レンダリングを行っていきます.
Youtube動画:準備中
レンダラーをRedshiftへ切り替える
Redshift用マテリアルを作成するために先にレンダラーをRedshiftへ切り替えます.「レンダリング設定を編集」(Ctrl + B)を開き
「レンダラー」…「Redshift」
に変更し,レンダリング編集を閉じます.

色付きガラスマテリアル
最初にチューブ用のガラスマテリアルを作りますが,単色だと面白みがないので,場所ごとに透過色がことなる色付きガラスマテリアルを作成します.「マテリアルマネージャ」(Shift + F2)を開き「作成」→「Redshift」→「Materials」→「Standard」マテリアルを作成します.

マテリアルサムネイルをダブルクックしてノードエディターを開きます.右上にある「属性を表示」をクリックするとエディターの右側に属性が表示できます.(属性マネージャ上にも表示されるでどちらでもかまいません)
ノードエディター上で「C」キーを押して検索窓に「ramp」と入力し,Rampノードを追加します.

Rampノードを選択し,グラデーションカラーを変更します.好きなカラーで構いませんが,なるべく明るめのカラーを使うようにした方がよいでしょう.理由としてはこのRampノードは透過色へ渡すのですが,暗い色だと透過自体が弱くなってしまうためです.今回の作例ではしっかり透過した淡い色ガラスを作るためです.

Rampノードの「Out Color」ポートをドラッグしてStandardマテリアルノードの何もないところで離して表示されていない入力ポート(ここでは「Base Properties > Transmission > Color」へ渡します.ノードにはデフォルトで表示されていないポートが多数あるので,このようにして非表示ポートへ接続できます.

RS Standardノードを選択し,「Base Properties」タブの「TRANSMISSION」にある
「Weight」…「1」
「Depth」…「10」
に変更します.ウェイトを1にするとこのマテリアルは完全な透過素材になります.もし0.5などの中間値を与えるとベースカラーとブレンドされる結果となります.Depthはガラスの内部を光が通過した後に徐々に色が暗くなる現象をシミュレートします.今回10とすることであまり暗くならないようにしています.このパラメータはRampのカラーによっても変わるため,いろいろ試してみるとよいでしょう.

このマテリアルを「厚み付け」オブジェクトに適用します.

球体用のマテリアルを作成する
続けて新しくRedsfhift Standardマテリアルを作成します.同じくRampノードを追加してカラーを以下のように設定します.グラデーションのノットをクリックして「Interpolation」を「Step」にした場合,次のノットまでカラーが変わらないため中間色のないグラデーションを作ることができます.好みに応じてノットを追加してみてもよいでしょう.

マテリアルを複製します.
複製方法は
・マテリアルを選択してCtrl + C, Ctrl + V
・マテリアルサムネイルをCtrl + ドラッグ
でできます.
複製した方のRampノードを異なる色に変えたら,それぞれを二つの球体に割り当てます.

これで球体用マテリアルができました.
MoSpline用マテリアルを作成する
次はスプライン用マテリアルです.MoSplineはElectric Spline Modiferによって稲妻のような形状になっています.これを発光させていきます.
Redshift Standardマテリアルを作成しノードエディタを開いたら,Standardマテリアルノードを選択します.そして「EMISSION」にある
「Color」…「好みの色」
「Weight」…「150」
にします.Weightの値を0以上にしないと発光しないので注意してください.また,かなり強めに発光させたい場合は大き目な値を設定できます.
このマテリアルをMoSplineに割り当てます.


しかしこのままではスプラインをレンダリングできないため,Redsfhitオブジェクトタグを使ってレンダリングできるようにする必要があります.MoSplineを選択し,「タブ」→「レンダリング」→「RS Object」タグを割り当てます.

RS ObjectタグにはRedsfhitでレンダリングする際の様々なオプションをオブジェクトに設定することができます.ここではスプラインをジオメトリとしてレンダリングできるように,「Curve」タブを開き
「Mode」…「Cylinders」
「Thickness」…「1」
としておきます.Thicknessはシリンダーの太さになるため,小さくすれば細く,大きくすれば太くなります.

これでスプラインを実体化してレンダリングできるようになります.以上でシーンのマテリアル設定は完了です.
ライティング
今回もドームライトを使った簡単ライティングです.シーンにRedshiftドームライトを追加します.

アセットブラウザ(Shift + F8)を開き,hdriで検索して好みのパノラマ画像をドームライトのテクスチャ欄にドラッグ&ドロップします.また,「Background」は今回は「オフ」にしてレンダリング時にパノラマ画像が背景に表示されないようにしておきます.

ライティングはドームライト一灯でOKとします.
カメラを設定する
シーンにRefshiftカメラを追加します.

カメラの「座標」タブを開き
「P.X」…「0㎝」
「P.Y」…「0㎝」
「P.Z」…「-2500㎝」
にします.
角度はすべて「0㎝」にしておきます.

さらに「オブジェクト」タブを開き
「Focal Length(mm)」…「80㎝」
とします.

カメラアイコンで切り替えると丁度正面から見える状態になります.


カメラはこれで完成です.
オブジェクトを傾ける
最後にオブジェクト全体を少し肩けたいので,シーンにヌルオブジェクトを追加して球体二つ,厚み付けのオブジェクトを子にします.注意点としてMoSplineは外に出しておきます.
MoSplineは円形スプラインからスプラインを生成しているため,円形が傾くと自動的に傾いてくれるためです.もしMoSplineがヌルの子にある場合,傾いた円形をさらに傾けるため位置がずれてしまいます.

そうした上でヌルを選択し,「座標」タブを開き
「R.P」…「45°」
「R.B」…「-45°」
とします.

カメラからみると次のような角度で見えます.

チューブの分割数をレンダリング時に変える
ひとます「レンダリング」メニューから「Render to Renderview」を開いて確認してみます.

チューブが衝突デフォーマで膨らんでいる箇所でやや分割数が足りずカクカクしている箇所が目立ちましたので,なめらかにします.Cinema 4Dにはサブディビジョンサーフェイスという分割数をあげて滑らかにする機能がありますが,今回はRedshiftオブジェクトタグを使ってRedshiftのレンダリング実行時になめらかにする方法を使います.

厚み付けオブジェクトを選択し,「タグ」→「レンダータグ」→「RS Object」タグを適用します.

RS Objectタグを選択し,「Geometry」タブを開き
「Override」…「オン」
にして「TESSELLATION」の
「Enabled」…「オン」
にします.これで再度レンダリングすると,Redshiftはレンダリング時にスムージング処理を行います.


ポストエフェクトでグローをかける
Redsfhitのポストエフェクトでグローを適用してきます.通常はAfter Effectsなどのコンポジットソフトで行うのが良いかと思いますが,お手軽なので今回はグローもレンダリングでかけてしまいます.
RenderViewの右側上にある歯車アイコンをクリックしてポストエフェクト設定を表示し,Bloomのチェックをオンにします.ブルームの設定でThresholdやSoftness,Intensityなどの数値を変えるとグロー効果のかかり具合を調整できますので,好みの感じにあわせます.

レンダリング設定
最後にレンダリング設定を行います.
「レンダリング設定」(Ctrl + B)を開き,Redsfhitセクションを開きます.レンダリングモードは「Basic」の「Medium」とします.「Global Illumination」…「オフ」にしておきます.

出力セクションで解像度とフレームレンジを設定します.今回のシーンはガラスがあるためレンダリング時間がかなり長めになるため,無理にアニメーションレンダリングしなくてもよいですし,静止画の場合は「現在のフレーム」としてもよいです.

「保存」を「オン」にして,保存するファイル名とフォーマットを指定します.フォーマットにpngなどの静止画を選択すれば連番ファイルが出力され,mp4などの動画ファイルならすべてのフレームをレンダリング完了後に動画ファイルが生成されます.
ファイル名にはトークンを使うとよいでしょう.トークンはレンダリング時に自動的にフォルダ名やファイル名を付けてくれる便利な機能で,いくつか種類がありますが「$YYYY$MM$DD」とすると「20230830」のように年号から日付をつけてくれます.

アニメーションレンダリングは通常は連番出力が基本です.簡単なテストやプレビューの場合以外は静止画フォーマットを指定しましょう.
これでレンダリング設定はOKです.あとは「レンダリングして画像ビューアーに」(Shift + R)を実行します.今回はガラスマテリアルが大部分に使われているためレンダリング時間がかなり長くなります.あらためてこちらに完成した動画を載せておきます.
完成動画
今回はデフォーマアニメーションとして異なる複数のデフォーマを組み合わせと2023の新機能もいくつか組み込んだ内容となりましたがいかがだったでしょうか.MoSplineの利用や厚み付けなども後から調整可能なように作る方法を取り入れていくと再利用できることもあるとと思います.
それでは最後までトライしていただいた皆さん,お疲れ様でした.最後までご覧いただきありがとうございます.