カリング距離ボリューム (Cull Distance Volume)

カリング距離ボリュームを使用して、指定した距離とアクタのサイズに応じてレベル内のアクタをカリングする方法の概要を示します。

Choose your operating system:

Windows

macOS

Linux

カリング距離ボリューム (Cull Distance Volume) とは、ボリューム内でアクタを描く (表示する) 距離を定義する、非常に便利な最適化ツールです。 このボリュームには様々なサイズと距離の組み合わせを保存でき、これらは カリング距離ペア (Cull Distance Pairs) と呼ばれます。 これらのペアはアクタの境界の最長寸法に合わせて境界にマップされ、レベル内のそのアクタのインスタンスに割り当てられます。 カリング距離ボリュームは、詳細なインテリアを含む広大な屋外のレベルを最適化する際に最も役に立ちます。 これらのインテリアは、小さくて重要でないと判断された場合にカリング、つまり描画されなくなります。

設定および使用方法

カリング距離ボリュームはエディタの [Place Actors] パネルからレベルに加えることができ、スケーリングすることでレベルに合わせることができます。

AddCDVToWorld.png

カリング距離 のペア配列にアクセスするには、ボリュームを選択した状態で [Details (詳細)] パネルを使用します。 それぞれのカリング距離ペアには、 [Size (サイズ)] および [Cull Distance (カリング距離)] の値が含まれています。 プラス ( + ) 記号をクリックすると、新しいカリング距離ペアが配列要素リストの末尾に追加されます。

AddCDVPairs.png

デフォルトでは 2 つの カリング距離 ペアが設定されています。一つは、最初のエントリとして編集できるようにサイズと距離が指定されていない状態のものです。もう一つは、10,000 単位より大きいオブジェクトはカリングされない設定になっています。カリング距離が「0」に設定されているためです。大きなカリング距離ペアを設定することで、大きなビル群や山など、遠くにあるオブジェクトがカリングされないようにすることができます。

カリング距離ペアを挿入、削除および複製する

カリング距離ペアの要素を挿入、削除または複製するには、各配列要素の隣にあるドロップダウンを使用します。

EditCDVPairs.png

  • [Insert (挿入)] は、選択した要素の上に新しいカリング距離ペアを追加します。

  • [Delete (削除)] は、既存のカリング距離ペアの要素をリストから削除します。

  • [Duplicate (複製)] は、選択したカリング距離ペアを下の新しい配列要素にコピーします。

カリング距離の配列要素はいくつでも好きなだけ維持することができ、正しく機能させるための特定の順序などの要件もありません。

シーンの例および設定

Infinity Blades Grasslands プロジェクトを使用したこの例には、様々なサイズのオブジェクトをカメラ位置からカリングするよう設定されたカリング距離ペアがいくつか含まれています。

この例で使われている設定は、カリング距離ペアがどのようにレベル内のアクタと機能するかを明確に示すために、やや極端になっています。 この例で突然のように「ポップアップ」して現れるオブジェクトについては、追加のペア値を設定し、テスティングを行うことで解決できます。

この例では、次の値を使用して、それぞれのカリング距離とサイズを定義しています。

ExampleSceneCDVValues.png

  • ボリューム内にある 「200」 単位に最も近いサイズのオブジェクトは、カメラから 「1,000」 単位以上離れると画面からカリングされます。

  • ボリューム内にある 「500」 単位に最も近いサイズのオブジェクトは、カメラから 「2,000」 単位以上離れると画面からカリングされます。

  • ボリューム内にある 「1,000」 単位に最も近いサイズのオブジェクトはカリングされません。 この設定により非常に大きいオブジェクトは無限遠として扱われ、カメラが十分に遠ざかることができないため、カリングされることはありません。

カリング距離ペアを設定する際は、以下に注意してください。

  • カリング距離ペアの配列は線形補正されない。

    • これはダミーのペアを使用する必要はなく、オーバーラップするカリング距離ペアがある場合は、エンジンによって最も積極的な (0 より大きく最も低い) 設定が選ばれてアクタに割り当てられることを意味します。

  • 必要に応じていくつでもカリング距離ペアを維持できる。

    • それぞれのペアを特定の順序 (値の高いものから低いものなど) で並べると管理しやすくなりますが、必須ではありません。

    • 新しいペアを追加する際は、 [Insert] ドロップダウンを使って後にいつでもペアを追加できることに留意してください。

  • カリング距離ペアは、そのサイズに最も近い境界の直径を持つアクタに割り当てられる。 カリング距離ペアの値に基づく割り当て先のキャッシュ済み描画距離グループを調べるには、アクタの [Current Max Draw Distance (現在の最大描画距離)] を使用します。

次は、推奨されるペア値の設定です。これを基礎として、プロジェクトに応じて調整してください。

ExampleScene_SuggestedPairValues.png

ベスト プラクティス

次は、効果的な結果を得るための推奨事項です。

  • レベル全体を 1 つのカリング距離ボリュームで覆う。

    • レベル内のほとんどを対象とする様々なカリング距離ペアを含めましょう。

    • ボリューム内の各領域については、追加のカリング距離ボリュームを使用して、より積極的にカリングを制御することができます。

  • カリング距離ペアを設定する際は、大きめなサイズと距離の設定から始めて、適切な最大値と最小値を判断していく。

    • レベル ビューポートを「ゲーム」ビューで表示し、レベル内を動き回って、突然「ポップアップ」するオブジェクトがないか確認しましょう。

    • 必要に応じて修正を加え、必要であれば既存のものに加えて新しいカリング距離ペアを作成しましょう。 問題のあるアクタがある場合はそれを選択して、その [Cached Cull Distance (キャッシュ済みカリング距離)] を使用し、一部のアクタに適用されているカリング距離ペア グループがどれであるかを調べてください。

  • カリング距離ペア グループは、個別のアクタの [Max Draw Distance (最大描画距離)] よりも低い場合にのみ使用されることに留意する。

  • カリング距離ボリュームによるカリングの対象とすべきでないアクタがある場合は、そのアクタの [Details] パネルで [Allow Cull Distance Volume (カリング距離ボリュームを許可)] を無効にする。

    • このオプションを無効にすべきアクタが多数ある場合は、最後のカリング距離ペアを「カリングするには大きすぎるもの」向けの設定として、 [Size] に非常に大きい値を設定し、 [Cull Distance] には 「0」 を設定することを検討してください。 これにより、山やビル群など非常に大きいオブジェクトがカリングされることを回避できます。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる