初心者必見!現場レベルの「ゲーム制作講座PDF」を無料プレゼント中!▶

Unityでエフェクトを実装 | 攻撃ヒットと演出

Unity ゲーム制作実践

攻撃が当たっても何も起きない——ダメージは入っているのに、手応えがゼロに感じることはありませんか。

エフェクトは、プレイヤーに「当たった」「取った」「クリアした」を視覚で伝える演出です。
043のパーティクル基礎を実戦に移し、プレハブ化 → Instantiateで再生 → 寿命後Destroyの流れを身につけましょう。

087のクリア演出や089ボス撃破(267)とも共通の仕組みです。

  • Particle Systemを置いたが、いつ再生すればいいか分からない…
  • エフェクトが残り続けて、シーンがオブジェクトだらけになる。
  • 攻撃ヒットと取得演出、作り方の違いが分からない。

✨ この記事でわかること

  • Particle Systemプレハブの作り方
  • Instantiateで任意位置にエフェクトを再生する方法
  • 寿命後にDestroyしてオブジェクトを残さない処理
  • 攻撃ヒット・取得アイテム・087クリア演出の用途別例
  • 332パーティクル記事との接続
  • 初心者でも理解できる解説

\プログラミング未経験でも大丈夫!まずは1本作り切ろう/

初心者が最初に選ぶならコレ

Unity ノンフィールドRPG
+スレスパ風JRPG講座

★★★★★ (Unity6対応)

Unity6対応・スマホ化対応の最新カリキュラム。「何から始めればいいかわからない」という初心者でも、ステップごとに手を動かすだけでRPGが完成します。

講座を見てみる \ゼロからでもスマホ対応RPGが作れる!/

憧れのアクションゲームに挑戦

Unity 2Dアクションゲーム
の作り方講座(ロックマン風)

★★★★★ (スマホ化・広告実装)

初心者でもロックマン風の横スクロールACTが作れる講座。7ステージ+ラスボスという本格構成で、スマホ化・広告実装まで対応。「自分のゲームをリリースしたい」夢を叶えます。

講座を見てみる \初心者でも本格ACTが完成する!/

3Dゲーム開発の入口はここ

ゼルダ風3Dアクションゲーム
の作り方講座

★★★★★ (スマホ化対応)

「3Dゲームって難しそう…」と感じている初心者向けの講座。全16回でゼルダ風3Dアクションがスマホ対応で作れるようになります。3D開発の基礎がしっかり身につきます。

講座を見てみる \初心者でも全16回で3Dゲームが完成!/

エフェクト実装の基本フロー

ゲーム内エフェクトは、だいたい次の3ステップで完結します。

ステップ 処理 ポイント
1. プレハブ作成 Particle Systemを調整してPrefab化 043・332でモジュール設定
2. 再生 Instantiateで位置に生成 141のInstantiate記事と同じ
3. 削除 寿命後にDestroy 142のDestroy記事と同じ

シーンに直接Particleを置く方法もありますが、何度も使う演出はプレハブ化が必須です。

EffectManagerの実装

エフェクト再生を1か所にまとめると、080攻撃や087クリアから同じAPIで呼べます。

using UnityEngine;

public class EffectManager : MonoBehaviour
{
  public static EffectManager Instance { get; private set; }

  void Awake => Instance = this;

  public void PlayEffect(GameObject effectPrefab, Vector3 position, float lifeTime = 2f)
  {
    if (effectPrefab == null) return;
    GameObject fx = Instantiate(effectPrefab, position, Quaternion.identity);
    Destroy(fx, lifeTime);
  }
}

lifeTimeはParticleのDuration + Start Lifetimeより少し長めに設定します。
短すぎると再生途中で消えてしまいます。

管理人
管理人

Destroyを忘れると、ヒットのたびにオブジェクトが増え続けて重くなります。
PlayEffectには必ず寿命をセットする習慣をつけましょう。

攻撃ヒットエフェクト

090のOnTriggerEnter2Dで敵に当たった瞬間、ヒット位置で火花エフェクトを再生します。

