今回のお題:Blowing Particles
利用したUEバージョン:5.4.1
ポン出しした状態だとこんなやつ。キレイ。
風がある方向から吹いていて、パーティクルがそれに載ってランダムに飛んでいく。
パーティクルは平たく(ぺったんこ状態で?)レンダリングされている。
各パーティクルは一定時間が過ぎると姿を消す。
パーティクルはEmission(かBloom)で光っている。
まさに「花吹雪」や「落ち葉が風に吹かれて飛んでいる」かのような挙動。
【注意書き】
UE/Niagaraの勉強中です。
わからないことばかりすぎて、以下の記述には「エディタ上で表示される説明をそのまま転記している」箇所がいくつかあります。
自分の理解が至ったら自分の言葉で書き直したいと考えています。
お手柔らかにお願いいたします。
(とりあえずスクショだけ見ていけばEmptyのEmitterから再現できるような記事にはなっています、自分の備忘のために)
①Niagara SystemとEmitter
構成は以下の通り(カッコ内の数字はモジュール数)。
▼Emitter Update(2)
▼Particle Spawn(3)
▼Particle Update(9)
▼Render(1)
② Emitter詳細
※Empty Emitterからの変更点を記載
Propertiesステージの変更点
今回はGPUを用いてシミュレーションを走らせるので、SimTargetを変更する。
②-a: ▼Emitter Update(2)
Emitter State
Spawn Rate
②-b: ▼Particle Spawn(3)
Initialize Particle
Shape Location
Initial Mesh Orientation
メモ)Mass Modeについて(Initialize Particle内)
Mass Mode
A mass of 1, effectively canceling the effect of mass on the solver.
質量は1であり、ソルバーに対する質量の影響は実質的にキャンセルされる。
Mass Mode、質量の設定の様子。
例えば「Direct Set」にした状態でMassの値を変更する際。
Calculate Size and Rotational Inertia by Massモジュール(下述)を追加すると、パーティクルのサイズが変わる。
Calculate Size and Rotational Inertia by Mass
指定された質量と密度の値に基づき、パーティクルのSprite SizeとRotationの慣性を演算する。
密度=1立法メートル当たりのキログラムで測定される。
Particle Update内で利用される場合は下記が必要となる。
> “UpdateVelocityOnMassChange”
このCalculate~にある「Demensity by Material Type」には「Wood」などあり面白そう(よくわかっていない)。
②-c: ▼Particle Update(9)
Particle State
Gravity Force
Wind Force
Aerodynamic Drag
Collision
Solve Forces and Velocity
Scale Sprite Size
Align Sprite to Mesh Orientation
Align Particles with Collision Plane
メモ)Wind Force/Turbulenceに関するメモ(公式から抜粋)
Turbulence Scale ModeThe turbulence scales with the wind.If there is no wind there is no turbulence.These options control how much turbulence we should have in our wind.Setting the scale directly is usually enough but if you have a high difference in your wind speed you might consider using the Speed range mode to reduce the turbulence at high speeds.
乱流は風によって変化する。風がなければ乱流はありません。これらのオプションは、風の乱れ具合をコントロールします。通常はスケールを直接設定すれば十分ですが、風速の差が大きい場合は、高速での乱気流を減らすためにスピードレンジモードの使用を検討するとよいでしょう。
・・・わからん。。
②-d: ▼Render(1)
Sprite Renderer
今回はモジュールを追加するだけ。
応用:これから。