#前回までのあらすじ
前回 https://qiita.com/Shuhei_Maeta/items/0eb447812a405d313aaf
初級編的な感じでインターフェイスと基本的なワークフローの流れをざっくり説明しました。
ノードの探し方と繋げ方、ポストFX、タイムライン制御、出力の概念が理解いただけたかと思います。
今回はグラフィッカーとしてはこれがないと始まらない**「パーティクル」**を解説します。
#Particularとの違い
Stardust派の人もいるかもしれませんがとりあえずParticularと比較してみます。
####結論からいうと一緒です!
若干要素のカテゴライズが違うけど一緒!
Particularでできる機能はほぼある上にNotchでしかできない機能がたくさんあります。
ついでにParticularだけでなくPlexusとNodesの表現もだいたい再現できます。
#NotchのPerticleの使い方
①最初にカメラの設定
まず「Null」ノードと「Camera」ノードを配置し、「Null」ノードへRootから繋ぎます。
次に「Null」から「Camera」へつなぎます。
この場合のNullはカメラコントロールの役割になります。
カメラの視点切り替えには3つ方法があります。
・キーボードの「1」~「0」で切り替え
・ビューポートの上にある数字のボタンで切り替え
・何もないところをクリックしRootそのものの設定を表示した後、「Current Camera」で任意のビューへ変更
まだ何も出してないので真っ黒ですがとりあえず**「Current Playing Camera」(キーボード&ボタンだと「0」)**にしておきます。
②各種Particle構成ノードの配置
まず**「Particle Root」ノード**(Particleの親分的なもの)をRootから繋ぎます。配置すると爆弾みたいな丸い形になります。
次に「Particle Root」から各構成要素であるEmitter、Renderer、Affector、Shadingノードを繋ぎます。
今回の例では「Primitive Emitter」、「Point Renderer」、「Velocity Affector」、「Life Colour Shading」を繋ぎます。
「Primitive Emitter」・・・プリミティブオブジェクトをエミッターにする(そのままですね)
「Point Renderer」・・・ポイント単位で描画する。最も一般的な表現。任意の画像や動画を飛ばすことも可能
「Velocity Affector」・・・一定方向へ速度を追加する。風のような表現で使う。
「Life Colour Shading」・・・パーティクルが出てから消えるまでの色変化を追加。
手前から奥へと流れていく四角いパーティクルが表示されたと思います。
繋ぎ方は基本こういう感じです。「Particle Root」から伸びる各種ノードが一つのパーティクル群になります。
③Particle Rootについて (Particleの大元の基幹的なもの)
Particle Rootで押さえておくべき項目
「Num Particles」・・・パーティクルの総数。数百万まで増やせるけど当然GPUパワーとの闘い。
「Bake Now」・・・使ったことないけどベイクできるっぽい。
「Master Size Scale」・・・全体のパーティクルを一括サイズ変更。
④Emitterについて (発生源の制御)
Primitive Emitterで押さえておくべき項目
「Emitter Type」・・・プリミティブの形状が変えられます。
「Repeating Random」・・・✔を外すと同じようなところからずっと発生するのを回避できます。
「Life」・・・パーティクルの寿命
他にもいろんなEmitterノードがあるので試してみてください。名前でなんとなく機能はわかりますよね。
自分がよく使うのは**「Image Emitter」と「Mesh Emitter」**。
「Image Emitter」・・・画像や動画、カメラ映像なんかをエミッターにする。
「Mesh Emitter」・・・3Dのメッシュを持ったオブジェクトをエミッターにする。外部から読み込んだOBJとかFBXとかにも適用できる。
⑤Rendererについて (表現の種類を制御)
Point Renddererで押さえておくべき項目
「Texture」・・・任意の画像などを指定できます。もしくはノードグラフで繋いで指定。(例ではバナナの画像をノードで指定)
「Particle Size」・・・パーティクルの大きさ
「Size Randomness」・・・パーティクルの大きさのランダム具合
「Rotation」・・・パーティクルの回転
「Rotation Randomness」・・・パーティクルの回転のランダム具合
他にもいろんなEmitterノードがあります。
おすすめは**「Geometry Connection Renderer」、「Line Connection Renderer」、「Trail Renderer」**
「Geometry Connection Renderer」・・・パーティクル同士の距離に応じてメッシュを形成 (Plexusの面みたいな感じ)
「Line Connection Renderer」・・・パーティクル同士の距離に応じてラインを形成 (Plexusの線みたいな感じ)
「Trail Renderer」・・・パーティクルの動いた軌跡をラインにする。光の軌跡みたいなの作るのに便利。
⑥Affectorについて (動きの制御)
Velocity Afectorで押さえておくべき項目
「Rotation 〇〇」・・・力の方向を変える
「Velocity Amount」・・・速度の調整
「Spread Angle」・・・方向のバラツキを調整
「Randomness」・・・影響する力のバラツキを調整
その他Affectorノード
おすすめは**「Turbulance Affector」、「Vortex Affector」**
「Turbulance Affector」・・・ゆらゆらうねうねとランダムに動く。
「Vortex Affector」・・・回転する動き。
⑦Shadingについて (見た目や色の制御)
Life Colour Shadingで押さえておくべき項目
「Life Colour」・・・色を選択することで好きな色に変化させることができます。
「Blend Mode」・・・加算とか乗算とか選べます。
その他Shadingノード。おすすめは**「Distance Shading」、「Noise Shading」**
「Distance Shading」・・・パーティクルの距離に応じて色変化。
「Noise Shading」・・・ランダムなカラーノイズ。点滅等でよく使う。
作例
解説した手順をもとにいろいろテキトーにつないでみると
<使用した主なノード>
「Primitive Emitter」・・・エミッターをSphereにしてます。
「Point Renderer」・・・四角、バナナのパーティクル
「Trail Renderer」・・・水色のライン
「Velocity Affector」・・・上昇する動き
「Vortex Affctor」・・・回転する動き
「Life Colour Shading」・・・カラフルな色とか
「Noise Shading」・・・カラーが消えたりついたり。四角いパーティクルにのみ適用。
プロジェクトファイル DL https://my.pcloud.com/publink/show?code=XZmlO4kZEe4SVUNLVV8oLF7aCH0opRzm9SvX
こんな感じです。
#次回
Clonerについて解説しますたぶん。
[追記]書きました!
https://qiita.com/Shuhei_Maeta/items/12c8cfa52ea5458c7cd5
自主制作したリアルタイムMV作品のNotchプロジェクトファイル1曲分フルで公開してます!
https://neort.io/product/bmke4ik3p9f7m1g01qo0
情報共有はこちらのグループで行っているのでぜひ参加してみてください。
Facebookグループ : https://www.facebook.com/groups/notchusergroupjapan/
Line オープンチャット : https://line.me/ti/g2/kJYmLLsvS2zNfR9PEiknMg
質問等あればお答えしますのでお気軽に
Twitter : https://twitter.com/shu1053
FB : https://www.facebook.com/profile.php?id=100009103327410