【unity】攻撃エフェクトの作り方(Particle System)【当たったときに光る・爆発・斬撃】

攻撃エフェクトの作り方(Particle System)

Unityでは普通 Particle System を使います。

① エフェクト作成

Hierarchy

右クリック
→ Effects
→ Particle System

名前を

AttackEffect

に変更

② RPG風おすすめ設定

Inspector で Particle System を設定

Main
Duration = 0.5
Looping = OFF
Start Lifetime = 0.3
Start Speed = 5
Start Size = 0.5
Start Color = Yellow / White
Emission
Rate over Time = 0
Bursts = 1
Count = 20
Shape
Shape = Circle
Radius = 0.1
Renderer
Material = Default-Particle

これで「パッ」と光る攻撃エフェクトになります。

③ Prefab にする

AttackEffect を

Hierarchy → Project にドラッグ

Prefab化

Hierarchy の AttackEffect は削除してOK

④ BattleSystem に追加

BattleSystem.cs

public GameObject attackEffectPrefab;
public Transform effectPosition;

攻撃時に生成

Instantiate(attackEffectPrefab, effectPosition.position, Quaternion.identity);

⑤ Inspector 接続

BattleSystem オブジェクト選択

Attack Effect Prefab → AttackEffect prefab
Effect Position → Enemy

Enemy の位置でエフェクト出ます。

⑥ ダメージ処理と一緒に出す

攻撃処理はこうする

public void PlayerAttack(int damage)
{
enemy.TakeDamage(damage);

Instantiate(attackEffectPrefab, effectPosition.position, Quaternion.identity);

GameObject popup = Instantiate(damagePopupPrefab, popupPosition.position, Quaternion.identity);
popup.GetComponent().SetDamage(damage);
}

これで

攻撃

エフェクト

ダメージ数字

HPバー減る

になります。