MENU

作って覚える シミュレーション機能で浮き輪づくり 5

前回は水面やプールのマテリアルを作成しました.今回はライティングを行っていきます.ライティング自体は非常にシンプルに「空」と「無限遠ライト」の2灯のみで行います.一見簡単そうですが,今回はコースティクスと言う光の屈折現象から起こる集光模様について解説するので少し難しい内容を含みます.

このコースティクスと言うのは初心者にとっては少し厄介な機能で,屈折物が多いシーンをレンダリングする際にトラブルになる可能性があったり,その原因がわからず解消ができない!というケースがよくあります.今回はライティングの設定よりはコースティクスに関係する機能に焦点を当てて解説しますが,少々難しい内容ですから,何度も反復したり,さらにドキュメントを読んだりして理解を深めるようにすると良いでしょう.

それでは最初に空による照明を作ります.前回,前々回の作って覚えるシリーズをこなされた方ならすでに手順は把握していることでしょうが,今回も順を追って解説していきます.

目次

空によるライティング

「空」アイコンをクリックしてシーンに空オブジェクトを追加します.「アセットブラウザ」を開いて「HDRI」で検索し,適当な空用マテリアルをシーンに追加して空に割り当てます.晴れ空のものが良いでしょう.

空を作成する
空を作成する
アセットブラウザで空マテリアルを読み込む
アセットブラウザで空マテリアルを読み込む
空に割り当てる
空に割り当てる

このままでは空は照明として機能しませんので,「レンダリング設定」(Ctrl + B)を開き,「特殊効果」から「グローバルイルミネーション」を追加します.これで空はライトとして機能するようになります.

空を照明として使うには必須なグローバルイルミネーション
空を照明として使うには必須なグローバルイルミネーション

グローバルイルミネーションの計算をテスト用に低品質に変更しておきます.グローバルイルミネーションの「一般」タブを開き,
「プライマリの方式」…「イラディアンスキャッシュ」
「セカンダリの方式」…「なし」
「サンプル」…「カスタムサンプル数」
「サンプル数」…「64」


「イラディアンスキャッシュ」タブを開き,
「レコード密度」…「プレビュー」
「スクリーンスケール」…「オフ」

としておきます.品質は低いですが,計算が速いのでテスト用にはこれくらいで十分です.

テスト用のGI設定
テスト用のGI設定

レンダリングしてみましょう.これでいきなり問題が発生します.極端に明るい箇所がちらほらあります.結論から言うとこれはコースティクスによるものですので,これをなんとかしないと綺麗な絵にはなりません.

明るいモヤモヤが見える
明るいモヤモヤが見える

コースティクスについて

コースティクスというのは光が水面のような屈折物を透過したりした際に発生する「屈折コースティクス」と,反射した際に発生する「反射コースティクス」があります.さらにその光が空間を通過する際に見ることができる「ボリュームコースティクス」というものもあります.水中に見えているのは「屈折コースティクス」によるものです.

通常,コースティクスはほとんど気にしないのですが,このチュートリアルのように屈折を多く占めるようなシーンでは問題になってきます.モヤモヤになる原因はGI設定が低いからですが,だからと言ってGI精度をあげてもそこまで綺麗にならず,上げすぎると簡単なシーンにも関わらずレンダリング時間が伸びる一方です.

以下の例は簡単な屈折コースティクスの例ですが,計算精度をあげないと綺麗なコースティクスを得るのは難しいです.左側の画像はGI設定はデフォルトで25秒でレンダリングは終わりますが,コースティクスはややムラがあり,ディテールもぼやけています.右側の画像はGI設定をかなり上げたのでチューブの下あたりはよりディテールのあるコースティクスになった反面,レンダリング時間は4分と,実に8倍以上の時間がかかりました.

綺麗なコースティクスは時間がかかる
綺麗なコースティクスは時間がかかる

