リフレクションプローブは、インスペクターの Type プロパティ (詳細については、リフレクションプローブ ページを参照) で選択する 3 つの基本的なタイプがあります。
上記の 3 タイプの詳細を説明します。
ベイクした リフレクションプローブは、そのリフレクションキューブマップが Unity のエディターでキャプチャされ、プレイヤーで後に使用するために保存されます (詳細は、リフレクションプローブ - はじめに を参照してください)。キャプチャ処理が完了するとリフレクションが固定化されるので、ベイクしたプローブは、移動するオブジェクトによるシーンの変化をランタイムに反映することができません。ただし、ベイクしたプローブは、リアルタイムプローブ (変化の反映可) よりも処理オーバーヘッドがはるかに低くなり、多くの目的のために使用できます。例えば、1 つの移動する反射オブジェクトだけがある場合、静的な環境の反映のみを必要とします。
ベイクしたプローブとして動作させるために、プローブの Type プロパティを Baked または Custom に設定する必要があります (カスタムプローブによって提供される付加的な機能については以下を参照してください)。
ベイクしたプローブによってキャプチャされたリフレクションには、Reflection Probe Static としてマークされたシーンオブジェクトのみを加えることができます (オブジェクトのインスペクターの左上にある Static メニューを使用)。さらに、Culling Mask と Clipping Planes プロパティを使って、リフレクションキューブマップに加えるオブジェクトを絞り込むことができます (プローブは、基本的に 6 つのキューブマップ面のそれぞれを表示するために回転するカメラのようなものです)。
Auto オプションをオンの場合 (Lighting ウィンドウ から)、シーンにオブジェクトを配置すると ベイクしたリフレクションが自動的に更新されます。自動ベイクを使用しない場合は、Reflection Probe インスペクターの Bake ボタンをクリックする必要があります。(Lighting ウィンドウの Build ボタンもプローブの更新を始動します)。
自動または手動のベイクを使うかどうかにかかわらず、エディターで作業を続ける間、ベイク処理は非同期に行われます。ただし、静的オブジェクトを移動したり、それらのマテリアルを変更したり、あるいは、他の方法でその外観を変更すると、ベイク処理が再開されます。
デフォルトでは、カスタムプローブはベイクしたプローブと同じように動作しますが、動作を変更する追加のオプションもあります。
カスタムプローブのインスペクターの Dynamic Objects プロパティを使うと、Reflection Probe Static としてマークされていないオブジェクトを、リフレクションキューブマップに加えることができます。ただし、これらのオブジェクトの位置は、ベイクする際、リフレクション内で固定であることに注意してくださ。
Cubemap プロパティを使用すると、プローブに独自のキューブマップを割り当てることができます。したがって、その視点から “見る” ことができるものと完全に独立しています。これを利用して、例えば、リフレクションのためのソースとして、3D モデリングアプリケーションから生成されたスカイボックスやキューブマップを設定することができます。
ベイクしたプローブはさまざまな場面で有用であり、ランタイムのパフォーマンスが優れていますが、それらは、プレイヤー内をリアルタイムで更新しないという欠点があります。つまり、オブジェクトのリフレクションが一緒に移動しなくても、オブジェクトはシーン内を移動できます。これがあまりに制約となる場合は、リアルタイム プローブを使うことができます。リアルタイム プローブはランタイムにリフレクションキューブマップを更新します。この効果は、より高い処理オーバーヘッドとなりますが、よりリアルな外観を実現できます。
プローブがランタイムに更新できるようにするには、Reflection Probe インスペクターで Type プロパティを Realtime に設定する必要があります。(Baked プローブで行うように)、リフレクションをキャプチャするために Reflection Probe Static としてオブジェクトをマークする必要はありません。ただし、カメラにするのと同じように、Culling Mask と Clipping Planes プロパティを使用し、リフレクションキューブマップからオブジェクトを選択的に除外することができます (プローブは、基本的に 6 つのキューブマップ面のそれぞれを表示するために回転するカメラのようなものです)。
エディターでは、リアルタイムプローブはベイクしたプローブとほとんど同じワークフローですが、レンダリングはより速くレンダリングされる傾向があります。 Auto オプションをオンにすると (Lighting ウィンドウ から)、シーンにオブジェクトを配置するとリフレクションが自動的に更新されます。 自動ベイクを使用しない場合は、リフレクションプローブインスペクターの Bake ボタンをクリックする必要があります。プローブを更新します (Lighting ウィンドウの Build ボタンもプローブの更新をトリガーします)。
自動または手動のベイクを使うかどうかにかかわらず、エディターで作業を続ける間、ベイク処理は非同期に行われます。ただし、静的オブジェクトを移動したり、それらのマテリアルを変更したり、あるいは、他の方法でその外観を変更すると、ベイク処理が再開されます。
ノート: 現在、リアルタイムのプローブは、Reflection Probe Static オブジェクトを移動したり、見た目を変えたときのみに、シーンビューのリフレクションを更新します。つまり、移動するダイナミックオブジェクトは、リフレクションに表示されていても、更新は発生しません。ダイナミックオブジェクトが変更されたときにリフレクションを更新するためには、Lighting ウィンドウ 上にポップアップする Build ボタンから Bake Reflection Probes オプションを選ぶ必要があります。