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展開までしておかないといけないな。



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

関連記事

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

ZBrushでメカ物を作るチュートリアル動画

adskShaderSDK

Composition Rendering:Blenderに...

ZBrush 2018へのアップグレード

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

SIGGRAPH Asia

ZBrushでアヴァン・ガメラを作ってみる 歯茎を別パーツへ...

ZBrush 4R7

OpenCV 3.1のsfmモジュールのビルド再び

ZBrushでゴジラ2001を作ってみる 身体のバランスを探...

ZBrushでアヴァン・ガメラを作ってみる 壊れたデータの救...

日立のフルパララックス立体ディスプレイ

ZScript

中学3年生が制作した短編映像作品『2045』

MFnDataとMFnAttribute

OpenMVSのサンプルを動かしてみる

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

天体写真の3D動画

AndroidもopenGLも初心者さ (でもJavaは知っ...

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

オープンソースのネットワーク可視化ソフトウェアプラットフォー...

UnityプロジェクトをGitHubで管理する

Unreal Engineの薄い本

タマムシっぽい質感

Photo Bash:複数の写真を組み合わせて1枚のイラスト...

Unityで学ぶC#

ZBrushと液晶ペンタブレットでドラゴンをモデリングするチ...

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

ZBrushで仮面ライダー3号を造る 仮面編 Clay Po...

Adobe Photoshop CS5の新機能

Point Cloud Utils:Pythonで3D点群・...

映画『ジュラシック・ワールド』のVFXメイキング

3Dスキャンに基づくプロシージャルフェイシャルアニメーション

OpenCV 3.1のsfmモジュールを試す

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

Texturing & Modeling A Pro...

フォトンの放射から格納までを可視化した動画

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

BlenderProc:Blenderで機械学習用の画像デー...

ポリゴン用各種イテレータと関数セット

openMVGをWindows10 Visual Studi...

コメント