このシンプルなシーンでこれだけ時間がかかったのですから,水面を屈折してより複雑なコースティクスを綺麗に描画するには...と思うとこれは時間をかければできるが,現実的ではないと言えると思います.ではどうするかというと,GIで計算するコースティクスは「オフ」にします.「レンダリング設定」の「グローバルイルミネーション」の「オプション」を開き,
「屈折コースティクス」…「オフ」
にします.GIによる屈折コースティクスはデフォルトでオンになっています.通常はほとんど気にしなくても良いですが,こういったシーンではオフにするのも手段のひとつです.ただ,オフにすると当然ながら屈折コースティクスがなくなるので不自然な見た目になってしまいますから,気にならないレベルならオンのままでもよいでしょう.特に今回のプールではオフの方が良さそうです.

屈折コースティクスをオフ
屈折コースティクスをオフ
屈折コースティクスがオフだと不自然になってしまう
屈折コースティクスがオフだと不自然になってしまう
こちらはオフでもさほど気にならない

さて,これで屈折コースティクスがなくなってしまいました.実は今オフにしたコースティクスはCinema 4Dの「GIコースティクス」と呼ばれるGI計算によって描画されるコースティクスです.もう一つ,「フォトンコースティクス」という別のコースティクス描画機能があるので,水面からの屈折コースティクスは後者の「フォトンコースティクス」で描画していきます.

GIコースティクスはGIをオンにするだけで屈折コースティクス(反射コースティクスデフォルトでオフになっている)を描画してくれるので楽なのですが,今回のようなシーンでは邪魔になってしまうこともあります.本当に必要なコースティクスであれば品質をあげてレンダリングするしかないですが,あまり重要でない,または品質をあげても良くならないような場合は思い切ってオフにしても良いでしょう.特にアニメーションではコースティクスがフレーム単位で計算結果が変わりチラつきの原因となります.

とはいえ,今回は水面の屈折コースティクスがないと絵としてはかなり物足りないので,「フォトンコースティクス」を使って追加していきます.

フォトンコースティクスの原理

フォトンコースティクスを使うためにはいくつかの手順を行う必要があり,少々手間がかかります.原理は光源からフォトン(光子)を放出させます.フォトンは光源から飛んでいきサーフェイスにぶつかります.もし屈折や鏡面反射の場合はフォトンはさらに進みますが,フォトンエネルギーが低くなった所で計算を打ち切ります.屈折や反射を経たフォトンは同じ個所に集中することがあり,そこが明るくなる,つまり集光模様として現れてきます.

これからCinema 4Dのフォトンコースティクスを使いますが,実のところCinema 4Dのフォトン計算はそこまで性能がよくない(と思っています…)ため,あまり複雑なシーンではそもそも使わないことの方が圧倒的に多いですので,ここからはあまり実戦的ではないのですが,サードパーティレンダラではコースティクスの機能が強力なレンダラもいくつかありますし,基本となる知識はほとんど同じですので全く役に立たない,ということもないかなと思います.

これをレンダリング手法のひとつでフォトンマッピングと呼びます.興味がある方は検索してみるとよいでしょう.

フォトンマッピングによるコースティクス
フォトンマッピングによるコースティクス

ライティング

フォトンを放出するためにはライトオブジェクトが必要です.GIコースティクスではないため,空や発光マテリアルのライトにはフォトン設定がありません.フォトンコースティクスを使う場合は必ずライトオブジェクトを使用することになります.

シーンに「無限遠ライト」を作成します.

無限遠ライトを作成する
無限遠ライトを作成する

無限遠ライトのパラメータを調整します.
座標
「P.X」…「600㎝」
「P.Y」…「800㎝」
「P.Z」…「0cm」
「R.H」…「90°」
「R.P」…「-50°」
「R.Z」…「0°」

一般
「影のタイプ」…「エリア」
にします.

無限遠ライトは基本的に位置は関係なく,向きだけが重要と「作って覚えるシリーズ 基礎チュートリアル」で書きましたが,フォトンを放射する場合はどこからフォトンを放射するのかを決める必要があるため,位置を斜め上にしています.

エディタ上で影を描画したい場合はエディタメニューの「オプション」→「影」をオンにします.

エディタでの影表示
エディタでの影表示

コースティクスを設定する

無限遠ライトの「コースティクス」タブを開き,
「サーフェイスコースティクス」…「オン」
「エネルギー」…「500%」
「フォトン数」…「3000000」