void OnTriggerEnter2D(Collider2D other)
{
  if (!other.CompareTag("Enemy")) return;
  var enemy = other.GetComponent<Enemy>;
  if (enemy != null) enemy.TakeDamage(damage);

  if (hitEffectPrefab != null)
    EffectManager.Instance.PlayEffect(hitEffectPrefab, transform.position, 1f);
}

ヒット位置を正確に出したい場合は、other.ClosestPoint(transform.position)を使います。
080の攻撃スクリプトに数行足すだけで、手応えが大きく変わります。

取得アイテムと087クリア演出

用途別の呼び出し例です。

  • コイン取得 … アイテムのOnTriggerEnter2D内でキラキラエフェクト+Destroy(アイテム)
  • 087クリア … ゴール到達時に紙吹雪ParticleをPlay、WaitForSecondsRealtimeで待機
  • 089ボス撃破 … HP0で爆発エフェクト(267記事と同様)
void OnItemPickup
{
  EffectManager.Instance.PlayEffect(pickupEffect, transform.position, 1.5f);
  Destroy(gameObject);
}

087ではParticleSystem.Playをシーン上のParticleに対して直接呼ぶ方法も使えます。
都度生成するInstantiate方式と、常設ParticleのPlay方式は用途で使い分けましょう。

エフェクト実装の手順
  • STEP1
    Particle Systemを作成

    火花・煙・取得光など用途に合わせて調整
  • STEP2
    Prefab化

    Projectにドラッグしてプレハブ作成
  • STEP3
    EffectManagerを配置

    PlayEffectメソッドを用意
  • STEP4
    衝突・取得時に呼ぶ

    080攻撃、090Triggerと接続
  • STEP5
    Destroyで寿命管理

    lifeTimeをDurationより長めに

Particle Systemの最低限設定

332の詳細設定記事へ進む前に、押さえる項目だけ整理します。

  • Duration … 0.3〜1秒程度の短い演出がヒット向き
  • Start Lifetime … 粒子が消えるまでの時間
  • Start Speed / Size … 大きすぎると画面を圧迫
  • Play On Awake … Instantiate直後に再生したいならON
  • Looping … ヒット演出はOFF(1回だけ再生)

2Dゲームでは、RendererのSorting Layerをキャラより手前に設定しないと、エフェクトが地面に隠れることがあります。

つまずきやすいポイント

エフェクト実装でよくある問題は次のとおりです。

  • エフェクトが見えない → Sorting Layer、カメラのZ位置、Scale=0を確認
  • Instantiateしても再生されない → Play On AwakeがOFFならGetComponent<ParticleSystem>.Playを呼ぶ
  • オブジェクトが増え続ける → Destroy(fx, lifeTime)を必ず入れる
  • 重い … Max Particlesを下げ、同時再生数を制限

VFX Graphは上級者向けです。
個人開発のヒット演出なら、標準のParticle Systemで十分です。

エフェクト用のプレハブはPrefabs/Effects/フォルダにまとめておくと、080攻撃・087クリア・089撃破で使い回しやすくなります。
名前はFX_HitSpark、FX_Pickupのように用途が分かる形式にすると、Inspectorでの割り当てミスも減ります。

管理人
管理人

263のDoTweenはUIやオブジェクトの動き向き、Particleは火花や煙向き——役割分担を意識すると、演出の引き出しが増えますよ。

記事を読んで「作ってみたい!」と思ったら!初心者でも1本完成できる講座で実力をつけよう

知識を読むだけで終わらせるのはもったいない。実際に手を動かしてゲームを1本完成させることで、理解が一気に深まります。プログラミング未経験からでも取り組める講座で、ゲーム開発の第一歩を踏み出しましょう。

Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!初心者でもデッキ構築×JRPGをスマホ向けに作れる!】

Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座

  • Unity6対応・スマホ化対応で最新環境のゲーム開発が学べる
  • Slay the Spire風のデッキ構築システム×JRPGの組み合わせを実装
  • 初心者でも迷わず進められる丁寧な解説構成
  • ノンフィールドRPGとデッキ構築JRPGの2つをまとめて学べるセット講座

Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座は、プログラミング未経験の初心者でも取り組みやすい、ステップバイステップ形式の講座です。

Unity6対応・スマホ化対応の最新カリキュラムで、読んで「なるほど」と思った知識を、実際に動くゲームとして形にする体験ができます。

