【Unity初心者向け】第2回:夜空に瞬く「星空」を作ろう! “Noise” と “Size over Lifetime” で作る生命感

Unity(デザイナー向け)
スポンサーリンク

はじめに

前回は、エフェクトが生まれる場所を決める基本を学びました。
キャラクターの足元に光が漂うだけで、少しワクワクしましたよね。

今回はその技術を応用して、画面全体を幻想的に彩る「星空」のエフェクトを作ります。
ここで学ぶのは、エフェクトを「機械的な動き」から「自然なゆらぎ」へと進化させる方法です。


スポンサーリンク

ステップ0:すべての基本となる「マテリアル」を作る

エフェクトを作る前に、まずは前回同様に見た目を決める “マテリアル” を用意します。

  1. 『Project』ウィンドウの何もないところで右クリックし、 『Create』 > 『Material』 を選択します。

  2. 名前を “M_Star” など、自分が後で見て分かりやすいものに変更してください。

  3. インスペクターの一番上にある 『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” モジュールを調整します。

  1. “Shape” の項目を “Box”(箱型)に変更します。

  2. その下にある “Scale”(スケール)の数値を、 “20, 20, 1” くらいに大きく広げてみてください。

これで、特定の点から噴き出すのではなく、広い範囲から星が生まれる「空のキャンバス」ができました。


スポンサーリンク

ステップ2:星をその場に留める “Start Speed”

今のままだと、星が手前に向かって勢いよく飛んできてしまいます。
夜空の星は、遠くで静かに佇んでいるものですよね。

インスペクター上部のメイン設定にある “Start Speed” (開始時の速度)を “0” に設定しましょう。
すると、粒子はその場から動かなくなります。
さらに、 “Start Lifetime” (生存期間)を “5” から “10” くらいの長めに設定して、星がすぐに消えないように調整するのがポイントです。


スポンサーリンク

ステップ3:瞬きをデザインする “Size over Lifetime”

星といえば、チカチカと輝く「瞬き」が魅力です。
これを再現するために、 “Size over Lifetime” (生存期間のサイズ)を工夫しましょう。

  1. “Size over Lifetime” にチェックを入れ、右側のグラフをクリックします。

  2. グラフの線を「山なり」にするのではなく、あえて「ギザギザ」に設定してみましょう。

グラフ上で右クリックして “Add Key” (キーを追加)を押し、上下に細かく動かしてみてください。
「大きくなったり小さくなったりを繰り返す」 この設定により、星が呼吸しているような、リアルな瞬きが生まれます。


スポンサーリンク

ステップ4:【重要】動きを止めて「大きさ」だけを揺らす “Noise”

今の状態でも星空らしく見えますが、さらにエフェクトに自然な「ゆらぎ」を与えるために “Noise” (ノイズ)を使ってみましょう。

ここが今回の最大のポイントです。
“Noise” モジュールにチェックを入れると、デフォルトでは粒子が勝手に移動(Position)するように設定されています。
このままだと、星たちがフラフラとどこかへ飛んでいってしまいます。

  1. “Noise” モジュールを開き、下の方にある “Position” / “Rotation” / “Scale” のチェック項目に注目してください。

  2. まず、 “Position” (位置)と “Rotation” (回転)の数値を “0” にします。これで星が勝手に移動しなくなります。

  3. 代わりに、 “Scale” (大きさ)の数値を “1.0” 程度に設定してください。

  4. その上で、一番上の “Strength” (強さ)を “0.2” くらいに調整します。

“Position” を 0 にして “Scale” だけを有効にすることで、星はその場に留まったまま、大きさだけが不規則にプルプルと震えるようになります。
これが、空気の揺れで星がまたたいているような、より高度な表現につながります。


スポンサーリンク

ステップ5:奥行きを出す “Start Size”

最後に、すべての星が同じ大きさだと不自然です。
メイン設定の “Start Size” (開始時のサイズ)の横にある「▼」をクリックし、 “Random Between Two Constants” を選びます。

数値を “0.05” と “0.2” くらいに設定してみましょう。
大きな星と小さな星が混ざり合うことで、画面に奥行き(遠近感)が生まれます。


スポンサーリンク

おわりに

いかがでしょうか。
「ノイズをどの要素(位置なのか、大きさなのか)に覚えさせるか」をコントロールすることで、意図通りにエフェクトを動かせるようになりました。

エフェクト制作において、 “Noise” は非常に強力ですが、デフォルト値のままでは暴れてしまうことも多い機能です。
こうして一つずつ「どこにノイズを乗せるか」を意識できるようになると、表現の幅がぐっと広がりますよ。

次回は、さらに「重力」を味方につけて、温かみのある「たき火の煙」に挑戦してみましょう。

タイトルとURLをコピーしました