に設定します.エネルギーはフォトンの明るさを意味しています.コースティクスをより明るくしたい場合はもっと上げても良いでしょう.フォトン数は多ければコースティクスのディテールも出やすいですが,メモリを沢山使うので通常は100万程度を目安にしてみてください.今回はシーンがシンプルなので贅沢に300万にしています.これで無限遠ライトからフォトンが放出されるようになりました.しかしこのままレンダリングしてもフォトンコースティクスは描画されません.

レンダリング設定に「コースティクス」を追加する

フォトンコースティクスを描画するためには,「レンダリング設定」を開き,「特殊効果」から「コースティクス」を追加する必要があります.

レンダリング設定で「コースティクス」を追加
レンダリング設定で「コースティクス」を追加

これで準備ができました.レンダリングを開始すると,最初にフォトンの放射と計算が始まります.それが終わったら記録したフォトンを利用してピクセルを描画していきます.次のような画像になればきちんとフォトンの放射とコースティクス描画がされています.コースティクスが一部分しか描画されていないのは,無限遠ライトのサイズが小さいためです.今回は最終的に浮き輪周辺しか写さないのでこのままで問題ないですが,より広範囲にフォトンを放射する必要がある場合は,スケールツールで無限遠ライトのサイズを大きくます.しかしサイズを大きくするとより多くのフォトンを放射する必要がでてくるため,フォトンの設定も変更しなければなりません.この辺りの知識がフォトンコースティクスを使う際の難しさとも言えます.

無限遠ライトのスケールはフォトン数と関係する
無限遠ライトのスケールはフォトン数と関係する

マテリアルにもコースティクスの設定がある

ここまでの設定でもなかなか難解ですが,マテリアルにもコースティクスの生成・または受けるという設定があります.それはマテリアルの「GI設定」の中にあります.例えばプールの底面にはコースティクスを描画したくない場合は「コースティクスを受ける」を「オフ」にしたり,水面マテリアルの「コースティクスを生成」を「オフ」にすれば水面からのコースティクスはなくなります.

マテリアルにもコースティクスの設定がある
マテリアルにもコースティクスの設定がある

「半径」と「サンプル」も少し触れておきます.「半径」は記録されたフォトンから隣接するフォトンを探索する半径です.半径を大きくするとフォトンが少なくても比較的なめらかなコースティクスが描画できますが,レンダリング時間が長くなります.逆に小さくするとシャープなコースティクスを描画できますが,フォトンが少ないと小さな粒のような描画になってしまいます.

「サンプル数」は半径内にあるフォトンから明るさの平均を求める際に何個のフォトンを使用するかを決めます.「200」であれば,あるフォトンの半径内に500個フォトンがあったとしても200個しか使いません.サンプル数を上げるとコースティクスのムラが少なくなりますが,レンダリング時間が伸びます.さらに大きくしすぎるとコースティクス自体がボケてディテールがなくなっていきます.

フォトンコースティクスはこれらの各パラメータを調整しながら求めるクオリティにする必要があるため,フォトンマッピングの基本的な仕組みの理解に加えてCinema 4Dでの設定手順がやや難解である点で少し難しい機能だと思います.反対にGIコースティクスはこういった手順が不要なのである意味設定は簡単と言えますが,今回のようにGIコースティクスが邪魔になることもあり,そういった問題に直面した時の対処法を知っておくのは大事ではないかなと思っています.

今回はここまでです.

ここまでのデータはこちらからダウンロードできます.

次回はいよいよ仕上げの最終回です. 作って覚える シミュレーション機能で浮き輪づくり 6

Motion Elementsで素材を探す

MotionElements - ロイヤリティフリー 動画素材マーケット、音楽、アフターエフェクト テンプレート

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Cinema 4Dを使用したCG制作を行うフリーランサー.
MAXON認定 Cinema 4D マスタートレーナー

自身の経験を元に後進のために当サイトを開設し運営中.
制作業務のほか,Cinema 4Dの個別トレーニング,企業向けトレーニング,メンターサポートなども行っています.

目次