LOD を使うと、エフェクト アーティストはプレイヤーの範囲に合わせてスクリーン スペースを最も効率よく使用するパーティクル エフェクトを作成することができます。キャンプ ファイアーのパーティクル システムを考えてください。次のようなエミッタが含まれています。
- 炎心
- 外炎
- コアの発光
- 火花と燃えさし
- 一層以上の煙
詳細表示するとこのようなものが表示されます。

ただし、プレイヤーが遠ざかっていくと、スクリーン スペースは以下のように小さくなります。

これは、燃えさしなどパーティクル システムのアスペクトがレンダリングには小さすぎる (ピクセルより小さい) ためです。しかしながら、このようなパーティクルでも計算や処理は可能です。そこで LOD の出番です。LOD はパーティクル システムを距離に合わせて簡素化することが可能なので、プレイヤーがエフェクトを効果的に認識するには遠すぎる状態になると、システム内のエミッタとモジュールは設定を終了、または完全にオフにすることができます。
本ドキュメントでは、詳細度 (LOD) に関して、インゲームでの使用方法に加えてお使いのパーティクル システムでの作成方法について記述します。
カスケードによる LOD の制御
カスケード ツールバーの以下の部分が LOD 制御に関わります。
カスケードの LOD コントロール

各コントロールの詳細です。
ボタン | 名前 | 説明 |
---|---|---|
![]() |
Regenerate Lowest LOD Duplicating Highest Button | [Regenerate Lowest LOD Duplicating Highest] ボタンを押すと、パーティクル システムは既存の LOD のうち低い方のレベルをすべて消去し、最高レベルの完全コピーを最低レベルとして新たに生成します。 |
![]() |
Regen Lowest LOD Button | [Regen Lowest LOD] ボタンを押すと、パーティクルシステムは既存する LOD のうち低い方のレベルをすべて消去し、最低レベルを生成し直します。 |
![]() |
Jump to Lowest LOD Button | [Jump to Lowest LOD] ボタンを押すと、システムは使用可能な最低静的 LOD に設定されます。 |
![]() |
Jump to Lower LOD Button | [Jump Lower to LOD] ボタンを押すと、現在の LOD 設定の次に低い使用可能な静的 LOD に設定されます。 |
![]() |
Add LOD before current Button | [Add LOD before current] ボタンを押すと、システムは現在ロードされた LOD の前に新しい静的 LOD レベルを挿入します。 |
![]() |
Current LOD | Current LOD Info Box には、パーティクル システム内に存在する LOD 数および現在ロードされている LOD に関する情報があります。 |
![]() |
Add LOD after current Button | [Add LOD before current] ボタンを押すと、システムは現在ロードされた LOD の後ろに新しい静的 LOD レベルを挿入します。 |
![]() |
Jump to Higher LOD Button | [Jump to Higher LOD] ボタンを押すと、現在の LOD 設定の次に高い使用可能な静的 LOD に設定されます。 |
![]() |
Jump to Highest LOD Button | [Jump to Highest LOD] ボタンを押すと、パーティクルシステムは使用可能な最高レベルの静的 LOD に設定されます。 |
![]() |
Delete LOD Button | [Delete LOD] ボタンを押すと、現在選択されている静的 LOD レベルがパーティクル システムから削除されます。 |
パーティクル システムにおける LOD レベルの作成
このセクションでは、LOD の完全サポートを備えたパーティクル システム作成を目指して設計されたデザインフローについて説明します。プロセスの概要は以下のように分類できます。
- 全体的に見て望ましいエフェクトを作成します。これが最高レベルの LOD です。
- 次に、最低レベルの LOD を作成します。
- 高品質から低品質への遷移を滑らかにするため、2 つの間に別の LOD レベルを追加します。
最高 LOD レベルでの編集作業中は、モジュールは追加 / 削除しかできません。
この例では、SubUV を 1 つ使います。SubUV の座標 0 が 1 、座標 1 が 2 を示すように設定します。テクスチャを適用すると以下のように見えます。

最高 LOD レベルを設定します。
最高 LOD レベル

