moyasiエフェクト館

主にエフェクト関係の記事を上げていこうかと思います。


エフェクトに関係する記事上げてきます
エフェクト関係の記事の内容は緩く募集中
自分がわかる範囲であれば書いていこうかなと。

【Niagara】スクラッチパットで三角関数を使った発生位置の制御

f:id:tktknkyo:20210103164544p:plain

Verは4.26です

 

 

【初めに】

発生位置に三角関数を使うやり方

以前にも似たような内容は書きましたが

tktknkyo.hatenadiary.jp

 

こちらの記事は

既存の「Niagara Dynamic Imput Script」

が主体のやり方だったので、別の手法のやり方として

 

とくに以前のVerではなかったスクラッチパットの機能のおかげで

作りつつ、アセットにもできるような機能も増えたので

今後はスクラッチパットで作る機会も増えそうなのでこの機会に

 

 

【スクラッチパットについて】

いわゆるモジュールを作るのと同じノードベースで作れる機能ではありますが。

こちらは、Niagaraのエミッターやシステム編集中でも新しく作り

それをそのまま適応するのもそうですが

アセットとして出力することもできます

 

試しで作ってみて、汎用性があったらアセット化して

そうでない場合はそのエミッターやシステム内でのみ使う、という選択が可能です。

 

 

【下準備】

今回はあくまでスクラッチパットの機能の記事なので

f:id:tktknkyo:20210103165434p:plain

エミッターはテンプレートのこれから作っていきます。

 

上に動く動きがついているので、それでわかりにくい場合はチェックを外していきます。

座標は最後に上書きすればいいので、必須ではありません。

 

【実際に作っていきます】

f:id:tktknkyo:20210103165641p:plain

パーティクルのスポーンのところの+ボタンから

下の方にある「新しいスクラッチパットモジュール」をクリックして追加します。

 

f:id:tktknkyo:20210103165747p:plain

そうすると、このようなものが生成されるはずです

 

f:id:tktknkyo:20210103165857p:plain

その後、必要な情報を入れるためのFloatのパラメータを二つ生成します

名前は任意でいいですが、今回は「Length」と「Rot」としました。

 

 

f:id:tktknkyo:20210103170015p:plain

作ったパラメータ二つをマップ取得に登録します。

右下の+ボタンから追加できます。

 

f:id:tktknkyo:20210103170211p:plain

Rotの出力からSin(Degrees)とCosine(Degrees)に接続します。

その後Vectorに変換します。

 

このVectorのノードは3を押しながら右クリックでショートカットで作成できます。

普通にVectorと検索しても出すことができます。

 

f:id:tktknkyo:20210103170535p:plain

あとは出力したVectorとLengthと名づけたFloatのパラメータをMultplyで乗算します。

最後のMapSetは、座標としてそのまま使う場合はパーティクルのPositionに

ほかに計算をする場合は、自身で任意のパラメータに接続してください。

 

当然ですが、直接Positionに繋ぐ場合は、レベルの中心位置基準になるので注意してください。

 

 

f:id:tktknkyo:20210103170916p:plain

最後に、エミッター側で数値を入れておきましょう

発生位置を変えていきたい場合は

NormalizeLoopAgeなどと乗算すれば完成です

 

f:id:tktknkyo:20210103171016p:plain

Velocityなどの移動のモジュールを無効にすれば

このように発生位置がわかりやすくなると思います。

 

 

 

 

今回はここまでとなります。

今回は分かりやすそうなテーマとしてSinとCosをつかったうずまきの形状にしましたが

四則演算などでできる形状であれば恐らく基本出来ると思います。