ReflectionProbe(リフレクション プローブ)
疑似的な反射を再現するためのコンポーネント
項目
- Enabled:
- このコンポーネントを有効にするかどうか。
- ProbeType:
- 動作方式。
0 Baked BakedCubemapを使用する。 1 OnChanges ChangesSourcesに変化があるたびに、キューブマップをレンダリングする。 2 Realtime リアルタイムに、キューブマップをレンダリングする。
- Importance:
- 重要度。(値の大きい方が強い。)
初期値は1。(0以上の値を使用するっぽい。)
複数のリフレクションプローブが重なっているときの優先度を設定できます。
- Intensity:
- 反射強度。
標準値は1。
- BlendDistance:
- 混ぜ具合。
複数のリフレクションプローブが重なっているときのブレンド具合を設定できます。
- BoxSize:
- 影響領域。
- BoxProjection:
- 箱状投影。
Falseだと球状投影されます。
- BakedCubemap:
- キューブマップ。(反射に使用する画像。)
(RealtimeやOnChangesタイプの場合は必要ありません。)
- ChangesSources(list):
- OnChangesタイプのときに使用します。
Add押すと増える。
スロット又はコンポーネントを指定します。(スロットやコンポーネントの項目単体でも指定できます。)
- TimeSlicing:
- キューブマップのレンダリング方式。(RealtimeやOnChangesタイプの時の設定です。)
0 AllFacesAtOnce 6面を同時に撮影。9フレームかけて1つのキューブマップを生成する。 1 IndividualFaces 6面を個別に撮影。14フレームかけて1つのキューブマップを生成する。 2 NoTimeSlicing 6面を同時に撮影。1フレームで全てのキューブマップを生成する。
- Resolution:
- 解像度。
初期値は128。
(リアルタイムで変化が確認できたのは、21~1366の間だけでした。)
(スタティックなら4~1366以上のキューブマップが使えます。)
- HDR:
- ハイダイナミックレンジ。
- ShadowDistance:
- 影の...
編集メモ:これ機能してるの?(調査日:2025/12/28)
- ClearFlags:
- 透明部をどうするか。
0 Skybox スカイボックスで塗りつぶす。 1 Color BackgroundColorで塗りつぶす。
- BackgroundColor:
- 塗りつぶし色。
- NearClip:
- レンダリング開始距離。
初期設定は0.3m。
- FarClip:
- レンダリング終了距離。
初期設定は8192m。(初期設定だと範囲が広過ぎるかも。)
- SkyboxOnly:
- スカイボックスだけレンダリングする。
- ShowDebugVisuals:
- デバッグ表示する。
Trueにすると、BoxSizeとBakedCubemapが表示されます。
- _debugVisual:
- 自動。
デバッグ表示の為に生成されたスロット。
- Bake()
- 同期デリゲートアクション。
Fluxの Method Proxy ノードやButtonActionTriggerコンポーネントで、キューブマップをベイクできる。
- リフレクションプローブをベイク
- キューブマップをベイクする。
生成したキューブマップには、ユーザーやインスペクター等は映りません。
使用例
- ワールド内における擬似的な反射を表現するために使用します。ワールド(アイテムやアバターを含む)の質感を左右する重要な要素です。
- デブツールの「新規作成」→「オブジェクト」から生成可能です。
オブジェクト生成されると、自動的にリフレクションプローブのベイク処理が開始されます。(低スペックPCの場合、ベイク処理に時間がかかることがあります。)
さらに、デバックビジュアルも表示されます。
具体例:その1「普通の部屋(六畳間とか)」
- 部屋の中心にリフレクションプローブを設置。
- BoxSizeを、部屋の大きさと合わせる。
- BoxProjectionを、Trueにする。(任意)
- 家具類の配置が終わったら、ベイク処理を行う。
- IntensityとBlendDistanceの値を、適当に微調節。
具体例:その2「薄暗い部屋のテレビジョン」
- テレビの前(約0.2m)にリフレクションプローブを設置。
- ProbeTypeをRealtimeに変更。
- BoxSizeを、適当に部屋の大きさと合わせる。
- NearClipを、0.1に変更。
- FarClipを、適当に部屋の大きさと合わせる。
- IntensityとBlendDistanceの値を、適当に微調節。
その他
- 負荷に関する誤解について
リフレクションプローブを使用すると「見た目が豪華になる=動作が重くなる」と思われがちですが、Resoniteのワールドでは標準機能として既にリフレクションプローブが組み込まれています。
PBS(物理ベースシェーダー)系のマテリアルも、この反射情報を利用してリアルな質感を表現するように設計されています。
極論を言えば「最初からその負荷が含まれている」状態であるため、適切に配置・設定する分には、これ以上に極端に重くなることはありません(厳密には、生成したキューブマップ画像の容量分、VRAM消費量は増します)。
- リアルタイム設定の負荷について
「Realtime」設定のリフレクションプローブを使用する場合、TimeSlicingを「IndividualFaces」に設定するのが最も軽量です(単純計算で、低解像度カメラ1台分程度の負荷となります)。
逆に、「NoTimeSlicing」(全同時撮影)を大量に使用すると処理負荷が激増します。
用途に合わせて適切な設定をしましょう。
- ReflectionProbeSH2:AmbientLightSH2を駆動し、ワールドの環境光を制御できます。
- ReflectionProbeWizard:ワールド内のプローブを一括でベイクする際に便利です。
- FluxにBakeReflectionprobeノードがあります。