UnityのGlobal Illumination

UnityGI(Global Illumination)機能があることはバージョン4の時代から知ってたけど、まともに触らないままバージョン5の時代も通り過ぎてしまった(笑)

Unity のマニュアルは、Unityの使い方を学ぶ手助けとなります。Unityを使って 2D や 3D ゲームを作成したり、ゲーム以外のアプリを作成したりして多くの経験を積みましょう。

いい加減ちゃんと触ってみようと思いつつ、公式ドキュメントを読んでもイマイチどこから手を付けたら良いのかわからなかったので、こちらのQiita記事を参考に試してみた。↓
# はじめに Unityのライティングの勉強として、ライティング周りの機能を軽く触って記事にまとめてみました。 # 環境 Unity 5.6.1f1 Windows 10 # アジェンダ 1. ライティングをリッチな感じにする 2...

StaticなオブジェクトのGI

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

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



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


スポンサーリンク



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



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

ライトのベイク処理が重いとか色々噂を聞いていたけど、オフラインのGIレンダリングのことを考えたらこんなもんというか、全然速い方だと思う。
この方法はライトの影響をオブジェクトのテクスチャとして描き込むらしく、UVが定義されたオブジェクトでないと機能しないようだ。

非StaticなオブジェクトのGI

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

Unity のマニュアルは、Unityの使い方を学ぶ手助けとなります。Unityを使って 2D や 3D ゲームを作成したり、ゲーム以外のアプリを作成したりして多くの経験を積みましょう。

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



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



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



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

自分の作ったモデルをUnityでカッコ良くレンダリングするためにも、ちゃんとUV展開までしておかないといけないな。
社会人になって以降、CGレンダリングのテクニカルな話から遠ざかって久しい。 最近のレンダリング技術のトレンドをまるで知らない。最新のMaya2018ではもうmentalrayがバンドルされなくなったと聞く。(でもお値段据え置き) 今のオフラ...

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


スポンサーリンク

関連記事


Also published on Medium.