(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発した新作VRソフトです!


ライトプローブを3Dモデルに合わせて自動で配置するMagic Light Probes【Unity】【アセット】【ライティング】


このエントリーをはてなブックマークに追加


この記事でのバージョン
Unity 2019.4.14f1
Magic Light Probes 1.93


はじめに

今回はライトプローブを自動で迅速かつ正確に配置するMagic Light Probesというアセットの紹介です!

Magic Light Probes はライトプローブを自動モードで可能な限り迅速かつ正確に配置できるように設計されたエディター拡張機能です。

Magic Light Probes | Utilities Tools | Unity Asset Store


イメージとしては以下のような感じで、

3Dモデルに合わせて自動でライトプローブの設定をしてくれる感じです。

f:id:kan_kikuchi:20210517064926j:plain


なお、記事中の画像は以下のアセットを使っております。

Dark City2 - Cyberpunk Pack | 3D Sci-Fi | Unity Asset Store



Magic Light Probes

さっそくMagic Light Probesの使い方ですが、まず上部メニューの

Tools/Magic Tools/Magic Light Probes/MLP Managerを選択し、

f:id:kan_kikuchi:20210516162202j:plain


MLP Managerというウィンドウを開いたら、Add Volume…というボタンを押します。

f:id:kan_kikuchi:20210516162926j:plain


するとHierarchyにMagic Toolsというオブジェクトが作成されるので、

その下にあるMLP Group 0 VolumeというオブジェクトのPositionやScaleを調整して

ライトプローブを配置したい範囲を設定します。(Scene上の黄色い四角を直接操作する事も可能)

f:id:kan_kikuchi:20210516162935j:plain


さらにMLP Group 0というオブジェクトを選択し、Inspectorを見ると

Drag & Drop Objects Hereという物が表示されるので、

ここに床に該当するオブジェクトをドラック&ドラップして設定します。

なお、床に該当するオブジェクトが無い場合はUse Volume Bottomにチェックを入れます。

(先程設定したMLP Group 0 Volumeの下部が床扱いになる感じ)

f:id:kan_kikuchi:20210516162955j:plain


またThe main volume contains too many sub-volumes.

というエラーが表示された場合は、マップが広く配置するライトプローブが多過ぎるので、

f:id:kan_kikuchi:20210516163004j:plain


その上の項目の数値を調整してエラーが出ないようにします。

(とりあえず数値を大きめにして、何度かライトプローブを作って調整する感じ)

f:id:kan_kikuchi:20210516163020j:plain


なお、デフォルトの状態だとDefaultのレイヤーのモデルしか考慮しないので、

他のレイヤーも考慮したい場合はCollision Detection Layersを変更します。

f:id:kan_kikuchi:20210516163030j:plain


また、ライトプローブ配置時はStaticなオブジェクトしか考慮されないのですが、

Staticなオブジェクトであっても、親がStaticでない場合は考慮されない点には特に注意が必要です。

(Staticでないオブジェクトが計算時に一旦全部非表示になる感じ)

f:id:kan_kikuchi:20210516163102j:plain


諸々の設定が終わったらCalculate Probes Volumeで計算開始します。

f:id:kan_kikuchi:20210516163110j:plain


あとは計算が終わるのを待つだけ。なお、Inspector上で計算の進捗が分かります。

f:id:kan_kikuchi:20210516163124j:plain


そして計算が終わるとMLP Combined Volumeというオブジェクトにライトプローブが設定されます。

f:id:kan_kikuchi:20210517070215j:plain