デザイナーがパーティクル システムの LOD 作成準備ができたと判断した時点で [Regenerate Lowest LOD (最低 LOD を作成)] を選択してください。これにより、最低 LOD レベルが再生成されます。(同時に、その間に作成されていた静的 LOD レベルが削除されます。)現在のところ、このメニュー項目は最高 LOD レベルの複製を作成し、そのスポーンレートを下げるだけですが、
最低 LOD レベルを選択してから、適切な外観を得るために値の調整を開始します。ここで注意しなければならないのは、デフォルトでは静的 LOD レベル内のすべてのモジュールが 編集不可能である とマークされている点です。これは、モジュール背景のマーブル模様により示されています。
最高 LOD から見たモジュール | 最低 LOD から見たモジュール |
---|---|
![]() |
![]() |
静的 LOD レベル内のモジュールを編集するには、これを有効にする必要があります。モジュールを 右クリック してコンテキスト メニューから [Duplicate from Higher (より高い LOD から複製)] を選択します。
以下は利用可能なオプションの動作説明です。
オプション | 説明 |
---|---|
Duplicate from Higher | 次に高い LOD から設定をコピーしてモジュールを編集可能にします。 |
Share from Higher | 次に高い LOD と設定を共有してモジュールを編集可能にします。つまり、一方への編集が自動的にもう一方への編集になります。 |
Duplicate from Highest | 最高 LOD から設定をコピーしてモジュールを編集可能にします。 |
この例では、SubImage Index モジュールを編集するために有効にし、そのインデックスを 3 に設定します。この結果、下の図のようにエミッタには 4 がイエローで表示されます。
最低 LOD レベル

スポーンレートが最高 LOD レベルの 10% に自動的に設定されている点に注意してください。
次のステップでは、[Add LOD before current (現在位置の直前に LOD を追加)] ボタンを押して最高レベルと最低レベルの間に静的 LOD を追加します (まだ最低 LOD のビューを見ているものとします)。SubImage Index モジュールが有効になり、そのインデックスが 1 に設定されます。この結果、下の図のようにエミッタには 2 がブルーで表示されます。
LOD レベル 1

最初の静的 LOD と最低 LOD の間にある別の静的 LOD にも同じ手順を行います。[Add LOD after current (現在位置の直後に LOD を追加)] ボタンを押し SubImage index モジュールを有効にしします。SubImage Index が 2 に設定され、下の図のようにエミッタには 3 がグリーンで表示されます。
LOD レベル 2

LOD Method と LOD Distance の設定
インゲームでのパーティクル システムの LOD 制御は何通りかの方法で行うことができます。それぞれのパーティクル システムにある LODMethod と呼ばれる列挙型変数がこのモードを決定する方法を提供し、LOD 距離の処理方法を順番に制御します。
次の図はパーティクル システム サンプルのプロパティ ウィンドウを示しています。
LODDistances プロパティ ウィンドウ

この例では、エミッターがカメラから[0..1249] ユニットの距離にある間は LOD 0 (最高レベル) が使用されます。LOD 1 は [1250..1874]、LOD2 は [1875..2499]、LOD3 は距離が 2500 ユニットを超えたときです。
LODDistanceCheckTime では、Automatic モードに設定された各 ParticleSystemComponent が、実行時に LOD 判定のための距離チェックを実行する頻度を秒単位で設定します。この例では、レベル内のこのパーティクル システムの各インスタンスは、1/4 秒ごとに距離チェックを実行します。
プロパティ | 説明 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LOD | |||||||||||||||||
LOD Distance Check Time | 使用する LOD レベルを決定するためにシステムが距離チェックを実行する間隔 (秒) です(LODMethod が Automatic に設定時のみ使用します)。 | ||||||||||||||||
LOD Method | システムが適切な LOD レベルの選択に利用するメソッドを示す列挙型変数です。利用可能なメソッドがいくつかあります。
|
||||||||||||||||
LODDistances | 使用する LOD レベルを決定するための距離の配列です。(LODMethod が Automatic に設定時のみ使用します。)これらの数値は、選択する LOD レベルに推奨する最少距離を示します。例えば 3 つの LOD レベルをもつシステムを想定してみましょう。
|
||||||||||||||||
LODSettings | 各 LOD に使用する具体的な設定を決定する ParticleSystem がライトを受け取ると、常に Lit が制御する唯一の設定です。 |