(Unity6)パーティクルの当たり判定(ダメージを受ける)

(設定)

・「Collision」にチェック

・Typeを「World」に変更

・「Send Collision Message」にチェックを入れる


(サンプルコード)

・当たり判定を検出したいオブジェクトに追加

using UnityEngine;
using UnityEngine.UI;

public class BallHP : MonoBehaviour
{
    public Text damageLabel;
    private int damageCount;

    void Start()
    {
        damageLabel.text = "ダメージ: " + damageCount;
    }

    private void OnParticleCollision(GameObject other)
    {
        damageCount += 1;

        damageLabel.text = "ダメージ: " + damageCount;
    }
}

(実行確認)

・パーティクルに触れていている間、ダメージが増加すれば成功


(ポイント)

  • OnParticleCollisionはパーティクルがColliderにヒットすると呼び出されるので、相手に「Collider」が必要
  • Collision系のため、相手の「Collider」に「Is Trigger」にチェックが入っていると実行されない。