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

社会人になって以降、CGレンダリングのテクニカルな話から遠ざかって久しい。
最近のレンダリング技術のトレンドをまるで知らない。最新のMaya2018ではもうmentalrayがバンドルされなくなったと聞く。(でもお値段据え置き)
今のオフラインレンダリングでデファクトスタンダードなレンダラって何なんだろうか。

一方、ここ数年でUnrealEngineやUnityなど、無料で利用できるゲームエンジンのレンダラ品質がリアルタイムとは思えないほど向上している。映画「ローグ・ワン/スター・ウォーズ・ストーリー」では一部のCGカットにUnrealEngine4が使われているらしい。

無料で使えて品質も良いなら、活用しない手は無いな。と思ってUnityへこのモデルをインポートしてみた。↓



特にMeshのリダクションなどはせず、ZBrushそのままのメッシュをOBJでインポートしてレンダリング。

Post Processing Stackも併用してみた



偏光塗料みたいな質感はちゃんとShader作らないと無理だろうな。
CGから3Dプリント (クリミア・エンゲルス)
近年流行りの3Dプリントサービスを利用して、ZBrushでモデリングした怪人っぽいキャラクターを3Dプリントしてみた。このページは3D出力物を模型として仕上げるまでの記録。DMM.Makeの3Dプリントサービスを利用し、この3パーツの出力費...


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/





そしてShaderパラメータのキャリブレーション用Assetが配布されている。
https://www.assetstore.unity3d.com/jp/#!/content/25422

Unityエヴァンジェリストの小林信行氏がAllegorithmic社の教材「THE COMPREHENSIVE PBR GUIDE」の翻訳版を公開している。





https://learnopengl.com/#!PBR/Theory

UnityのGI系の機能の使い方はまだあんまりよく知らない。。。

Post Processing Stack

以前はImageEffectsとしてバラバラだったポスト処理が1つのパイプラインにまとまったAssetが配布されている。
https://www.assetstore.unity3d.com/jp/#!/content/83912

で、さらにこのPost Processing Stackのパラメータを動的に制御するScriptをUnityエヴァンジェリスト高橋啓治郎氏が公開している。
https://github.com/keijiro/PostProcessingUtilities

リアルタイムレンダリングを想定すると、リトポロジーとかノーマルマップ焼き付けとかが割と重要になってくるな。

関連記事

PGGAN:段階的に解像度を上げて学習を進めるGAN

Iridescence:プロトタイピング向け軽量3D可視化ライブラリ

MFnDataとMFnAttribute

立体視を試してみた

参考書

Kaolin:3Dディープラーニング用のPyTorchライブラリ

Unreal Engineの薄い本

SIGGRAPH ASIA 2009で学生ボランティア募集してるみたい

ラクガキの立体化 1年半ぶりの続き

サンプルコードにも間違いはある?

WebGL開発に関する情報が充実してきている

Oculus Goを購入!

Blender 2.81でIntel Open Image Denoiseを使う

Unite 2017 Tokyoに行ってきた

ポリ男からMetaHumanを作る

写真に3Dオブジェクトを違和感無く合成する『3DPhotoMagic』

ラクガキの立体化 胴体の追加

Texturing & Modeling A Procedural ApproachをGoo...

Unityで強化学習できる『Unity ML-Agents』

iPhone 3GSがますます欲しくなる動画

「ベンジャミン·バトン数奇な人生」でどうやってCGの顔を作ったのか

ZBrushでアヴァン・ガメラを作ってみる モールドの彫り込み・身体の形出し

ZBrushトレーニング

BlenderのRigifyでリギング

UnityでOpenCVを使うには?

『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン まとめ

UnityでLight Shaftを表現する

トランスフォーマー :リベンジのメイキング (デジタルドメイン)

UnityのGameObjectの向きをScriptで制御する

自前Shaderの件 解決しました

UnityでTweenアニメーションを実装できる3種類の無料Asset

オープンソースのテクスチャマッピングシステム『Ptex』

『PIXARのひみつ展』に行ってきた

粘土をこねるようなスカルプトモデリング

ZBrush用トポロジー転送プラグイン『ZWrap Plugin for ZBrush』

Adobe Photoshop CS5の新機能

Vancouver Film Schoolのデモリール

trimesh:PythonでポリゴンMeshを扱うライブラリ

ZBrushでゴジラ2001を作ってみる 身体のSubToolを分割

TVML (TV program Making language)

MetaHumanの頭部をBlenderで編集できるアドオン

Unity ARKitプラグインサンプルのドキュメントを読む

コメント