unity3d碰撞
unity3d碰撞
Unity3D提供了多个碰撞事件函数,用于处理不同类型的碰撞情况。常用的碰撞事件函数包括:
OnCollisionEnter:当两个物体开始碰撞时触发。这是碰撞的起始点,可以用于执行碰撞开始时的逻辑,如播放碰撞音效、改变游戏状态等。
OnCollisionStay:在两个物体持续碰撞的过程中不断触发。这个函数可以在物体持续碰撞时执行逻辑,如持续伤害、摩擦力效果等。
OnCollisionExit:当两个物体结束碰撞时触发。这个函数可以用于执行碰撞结束时的逻辑,如停止伤害、重置状态等。
using UnityEngine; public class CollisionExample : MonoBehaviour { void OnCollisionEnter(Collision collision) { Debug.Log("Collision with " + collision.gameObject.name); // 可以根据碰撞物体的Tag或Layer来处理不同的逻辑 if (collision.gameObject.CompareTag("Enemy")) { // 处理与敌人的碰撞 } // 遍历碰撞点 foreach (ContactPoint contact in collision.contacts) { Debug.Log("Collision Point: " + contact.point); Debug.Log("Collision Normal: " + contact.normal); } } void OnCollisionStay(Collision collision) { // 持续碰撞的逻辑处理 } void OnCollisionExit(Collision collision) { // 碰撞结束的逻辑处理 } }
###########################
QQ 3087438119