Version: 2019.4
Reflection Probes
リフレクションプローブの使用

リフレクションプローブの種類

リフレクションプローブは、インスペクターの Type プロパティー(詳細については、リフレクションプローブ ページを参照してください。)で選択されたように、3つの基本的なタイプがあります。

  • Baked probes store a reflection cubemap generated (“baked”) within the editor. You can trigger the baking by clicking either the Bake button at the bottom of the Reflection Probe inspector or the Build button in the Lighting window. If you have Auto enabled in the Lighting window then baked probes will be updated automatically as you place objects in the Scene view. The reflection from a baked probe can only show objects marked as Reflection Probe Static in the inspector. This indicates to Unity that the objects will not move at runtime.
  • リアルタイム (Realtime) のプローブは、エディターよりもむしろプレーヤーで、実行時にキューブマップをつくります。これは、リフレクションは静的オブジェクトに限定されず、シーンの変化を表示するためにリアルタイムで更新すできることを意味します。しかし、プローブのビューをリフレッシュするために、かなりの処理時間がかかります。だから、慎重に更新を管理するのが賢明です。Unity は、それらが発生したとき、正確に制御することができるので、スクリプトから更新をトリガすることができます。また、数フレームかけて徐々にプローブを更新することができるように timeslicing を適用するオプションがあります。
  • カスタム (Custom) のプローブタイプも使用可能です。これらのプローブを使用すると、ベイクしたプローブと同様に、エディターでビューをベイクします。しかし、リフレクション用のカスタムキューブマップを供給することができます。カスタムプローブは、実行時に更新することはできません。

その3つのタイプを、以下に詳細に説明します。

Baked と Custom リフレクションプローブ

Baked リフレクションプローブは、そのリフレクションキューブマップが Unity のエディターでキャプチャーされ、プレイヤーの後続の使用のために保存されているものです(詳細は、リフレクションプローブを参照してください)。キャプチャプロセスが完了すると、リフレクションが “frozen” されるので、baked プローブは、移動しているオブジェクトに起因するシーンの変化を実行時に反応することができません。しかし、(変化に反応すると) Realtime プローブよりもはるかに低い処理オーバーヘッドがついてきます。多くの目的のために許容できます。たとえば、一つの移動する反射するオブジェクトだけがある場合、それは静的な環境を反映しなければならないだけです。

Baked プローブの使用

Baked プローブとして動作させるために、プローブの Type プロパティーを Baked または Custom に設定する必要があります(カスタムプローブによって提供される付加的な機能については以下を参照してください)。

Baked プローブによってキャプチャーされたリフレクションは、Reflection Probe Static としてマークされたシーンオブジェクトを含むことができるだけです(すべてのオブジェクトのインスペクターパネルの左上にある Static メニューを使用) 。さらに、Culling MaskClipping Planes プロパティーを使って、リフレクションキューブマップに含まれるオブジェクトを絞り込むことができます(プローブは、基本的に6つのキューブマップ面のそれぞれを表示するために回転させるカメラのようなものです)。

When the Auto option is switched on (from the Lighting window, the baked reflections will update automatically as you position objects in the scene. If you are not making use of auto baking then you will need to click the Bake button in the Reflection Probe inspector to update the probes. (The Build button in the Lighting window will also trigger the probes to update.)

自動または手動のベイクを使うかどうかにかかわらず、エディターで作業を続ける間、ベイク処理は非同期に行われます。しかし、任意の静的オブジェクトを移動する場合、それらのマテリアルを変更したり、あるいは、他の方法でそのビジュアルの外観を変更してください。その後、ベイク処理は再開されます。

Custom プローブ

デフォルトでは、カスタムプローブは、ベイクしたプローブと同じように動作しますが、これらにはまた、動作を変更する追加のオプションがあります。

カスタムプローブのインスペクター上の Dynamic Objects プロパティーで、Reflection Probe Static としてマークされていないオブジェクトは、リフレクションキューブマップに含めることができるようになります。しかし、ベイクしている際、リフレクションにおいて、これらのオブジェクトのポジションが、まだ、“frozen” であることに注意してください。

Cubemap プロパティーを使用すると、プローブに独自のキューブマップを割り当てることができます。したがって、そのビューポイントから “見る” ことができるものとそれは完全に独立しています。リフレクションのためのソースとして、3D モデリングアプリケーションから生成されたスカイボックスやキューブマップを設定し、これを使用することができます。

Realtime プローブ

Baked プローブはさまざまな場面で有用であり、優れた実行時のパフォーマンスを持っていますが、それらは、プレイヤー内のライブを更新しないという欠点があります。これは、オブジェクトは、そのリフレクションは彼らと一緒に移動することなく、シーン内を移動できることを意味します。これがあまりに制限的である場合、Realtime プローブを使うことができます。そして、それは実行時にリフレクションキューブマップを更新します。このエフェクトは、かなり大きな処理のオーバーヘッドになりますが、よりリアリズムを提供します。

Realtime プローブの使用

実行時に更新するために、プローブを有効にするには、リフレクションプローブ インスペクターで Realtime への Type プロパティーを設定する必要があります。(Baked プローブと同じように)そのリフレクションをキャプチャーするために Reflection Probe Static としてオブジェクトをマークする必要はありません。ただし、カメラ の場合と同じ方法で動作する Culling MaskClipping Planes プロパティーを使用し、リフレクションキューブマップからオブジェクトを選択的に除外することができます。キューブマップからオブジェクトを選択的に除外することができます(プローブは、基本的に6キューブマップ面のそれぞれを見るために回転させるカメラのようなものです)。

In the editor, realtime probes have much the same workflow as baked probes, although they tend to render more quickly. When the Auto option is switched on (from the Lighting window, the reflections will update automatically as you position objects in the scene. If you are not making use of auto baking then you will need to click the Bake button in the Reflection Probe inspector to update the probes. (The Build button in the Lighting window will also trigger the probes to update.)

自動または手動のベイクを使うかどうかにかかわらず、エディターで作業を続ける間、ベイク処理は非同期に行われます。しかし、任意の静的オブジェクトを移動する場合、それらのマテリアルを変更したり、あるいは、他の方法でそのビジュアルの外観を変更してください。その後、ベイク処理は再開されます。

Note: Currently, realtime probes will only update their reflections in the Scene view when Reflection Probe Static objects are moved or change their appearance. This means that moving dynamic objects will not cause an update even though those objects appear in the reflection. You should choose the Bake Reflection Probes option from the Build button popup on the Lighting window to update reflections when a dynamic object is changed.

Reflection Probes
リフレクションプローブの使用