(実験)
- Tankが炎のパーティクルに触れるとダメージを受ける。
(パーティクルの設定)
- パーティクルを「Open Prefab」で展開
- 「Collision」にチェック
- 「Type」を「World」に変更
- 「Send Collision Message」にチェック
(パーティクル用のスクリプト作成)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FireCollision : MonoBehaviour
{
private void OnParticleCollision(GameObject other)
{
if(other.CompareTag("Player"))
{
print("hit");
}
}
}
(スクリプトをパーティクルに追加)
(実行結果)
(注意点)
- OnParticleCollisionはパーティクルがColliderにヒットすると呼び出されるので、相手に「Collider」が必要
- Collision系のため、相手の「Collider」に「Is Trigger」にチェックが入っていると実行されない。