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

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

関連記事

黒歴史

人脈

ジュラシック・パークのメイキング

OpenMayaRender

HD画質の無駄遣い

多忙な人

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

PythonでMayaのShapeノードプラグインを作る

MFnMeshクラスのsplit関数

MRenderUtil::raytrace

Physically Based Rendering

ZBrushでアヴァン・ガメラを作ってみる 頭頂部と首周りを...

UnityでOpenCVを使うには?

GoB:ZBrushとBlenderを連携させるアドオン

Unityの各コンポーネント間でのやり取り

無料で使える人体3DCG作成ツール

Russian3DScannerのトポロジー転送ツール『Wr...

CGレンダラ研究開発のためのフレームワーク『Lightmet...

Accord.NET Framework:C#で使える機械学...

ZBrushでゴジラ2001を作ってみる 目元だけ作り込んで...

MeshLab:3Dオブジェクトの確認・変換に便利なフリーウ...

UnityユーザーがUnreal Engineの使い方を学ぶ...

ZBrushCore

Unityの薄い本

ZBrushでUndo Historyを動画に書き出す

Unreal Engineの薄い本

Mixamo:人型3Dキャラクターアニメーション制作サービス

Stanford Bunny

別に悪意は無いんだけどさ

テスト

リメイク版ロボコップスーツのメイキング

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

フリーのUV展開ツール Roadkill UV Tool

3DCGのモデルを立体化するサービス

UnityのTransformクラスについて調べてみた

フルCGのウルトラマン!?

ラクガキの立体化 塗装と破損個所の修復 そして完成

Unreal Engine 5の情報が公開された!

Blender 4.2以降のWindowsPortable版...

レンダラ制作はOpenGL とか DirectX を使わなく...

UnityからROSを利用できる『ROS#』

ゴジラ三昧

コメント