はじめに
Unityのマテリアルは、MetalicやSmoothnessを変更することで金属のような見た目に変えることができますが、周囲のものは映り込みません。
これを写り込むようにできるのが、Reflection Probeという機能になります。
金属や鏡だけでなく、リアルな光の反射を表現できるので、部屋や暗いところのライティングをリアルにするのにも役立ちます。下の例では、全体的に明るくなっていたのが、Reflection Probeによってメリハリが出るようになっています。
部屋のモデルはこちらのアセットのデモシーンを使用しました。
↓Reflection Probe無し
↓Reflection Probe有り
Reflection Probeの使い方
Reflection Probeの作成
まずは、Hierarchy > Light > Reflection Probeから、Reflection Probeを作成します。
すると、立方体と灰色の球体が現れました。
真ん中の球体は、この位置から見た周囲の様子が反射として反映されることになります。
部屋に置く場合は部屋の真ん中など、オブジェクトが重なって見えない場所に移動しましょう。
鏡の場合は、鏡と同じ座標に置くとうまくいきました。
立方体の範囲内で反射を計算します。大きさや位置はインスペクターのBox Size、Box Offsetから、指定することができます。
反射マテリアルの作成
反射させるマテリアルを作成します。Smoothnessの値を大きくするほど、鏡のように映り込みます。
色はわかりやすいように黒にしました。壁が鏡のように反射させるように、壁にマテリアルを設定してみます。
ボールは反射したことがわかりやすいように適当に置いてみました。
Static設定
写り込ませたいオブジェクトはStaticにチェックを入れておきましょう。
ベイクの実行
Box Projectionは、視点の移動を考慮した反射をしてくれるようになるので基本的にチェックを入れておきましょう。
Reflection Probeのインスペクターに戻り、Bakeをクリックします。
完成
反射されるようになりました!
Reflection ProbeのIntensityから鏡の明るさを変えられるので、暗ければ値を大きくしましょう。マテリアルもsmoothnessを変えてみて、ベイク後でも見え方の調整ができます。
おわりに
Reflection Probeの使い方でした!smoothnessを変えることで、鏡以外のオブジェクトも光の当たり方がリアルになるので、ぜひ試してみましょう。