パーティクル入門 (11) パーティクル LOD

ビデオの内容紹介 
いよいよパーティクル入門シリーズの最終回です。今回は、LOD について勉強します。UE4 では LOD を簡単に扱うことができます。

原題 Introduction Particles – 11 – Particle LODs

[1] LOD とは
LOD とは、Level of Details の略で、日本語では「詳細度」と訳されることもあります。描画の詳細度のことを意味しています。つまり、この LOD を使うと、あるものを近くに見た場合には詳しく描画して、遠くからはあまり詳しく描画しないということが可能になります (このこと自体、人間の目と同じように自然なことです)。

UE4 では、設定することによって、距離に応じて自動的に LOD (詳細度) を切り替えてくれます。今回は、パーティクル システムの LOD について学びます。

[2] LOD を使ってパーティクルの発生を少なくしてみる (例 1)

まず、適当なレベルに Starter Content フォルダに入っている P_Smoke というパーティクル システムを配置 (ドラッグアンドドロップ) します。
11-1
P_Smoke をダブルクリックして、カスケード (パーティクル システムを編集できるエディタ) を開きます。
11-2
見やすくするために (チュートリアルに合わせて)、Spawn (発生) レートを 50 にセットします。(つまり、1 秒間に 50 個のスモーク パーティクルを発生させます。) こんな感じになります。
11-3
ところで、カスケードの上部には、LOD 0 という表示があります (青枠の部分です)。この数字は今のところ変更することができません。なぜなら LOD が1 個しかないからです (あるいは 「LOD がない」と言うべきでしょうか)。このことは、スペースをクリックすると表示されるパーティクル システム全体の Details パネルから確認できます。「 0」 番 (赤枠) という LOD が 1 個だけあります。
11-4

では、これにもう一つ LOD を追加してみます。ツールバーの Add LOD (LOD を追加) をクリックします (2 つありますが、赤枠の方にします。これによって、詳細度が低い LOD が追加されることになります)。
11-5
するとさっそく、Details パネルに LOD の「1」番が追加されました。
11-6
上部の LOD の表示 (赤枠) も 1 にすることができるようになりました。また、エミッタのしたのモジュールのデザインが粗い感じになっています。
11-7

ここで一度 LOD 0 に戻って (上部の「1」を「0」に変更して)、スペースをクリックし、パーティクル システム全体のための Details パネルで、LODDistance Check Time が 0.25 秒にセットされていることを確認します。これは、LOD を切り替えるための距離を UE4 が確認するタイミングを指定するものです。つまり、0.25秒毎にパーティクル システムまでの距離を確認して、LOD を切り替えるべきか否かを判断するということになります。
11-8
また、LOD 1 の方の開始距離 (LODDistance) を 300mにセットしておきます。カメラが 300m 離れると LOD 1 に切り替わることになります。

LODMethod が Automatic (自動) になっているので、距離に応じて UE4 が自動で LOD を切り替えてくれます。他のオプションでは、コードで LOD を切り替えたり (Direct Set)、時間を契機にして Automatic にすることができます (Activate Automatic)。
11-9

それでは、上部の LOD の表示を 1 に切り替えて、Spawn モジュールをクリックしてみます。
11-10
すると、Details パネルはグレイアウトされていて、まだ使えません。使えるようにするには、Spawn モジュールを右クリックして、オプションを選択しなければなりません。
11-11
ここでは、Dupulicate From Higher (1 つ上の詳細度の LOD の設定値をコピーする) を選択します。

使えるようになったので、さっそく Spawn (発生) の Rate を 0.5 に変更してみます。
11-12
これによって、LOD 1 のパーティクルが発生する数は、1 秒間につき 0.5 個です。つまり、2 秒間に 1 個しか発生しなくなります。

さらに、Lifetime (寿命) モジュールについても同様にして、寿命の Min と Max を 2.0 秒と 3.0 秒にします (つまり、2.0 から 3.0 までの値をランダムに UE4 が選択することになります)。
11-13

設定は以上です。確認してみましょう。メインエディタのツールバーで Play をクリックします。
11-14
これはまだ 300m 以内なので、LOD 0 のパーティクルが表示されています。キーボードの S キーを押して、少し遠ざかります。
11-15
まだ、LOD 0 ですね。さらに遠ざかります。
11-16
これで LOD 0 に切り替わったことが分かります。スモークが発生する個数 (つまり濃度) が低くなっているのが分かります。

[2] エミッタを無効にしてみる (例 2)
複数のエミッタを用意しておき、LOD 1 の時に 1 つのエミッタを無効化してみます。

まず、LOD 0 の設定から始めます。Smoke エミッタを右クリックして、Emitter → Dupulicate Emitter (エミッタを複製) をクリックします。
11-17

見やすくするために、プレビューの Background Color (背景色) を灰色にしてみます。また、2 つ目のエミッタの Sphere (範囲) モジュールの Start Location (発生開始位置) を横にずらして、1 つ目のエミッタと重ならないようにします (見やすくします)。X の値を 100 mにセットします。
11-18
さらに、2 つ目のエミッタの Color Over Time (一生の色) モジュールで R (赤) の値を上げて、区別しやすくします。
11-19

さらに発生位置をずらします。2 つ目のエミッタの Sphere (範囲) モジュールの Start Location (発生開始位置) で X の値を 300 mにセットします。
11-20

次に、スペースをクリックして、このパーティクル システム全体の Details パネルで LODDistance (LOD のための距離) の値を 1000m にします。
11-21

ここで、上部の LOD の番号を 1 にしてから、2 番目のエミッタを無効化します。小さな□をクリックします。これによって、この LOD 1 に切り替わった時に、このエミッタからパーティクルが放出されなくなります。
11-22
さらに、LOD 1 のままで、Spawn の Rate を上げます。2.0 にします。
11-23
Lifetime も 4.0 秒~ 5.0 秒にします。
11-24

ここで確認のために、LOD 0 に切り替えてみます。すると、2 番目のエミッタは有効なままであることが分かります。
11-25

最後に確認です。メインエディタで Play をクリックします。
11-26
11-27
2 つのパーティクル エミッタが機能していることが分かります。LOD 0 の段階だからですね。少しずつ離れてみます。
11-28
11-29
まだ 1000m 以内にいるようです。
11-30
LOD 1 に切り替わったため、2 番目のパーティクル エミッタは機能しなくなりました。目論見どおりです。

これでパーティクル入門シリーズはすべて終了です。お読みいただき、本当にありがとうございました!

11-31







About なつのや

アンリアル・エンジン 4 を基礎から勉強するためのサイト「UE4 の学び部屋」を開いています。どうぞよろしくお願いいたします。
UE4チュートリアル, パーティクル

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>