【Unity初心者向け】第4回:スーパーボールを大量発生! “Collision” で床や壁と衝突させる

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

はじめに

前回は、重力を操って「煙」を空へ昇らせました。
今回は、その逆です。
重力に従って落下したエフェクトが、地面にぶつかって「ポーン!」と跳ね返る。
そんな物理現象をシミュレートしてみましょう。

これができると、キャラクターが歩いた時の土埃、壊れた壺から飛び散る破片、そして今回作る「大量のスーパーボール」など、世界の実在感がグッと増しますよ。


スポンサーリンク

ステップ0:衝突の準備(マテリアルと地面)

今回も、まずは見た目を決めるマテリアル作りから始めます。

  1. マテリアルの作成:

    • 『Project』ウィンドウで右クリックし、『Create』>『Material』を選択。名前は “M_Ball” とします。

    • インスペクターの『Shader』を “Universal Render Pipeline/Particles/Unlit” に設定します。

    • “Surface Type” は “Opaque”(不透明)のままで大丈夫です。

    • “Base Map” の色を、好きな色(例えば明るい青)に変えてみましょう。これでカラフルなボールになります。

  2. 地面の用意:

    • 衝突するためには、ぶつかる相手が必要です。

    • ヒエラルキー上で右クリックし、『3D Object』 > 『Plane』 を作成してください。これがボールを受け止める床になります。


スポンサーリンク

ステップ1:ボールを発生させて落とす

準備ができたら、エフェクト本体を作ります。

  1. ヒエラルキー上で右クリックし、『Effects』 > 『Particle System』 を作成。

  2. インスペクター一番下の “Renderer” モジュールを開き、 “Material” に先ほど作った “M_Ball” を設定します。

  3. 今回はボールなので、少し大きさを変えましょう。メイン設定(一番上のタブ)にある “Start Size” を “0.5” くらいに設定します。

  4. このままでは空中に浮いているだけなので、重力を与えます。 “Gravity Modifier” を “1” に設定してください。

これで、青いボールがボトボトと下に落ちていくようになりました。
でも、今はまだ床(Plane)をすり抜けてしまっていますね。


スポンサーリンク

ステップ2:世界と衝突させる “Collision”

いよいよ今回の主役、 “Collision”(衝突)モジュールの出番です。

  1. “Collision” モジュールにチェックを入れてください。

  2. 一番上の “Type” が “Planes” になっている場合、これを “World” に変更します。

見てください! さっきまで床をすり抜けていたボールが、床の上でピタッと止まりました!
“Type: World” に設定することで、エフェクトはゲーム世界にある「コライダー(衝突判定)」を持ったオブジェクトすべてと衝突するようになります。


スポンサーリンク

ステップ3:スーパーボールのように跳ねさせる “Bounce”

今は衝突した瞬間にエネルギーを失って止まっています。
これを、元気に跳ね返るように設定しましょう。

“Collision” モジュールの中にある “Bounce”(跳ね返り係数)という項目を探してください。
この数値を上げていくと、跳ね返る力が強くなります。

  • “0.5” くらいに設定してみましょう。
    地面に当たって、半分くらいの高さまで跳ね返るようになりました。

  • これを “0.9” くらいまで上げると、まさにスーパーボール! 元気に飛び跳ねるようになります。

逆に “Dampen”(減衰)という数値を上げると、衝突した瞬間に勢いが殺され、ドサッと落ちるような表現になります。
今回は “0” のままで大丈夫です。


スポンサーリンク

ステップ4:跳ねた後の「余韻」を作る

スーパーボールは元気に跳ねますが、永遠に跳ね続けるわけではありません。
何度か跳ねたら消えるように調整しましょう。

  1. “Collision” モジュールの中にある “Lifetime Loss”(寿命の減少)を見てください。

  2. ここの数値を少しだけ、例えば “0.2” にしてみましょう。
    これは、何かに衝突するたびに、残りの寿命が20%ずつ削られていく、という設定です。
    これにより、何度かバウンドしたボールから順に自然に消えていくようになります。

  3. 最後に、消え際をきれいにします。(復習ですね!)
    “Color over Lifetime” にチェックを入れ、グラデーションの右端(消える瞬間)の透明度(Alpha)を “0” に設定しましょう。


スポンサーリンク

おわりに

いかがでしたか?
ただ落ちていくだけだった粒が、床と衝突し、跳ね返ることで、まるで意志を持った物体のように見えてきました。

“Collision” は少し処理負荷が高い機能ですが、その分、画面に与えるインパクトは絶大です。
雨粒が地面で跳ねる表現や、爆発で岩が飛び散る表現など、使い方は無限大です。
ぜひ色々な設定を試してみてください。

次回は、動きのあるエフェクトの代表格、「弾丸の軌跡(Trail)」に挑戦します。

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