Unityをレンダラとして活用する

社会人になって以降、CGレンダリングのテクニカルな話から遠ざかって久しい。
 最近のレンダリング技術のトレンドをまるで知らない。最新のMaya2018ではもうmentalrayがバンドルされなくなったと聞く。(でもお値段据え置き)
 今のオフラインレンダリングでデファクトスタンダードなレンダラって何なんだろうか。
 
 一方、ここ数年でUnrealEngineやUnityなど、無料で利用できるゲームエンジンのレンダラ品質がリアルタイムとは思えないほど向上している。映画「ローグ・ワン/スター・ウォーズ・ストーリー」では一部のCGカットにUnrealEngine4が使われているらしい。
 
 無料で使えて品質も良いなら、活用しない手は無いな。
 と思ってUnityへこのモデルをインポートしてみた。↓
 https://blog.negativemind.com/portfolio/crimea-engels/
 
 特にMeshのリダクションなどはせず、ZBrushそのままのメッシュをOBJでインポートしてレンダリング。

Post Processing Stackも併用してみた

Unityはデフォルトだと処理負荷軽減のため、カメラからの距離に応じて影の描画を省略しちゃうのね。QualitySettingsShadow Distanceで設定されている距離より遠くは影が描画されないらしい。
 https://docs.unity3d.com/ja/520/Manual/class-QualitySettings.html
 
 Post-processing StackでScreen Space Ambient Occlusionもかかる。
 
 
 
 Specularのある質感は、自由視点でこそ効果を発揮するので、ぜひ動画にしたいところ。
 MayaでもZBrushでも、作業画面上だとどれぐらい影が落ちるのかよくわからなくて、オイラはいつも終わりが見えなくなりがち。気分転換も兼ねてモデルをちゃんとレンダリングしてみるのも大事な気がする。

Physically Based Rendering

UnrealEngineに後れを取ったけど、Unityもバージョン5からPBR(Physically Based Rendering)に則ったShaderを用意するようになったので質感設定がとても直感的。
 
 Unity公式ブログの2年前の記事にStandard Shaderのパラメータチャートが掲載されている。
 https://blogs.unity3d.com/jp/2015/02/18/working-with-physically-based-shading-a-practical-approach/

Post Processing Stack

以前はImageEffectsとしてバラバラだったポスト処理が1つのパイプラインにまとまったAssetが配布されている。
 https://www.assetstore.unity3d.com/jp/#!/content/83912
 
 で、さらにこのPost Processing Stackのパラメータを動的に制御するScriptをUnityエヴァンジェリスト高橋啓治郎氏が公開している。
 https://github.com/keijiro/PostProcessingUtilities
 
 リアルタイムレンダリングを想定すると、リトポロジーとかノーマルマップ焼き付けとかが割と重要になってくるな。


Originally published at NegativeMindException.