UnityのGlobal Illumination

UnityにGI(Global Illumination)機能があることはバージョン4の時代から知ってたけど、まともに触らないままバージョン5の時代も通り過ぎてしまった(笑)
https://docs.unity3d.com/ja/current/Manual/GIIntro.html

いい加減ちゃんと触ってみようと思いつつ、公式ドキュメントを読んでもイマイチどこから手を付けたら良いのかわからなかったので、こちらのQiita記事を参考に試してみた。↓
http://qiita.com/r-ngtm/items/1632b909aab084ba3eb6

StaticなオブジェクトのGI

まずは1番簡単な、動かない(Staticな)オブジェクトに対するGI機能を試す。ライティングをテクスチャにベイク(つまりキャッシュ)するやつですね。

現在のUnity2017.1.xだと、デフォルトではライトのベイク処理が走らないので、メニューの
WindowLightingSettingsDebug SettingsにあるAuto Generateにチェックを入れておく。



デフォルトでチェックが入っていないのは、勝手に重いベイク処理が走らないよう気を利かせた仕様ですが、今回はすぐに効果を確認したいのでチェックを入れた。



例にならってプリミティブのPlane, Sphereを並べ、全てstaticにチェックを入れたらベイクの処理が走り始めた。



ちゃんと例と似た結果になったぞ。

ライトのベイク処理が重いとか色々噂を聞いていたけど、オフラインのGIレンダリングのことを考えたらこんなもんというか、全然速い方だと思う。

この方法はライトの影響をオブジェクトのテクスチャとして描き込むらしく、UVが定義されたオブジェクトでないと機能しないようだ。

非StaticなオブジェクトのGI

次は動くオブジェクト(非Static)用のGI機能を試してみよう。
ライトプローブ(LightProbes)という、空間上にライティング情報をキャッシュする機能を使う。
https://docs.unity3d.com/jp/current/Manual/LightProbes.html

非Staticなプリミティブ(Capsule)を1つ追加してから、
CreateLightLightProbe Groupでライトプローブ群を作成し、Capsuleの周りに来るように配置を調整。



どのライトプローブから照明が補間されているかも分かるんですね。



非StaticなCapsuleにもGI効果が現れたぞ。



やってみたら案外直感的に試せるもんなんだな。今まで食わず嫌いだった(笑)

自分の作ったモデルをUnityでカッコ良くレンダリングするためにも、ちゃんとUV展開までしておかないといけないな。



できればボーンを仕込んでアニメーションもさせたいところだけど。。。

関連記事

3D映画のポストプロダクション 2D-3D変換

トランスフォーマー/ロストエイジのメイキング

DensePose:画像中の人物表面のUV座標を推定する

OpenCV 3.3.0-RCでsfmモジュールをビルド

色んな三面図があるサイト

ラクガキの立体化 3Dプリント注文

MPFB2:Blenderの人体モデリングアドオン

PeopleSansPeople:機械学習用の人物データをU...

ZBrushでアヴァン・ガメラを作ってみる 甲羅のバランス調...

HD画質の無駄遣い その2

Unityからkonashiをコントロールする

『ピクサー展』へ行ってきた

BlenderのGeometry Nodeで遊ぶ

ちょっと凝り過ぎなWebキャンペーン:全日本バーベイタム選手...

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

Maya には3 種類のシェーダSDKがある?

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

ZBrushCoreのTransposeとGizmo 3D

PythonでBlenderのAdd-on開発

Siggraph Asia 2009 カンファレンスの詳細

ラクガキの立体化 モールドの追加

SculptrisとBlenderで作ったGodzilla ...

ラクガキの立体化 進捗

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

Blender 2.8がついに正式リリース!

Faceshiftで表情をキャプチャしてBlender上でM...

ZBrushでゴジラ2001を作ってみる 身体のSubToo...

ZBrushでアヴァン・ガメラを作ってみる 全体のバランス調...

Ambient Occlusionを解析的に求める

mentalrayのSubsurface Scatterin...

ZBrushで基本となるブラシ

ZBrushのZScript入門

Autodesk CompositeとAutodesk Ma...

シン・ゴジラのファンアート

AnacondaとTensorFlowをインストールしてVi...

ZBrushのUndo Historyをカメラ固定で動画化す...

Physically Based Rendering

BSDF: (Bidirectional scatterin...

CGWORLD CHANNEL 第21回ニコ生配信は『シン・...

Mayaのシェーディングノードの区分

bpy-renderer:レンダリング用Pythonパッケー...

Blendify:コンピュータービジョン向けBlenderラ...

コメント