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