「何から始めればいいかわからない…」という初心者が最初に選ぶ一本として最適な講座です。

Unity6対応・スマホ化対応の最新カリキュラム
ゼロからでもRPGを完成させよう
→ スレスパ風デッキ構築JRPG講座を見てみる
初心者でもスマホ対応のRPGが作れる!まずは1本完成を目指そう!

Unity 2Dアクションゲームの作り方講座(ロックマン風)【全16回!初心者でもスマホ化・広告実装まで対応した本格横スクロールACTが作れる!】

Unity 2Dアクションゲームの作り方講座(ロックマン風)

  • ロックマン・マリオ・カービィのような横スクロールACTをゼロから開発
  • 7ステージ+ラスボスステージの本格的なゲーム設計を初心者でも実現
  • スマホ化・AdMob広告実装まで対応してリリースまで見据えた構成
  • 敵AI15体・多彩なマップギミック・武器システムを完全実装
  • 完全オリジナルゲームをアセット不使用で素材提供付きで制作

Unity 2Dアクションゲームの作り方講座(ロックマン風)は、ロックマン・スーパーマリオ・星のカービィのような2D横スクロールアクションゲームを、初心者でもゼロから開発できるようになる講座です。

全16回で当たり判定・物理挙動・敵AIの知識を実際のゲームコードとして実装する体験が詰め込まれています。スマホ化・広告実装まで対応しているため、「作って終わり」ではなくリリースまで見据えた実践スキルが身につきます。

「憧れのアクションゲームを自分の手で作ってみたい」という初心者に強くおすすめの一本です。

スマホ化・広告実装まで対応した本格横スクロールACT
初心者でもロックマン風2Dアクションをリリースまで作り上げよう
→ 2Dアクションゲームの作り方講座を見てみる
初心者でも本格ACTが完成する!広告収益まで視野に入れた実践スキルを手に入れよう!

ゼルダ風3Dアクションゲームの作り方講座【全16回!初心者でも3Dアクションがスマホ対応で作れる!】

ゼルダ風3Dアクションゲームの作り方講座

  • ゼルダの伝説・モンハン・原神のような3Dアクションをゼロから開発
  • 「3Dは難しそう」と感じている初心者でも取り組みやすい丁寧な解説構成
  • スマホ化対応で実機で動かせるゲームが完成
  • アセットを使った実践的なゲーム開発手法が身につく
  • 画像・動画・全ソースコード公開の充実したサポート

ゼルダ風3Dアクションゲームの作り方講座は、「3Dゲームは難しそう…」と感じている初心者こそおすすめの入門講座です。

全16回の丁寧な解説で、ゼルダの伝説・モンハン・原神のような本格的な3Dアクションゲームを確実に完成まで導きます。スマホ化対応で実機で動かせるため、初めて3Dゲームを作り上げた達成感がひときわ大きい講座です。

「3Dゲームを自分でも作れるか試してみたい」という初心者の最初の一歩として最適です。

初心者でも3Dアクションがスマホ対応で完成する
ゼルダ風3Dアクションゲームで3D開発の壁を一気に突破しよう
→ ゼルダ風3Dアクションゲームの作り方講座を見てみる
全16回でスマホで動くオリジナル3Dゲームを完成させよう!

まとめ

Unityのエフェクト実装は、Particleプレハブを作る → EffectManagerでInstantiate → 寿命後Destroy、この流れが基本です。
080攻撃ヒット、087クリア、089ボス撃破と、同じ仕組みでゲーム全体に手応えを足せます。

エフェクトが付くと、同じダメージ数値でもプレイ感が大きく変わります。
攻撃から演出まで一連で学びたい方は、Unity入門の森の講座も、パーティクル演出まで含めて追える教材として参考になります。

今日は火花Particleを1つプレハブ化し、敵に当たった位置で再生するところまで進めてみてください。
動いたら取得アイテムやクリア演出にも広げていきましょう。

同じエフェクトを短時間に連続再生すると重くなることがあります。
クールタイム0.1秒程度を設けるか、Object PoolingでParticleを再利用する方法もあります。
個人開発の初期段階ではInstantiate+Destroyで十分です。

コメント

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