Unityな日々(Unity Geek)

Unityで可視化アプリを開発するための試行錯誤の覚書

LightProbeを設定する

ライトプローブ(Light Probe)とは空間内にあるライトの情報を保存(ベイク)しておくテクニック。Lightmapは静的なオブジェクトには有効だが、動的なオブジェクトだと不自然さが生じる。Light ProbeはLight Mapほどの精度はないが、動的なオブジェクトも低いコストでベイク処理が可能となる。
Light Probeでは、シーン中にライトの情報を持たせた"Probe"を複数配置し、任意の位置の情報は近くのProbeを補間して求めると言う方法で照明の状態を近似する。
参考:Unity - Light Probes

次のシーンにLightProbeを適用する手順
f:id:yasuda0404:20120909152009p:plain

ヒエラルキービューで、LightProbeを適用するObjectを選択。Mesh Renderer で、'Use Light Probes'にチェックを入れる。
f:id:yasuda0404:20120909152134p:plain

空のGameObjectを作り、
f:id:yasuda0404:20120909152208p:plain

そのGameObjectを選択した状態で、Component-Rendering-Light Probe Group で、Light Probe Groupコンポーネントをアタッチする。
f:id:yasuda0404:20120909152305p:plain

Light Probe Groupコンポーネントで"Add Probe"ボタンをクリック。シーンビューに黄色の球=Light Probeが表示される。Light Probeを適当な位置に移動する。
f:id:yasuda0404:20120909154125p:plain

"Add Probe"とProbeの移動を繰り返して、シーン上にLight Probeを配置していく。
f:id:yasuda0404:20120909154135p:plain

シーンにライトを配置する。シャドウを付けたい場合は、Inspectorで'Hard Shadow'または'Soft Shadow'を選択する。
f:id:yasuda0404:20120909155518p:plain

メニュー、Window-Lightmappingを選択し、Lightmappingウィンドウを表示する。操作ごとにウィンドウが消えてしまわないように、Lightmappingウィンドウはフローティングではなく、エディター内に組み込んでおくと便利。
f:id:yasuda0404:20120909154900p:plain

LightProbeを適用するObjectをシーンビューで選択し、Lightmappingウィンドウで’Lightmap Static'にチェックを入れていく。
f:id:yasuda0404:20120909155047p:plain
この作業は、ObjectのInspetorビューの右上で、'lightmap static'を選択することでも行える。
f:id:yasuda0404:20120909160219p:plain

’Bake Probes' ボタンを選択してBakeする。
f:id:yasuda0404:20120909155105p:plain

LightProbeがBakeされた状態
f:id:yasuda0404:20120909155122p:plain