読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】7.5時間を約3分に。ライトマップ(Realtime GI)のベイク時間を短縮する為のチュートリアル

3D Lightmap Unity Unity5.6 Unity情報 ゲームの作り方・チュートリアル・サンプル

Unityでライトマップをベイクする場合、何も考えず初期設定でベイクすると非常に時間がかかります。それを短時間でベイクする為のチュートリアルチュートリアルを行う為のアセットが公開されてました。

チュートリアルとアセット

チュートリアルはUnity Best Practiceに含まれているみたいです。 
全9章です。

unity3d.com

また同時にチュートリアルを進める前と、チュートリアルの内容をは反映したシーンが含まれるアセットも公開されています。

f:id:tsubaki_t1:20170101111137j:plain

https://www.assetstore.unity3d.com/en/?_ga=1.69157009.1644033104.1462688839#!/content/73563

 

7.5時間が2.25分に

対象のチュートリアルでは、元々7.5時間かかっていたベイク時間が2.25分まで短くなるそうです。

f:id:tsubaki_t1:20170101110332j:plain

特に顕著な差がでるのが、やはりLightmapのResolutionを書き換えたケースな印象です。初期値2は高すぎるんや…Terrainとか巨大な範囲にベイクする際は減らさなあかんで…

補足

Baked GIしか使用しない場合でも効果がある

Baked GIモードでもGIを表現するためにRealtime GIのベイクを使用してるみたいです。なのでBaked GIを使用する場合でも、このチュートリアルは効果があります。

5.6でUIが変化

Unity 5.6でLightmapのExperimental Buildの内容が適応され、UIの幾つかが変更になります。具体的には、オブジェクト毎の設定がRendererコンポーネントに適応されるようになったり、Lightmapの項目が整理されたり云々。

LightprobeProxyVolumeを使うという選択肢

チュートリアルでも書かれていますが、細かいオブジェクトはLightmapでベイクせずLightProbeを使用するのはアリです。また、多少大きなオブジェクトの場合でもLightprobeProxyVolumeを使用すると、それなりに破綻なく表現出来ます。

Progressive Lightmapperのルールは違うかもしれない

今後追加される、シーンビューが見てる範囲のライトマップを優先的に焼き、結果を即座に確認出来るようになる「Progressive Lightmapper」の機能は、コレとは異なる設定で動作するかもしれません。Realtime GIはGeomerics社のEnlighten、ProgressiveLightmapperはImagination Technologies社と、協力してる会社が異なります。

www.youtube.com

関連

tsubakit1.hateblo.jp

blogs.unity3d.com

tsubakit1.hateblo.jp