Position (Depth)
メニューパス : Operator > Sampling > Position (Depth)
Position (Depth) Operator は、カメラの深度バッファをサンプリングして、ワールド空間における位置を取得します。この深度情報は、パーティクルをシーンに投影するために使うことができます。
Operator 設定
| 設定 | Type | 説明 |
|---|---|---|
| Camera | Enum | どのカメラの深度をサンプリングするかを特定します。オプションは以下の通りです。 • Main: MainCamera タグが付いた、シーン内の第一カメラを使います。 • Custom: Camera ポートで特定するカメラを使います。 |
| Mode | Enum | Operator が深度バッファをサンプリングする際に使うメソッドを特定します。オプションは以下の通りです。 • Random: 0 と 1 間のランダム UV 値を使って、深度バッファをサンプリングします。 • Sequential: ParticleID 属性と Grid Step プロパティの値に基づいて、UVを選択します。すべての Grid Step ピクセル数に対して、順次位置をサンプリングします。 • Custom: UV Spawn プロパティで、UV を手動で特定できます。 |
| Cull Mode | Enum | サンプリングされた位置に適用するフィルターを特定します。フィルターを使うと、出力プロパティ isAlive が、サンプリングされた位置が有効かそうでないかを説明します。オプションは以下の通りです。 • None: フィルターは使いません。 • Far Plane: サンプリングされた位置がファー面にある場合、このオプションは isAlive を false に設定します。• Range: サンプリングされた位置が有効かどうかを決定する、Depth Range を特定できます。サンプリングされた位置が Depth Range 外にある場合、このオプションは isAlive を false に設定します。 |
| Inherit Scene Color | bool | (インスペクター) Operator が、深度バッファ位置だけでなく、カメラのシーンから位置情報を出力するかどうかを特定します。 |
Operator プロパティ
| プロパティ | Type | 説明 |
|---|---|---|
| Camera | Camera | 使用するカメラです。 このプロパティは、Camera を Custom に設定したときのみ表示されます。 |
| Z Multiplier | float | サンプリングした深度位置をオフセットする、乗数です。パーティクルをシーンに投影する際に、z-fighting/オーバーラップ問題を回避するために使うことができます。 |
| Grid Step | uint | Operator がピクセルで深度バッファをサンプリングする際に使う、グリッドのサイズです。これは particleID に基づいており、Operator はピクセルの各ストリップに対して、順次位置をサンプリングします。 このプロパティは、Mode を Sequential に設定したときのみ表示されます。 |
| UV Spawn | Vector2 | Operator が手動で深度バッファをサンプリングする際に使う、UV です。 このプロパティは、Mode を Custom に設定したときのみ表示されます。 |
| Depth Range | Vector2 | サンプリングされた位置に有効な深度範囲です。サンプリングされた位置がこの範囲内にあれば、isAlive プロパティは true で、そうでない場合は false になります。これはサンプリングされた位置のフィルタリングを可能にします。このプロパティは、Cull Mode を Range に設定したときのみ表示されます。 |
出力プロパティ
| プロパティ | Type | 説明 |
|---|---|---|
| Position | Position | カメラの深度バッファサンプルの、ワールド空間位置です。 |
| color | Color | カメラのシーンカラーバッファサンプルの色です。 このプロパティは、Inherit Scene Color を有効にしたときのみ表示されます。 |
| isAlive | bool | サンプリングされた位置が Cull Mode 設定で有効かどうかを特定します。 • Far Plane: サンプリングされた位置がファー面にある場合は false で、そうでなければ true です。• Range: サンプリングされた位置が有効な Depth Range 外にある場合は false で、そうでなければ true です。このプロパティは、Cull Mode を Far Plane または Range に設定したときのみ表示されます。 |
制限
深度バッファサンプリングは現在、High Definition Render Pipeline でのみ利用可能で、Universal Render Pipeline では使えません。