【Unity】BakeryでGPUを使ったライトマップベイク!早いし綺麗だ!

 どうも!新入社員のタケです!


今日はBakeryというUnityのアセットを使ってライトマップのベイクをもっときれいに速くやってみたいと思います!

このアセットを使えばGPUを使ってライトマップをベイクすることができます。


Unityは標準ではCPUでしかライトマップをベイクすることができません。

GPUの力を借りることでより早く、綺麗になるということですね。


Bakery - GPU Lightmapper

https://assetstore.unity.com/packages/tools/level-design/bakery-gpu-lightmapper-122218


さっそくやっていきましょう!

まずは適当にこんなオブジェクトを作ってみました。


何もライトをベイクしていないので影の部分が真っ暗になっています。

Bakeryでは完全に従来のライトマップのベイク機能を使うことなく完結するそうなので、このまま進めてみましょう。


次にDirectional LightにBakery Directional Lightというスクリプトを付けます。

Bakeryで行うベイクはそれぞれのライト専用のスクリプトを付ける必要があるそうです。

するとなんか一気に明るくなりました!


いったんIntensityを下げています。

どうやらDirectional Light本体との情報を共有できる機能が備わっているようなので、これで調節していきます。


次に環境光を付けたいので適当に作ったオブジェクトにSkyLightスクリプトを付けます。

これでGIがついてくれます!


まあとりあえず物は試しだ!なにも考えずベイクベイク!

Bakeryウィンドウを開いたらRenderボタンを押します。ベイク開始!


できました!

当然といえば当然ですがめっちゃ綺麗になりましたね…


ベイク時間も驚異の30秒!普通にやれば2分くらいかかりそうなグラフィック設定なのに…

めちゃめちゃ速い!


次は車を置いてみたのですが、影が落ちてくれません。

これはDirectional Light自体の影が完全にベイクされてしまっているからですね。


リアルタイムのライトも付けたいのでShadowMaskという機能を使います

これを使うとリアルタイムで落ちる影とベイクした影が全く同じ色になり、良い感じになじんでくれます。


ShadowMaskの設定を適用してベイクすると…

太陽の影がちゃんとベイクされて車の影が落ち、それらが重なっても色が変わらないようになりました!



他にもいろいろ設定があったのですが、ちょっと紹介しきれないくらい奥が深いですね…

ちゃんとベイクしようと思ったらもっといい設定があると思います!


--------------------------------------------------------------------------------

シェルパでは、3DCGや建築パースはもちろん
VRやARアプリの開発も行っています!
新しいことに興味のある方はきっと楽しめると思います!
新人研修も充実していて初心者でも3DCG経験者でも安心!

株式会社シェルパ
【福岡本社】
〒810-0042 福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F 
【東京オフィス】
 〒101-0041 東京都千代田区神田須田町2丁目13-1YKS黒田ビル5F
TEL 092-717-6800 / FAX 092-717-6801

--------------------------------------------------------------------------------

コメント