はじめに
前回は、エフェクトが生まれる場所を決める基本を学びました。
キャラクターの足元に光が漂うだけで、少しワクワクしましたよね。
今回はその技術を応用して、画面全体を幻想的に彩る「星空」のエフェクトを作ります。
ここで学ぶのは、エフェクトを「機械的な動き」から「自然なゆらぎ」へと進化させる方法です。
ステップ0:すべての基本となる「マテリアル」を作る
エフェクトを作る前に、まずは前回同様に見た目を決める “マテリアル” を用意します。
-
『Project』ウィンドウの何もないところで右クリックし、 『Create』 > 『Material』 を選択します。
-
名前を “M_Star” など、自分が後で見て分かりやすいものに変更してください。
-
インスペクターの一番上にある 『Shader』 (シェーダー)の項目をクリックし、 “Universal Render Pipeline/Particles/Unlit” を選択します。
ここで大事なのが「テクスチャ(画像)」の設定です。 インスペクターの中にある “Base Map” (あるいは “Main Tex”)という項目の左側にある小さな四角い枠を見てください。
-
その枠の横にある “Select” ボタンを押し、一覧から “Default-Particle” を選んでみましょう。
-
さらに、 “Surface Type” を “Transparent”(透明)にし、 “Blending Mode” を “Additive”(加算)に設定します。
これで「星の光」の準備が整いました。
ステップ1:広い空を作る “Shape”
まずは新しい 『Particle System』 を作成しましょう。
前回の復習です。
インスペクターの一番下にある “Renderer” モジュールの “Material” に、前回作成した “M_Sparkle” を設定してください。
次に、星を空全体に散りばめるために “Shape” モジュールを調整します。
-
“Shape” の項目を “Box”(箱型)に変更します。
-
その下にある “Scale”(スケール)の数値を、 “20, 20, 1” くらいに大きく広げてみてください。
これで、特定の点から噴き出すのではなく、広い範囲から星が生まれる「空のキャンバス」ができました。
ステップ2:星をその場に留める “Start Speed”
今のままだと、星が手前に向かって勢いよく飛んできてしまいます。
夜空の星は、遠くで静かに佇んでいるものですよね。
インスペクター上部のメイン設定にある “Start Speed” (開始時の速度)を “0” に設定しましょう。
すると、粒子はその場から動かなくなります。
さらに、 “Start Lifetime” (生存期間)を “5” から “10” くらいの長めに設定して、星がすぐに消えないように調整するのがポイントです。
ステップ3:瞬きをデザインする “Size over Lifetime”
星といえば、チカチカと輝く「瞬き」が魅力です。
これを再現するために、 “Size over Lifetime” (生存期間のサイズ)を工夫しましょう。
-
“Size over Lifetime” にチェックを入れ、右側のグラフをクリックします。
-
グラフの線を「山なり」にするのではなく、あえて「ギザギザ」に設定してみましょう。
グラフ上で右クリックして “Add Key” (キーを追加)を押し、上下に細かく動かしてみてください。
「大きくなったり小さくなったりを繰り返す」 この設定により、星が呼吸しているような、リアルな瞬きが生まれます。
ステップ4:【重要】動きを止めて「大きさ」だけを揺らす “Noise”
今の状態でも星空らしく見えますが、さらにエフェクトに自然な「ゆらぎ」を与えるために “Noise” (ノイズ)を使ってみましょう。
ここが今回の最大のポイントです。
“Noise” モジュールにチェックを入れると、デフォルトでは粒子が勝手に移動(Position)するように設定されています。
このままだと、星たちがフラフラとどこかへ飛んでいってしまいます。
-
“Noise” モジュールを開き、下の方にある “Position” / “Rotation” / “Scale” のチェック項目に注目してください。
-
まず、 “Position” (位置)と “Rotation” (回転)の数値を “0” にします。これで星が勝手に移動しなくなります。
-
代わりに、 “Scale” (大きさ)の数値を “1.0” 程度に設定してください。
-
その上で、一番上の “Strength” (強さ)を “0.2” くらいに調整します。
“Position” を 0 にして “Scale” だけを有効にすることで、星はその場に留まったまま、大きさだけが不規則にプルプルと震えるようになります。
これが、空気の揺れで星がまたたいているような、より高度な表現につながります。
ステップ5:奥行きを出す “Start Size”
最後に、すべての星が同じ大きさだと不自然です。
メイン設定の “Start Size” (開始時のサイズ)の横にある「▼」をクリックし、 “Random Between Two Constants” を選びます。
数値を “0.05” と “0.2” くらいに設定してみましょう。
大きな星と小さな星が混ざり合うことで、画面に奥行き(遠近感)が生まれます。
おわりに
いかがでしょうか。
「ノイズをどの要素(位置なのか、大きさなのか)に覚えさせるか」をコントロールすることで、意図通りにエフェクトを動かせるようになりました。
エフェクト制作において、 “Noise” は非常に強力ですが、デフォルト値のままでは暴れてしまうことも多い機能です。
こうして一つずつ「どこにノイズを乗せるか」を意識できるようになると、表現の幅がぐっと広がりますよ。
次回は、さらに「重力」を味方につけて、温かみのある「たき火の煙」に挑戦してみましょう。
