カリングの設定¶
Kanzi レンダーパスでは、カリングプロパティを設定することで、アプリケーション内のメッシュのパフォーマンスを最適化できます。
カルモードの設定¶
デフォルトで、Kanzi はアクティブなカメラから離れる方向を向いている法線を持つポリゴンを3Dコンテンツでカリングします。これを上書きするには、Pipeline State Render Pass でカリングモードを設定できます。
カルモードを設定するには:
Library > Rendering > Render Pass Prefabs で Pipeline State Render Pass を作成するか、既存の Pipeline State Render Pass を選択します。レンダーパス (Render Passes) を参照してください。
Pipeline State Render Pass で、カリングしたいノードを描画するために使用するレンダーパスを作成します。
例えば、Clear Render Pass、Gather Lights Render Pass を作成し、Gather Lights Render Pass の中に Draw Objects Render Pass を作成します。
フィルタを使用して、レンダリングする特定のノードを収集できます。フィルタ を参照してください。
Library で Pipeline State Render Pass を選択し、Properties で Cull Mode プロパティを次のように設定します:
Back は、アクティブなカメラから離れる方向を向いている法線を持つポリゴンを Kanzi がレンダリングしないようにします。これは Cull Mode プロパティのデフォルト値です。Pipeline State Render Pass で Cull Mode プロパティを設定しない場合、Kanzi は最も近い先祖の Pipeline State Render Pass で設定されたプロパティの値を使用します。先祖の Pipeline State Render Pass がない場合、Kanzi はデフォルト値を使用します。
Front がアクティブカメラに向かっている法線を持つポリゴンをレンダリングしないように Kanzi を設定します。
カリングを無効にするには None
作成したレンダーパスを使用できるようにします。
Node Tree で、レンダリングしたいコンテンツを含む Viewport 2D ノードを選択します。
Properties で、Render Pass Prefab プロパティを Pipeline State Render Pass または作成した Pipeline State Render Pass を含むレンダーパスプレハブに設定します。
錐台カリングの制御¶
カメラのビュー錐台の外に多くのメッシュがある場合は、フラスタムカリングを使用してください。ビュー錐台はアクティブなカメラに見えるボリュームであり、バウンディングボリュームがビュー錐台をクリップするノードを含みます。フラスタムカリングを使用すると、メッシュのカリングに費やすGPU時間をCPU時間と交換することができます。
錐台カリングを制御するには:
Library で、メッシュのレンダリングに使用する Draw Objects Render Pass を選択し、フラスタムカリングを設定します。レンダリング を参照してください。
Properties に Frustum Culling プロパティを追加して有効にします。
この方法では、Kanzi がビューの視錐台の外にあるメッシュをレンダリングしません。
(オプション) Node Tree で、フラスタムカリングを設定したいメッシュを含むノードを選択し、Properties で
をクリックし、Frustum Cull Margin プロパティを追加して、カリングしたくないノードの周囲のスペースの量を設定します。たとえば、これはバーテックスシェーダーがノード (バーテックススキンノードなど) のジオメトリを大幅に変更する場合に役立ちます。
フラスタムカリング設定が意図した通りに機能しているか確認するには、Preview で
をクリックして Analyze モードに入り、
を右クリックし、Performance HUD を選択して、カリングを制御したいノードからカメラを遠ざけます。ノードに対してカリングが発生しなくなると、Batch Count の値が下がります。