一、
OnCollisionEnter(Collision collision):这个函数用于检测两个物体之间的碰撞事件,当两个物体发生碰撞时被调用。其中,参数collision包含了碰撞的详细信息,例如碰撞点、碰撞法线等等。
二、
OnCollisionStay(Collision collision):这个函数用于检测两个物体之间的持续碰撞事件,当两个物体持续发生碰撞时被调用。其中,参数collision包含了碰撞的详细信息,例如碰撞点、碰撞法线等等。
三、
OnCollisionStay(Collision collision):这个函数用于检测两个物体之间的持续碰撞事件,当两个物体持续发生碰撞时被调用。其中,参数collision包含了碰撞的详细信息,例如碰撞点、碰撞法线等等。
四、
OnTriggerStay(Collider other):这个函数用于检测一个物体是否持续停留在另一个物体的触发器范围内,当一个物体持续停留在另一个物体的触发器内时被调用。其中,参数other表示停留在触发器内的物体。
五、
OnCollisionExit(Collision collision):这个函数用于检测两个物体之间的碰撞事件结束,当两个物体之间的碰撞结束时被调用。其中,参数collision包含了碰撞的详细信息,例如碰撞点、碰撞法线等等。文章来源:https://www.toymoban.com/news/detail-766985.html
六、
OnTriggerExit(Collider other):这个函数用于检测一个物体是否离开了另一个物体的触发器范围内,当一个物体离开另一个物体的触发器时被调用。其中,参数other表示离开触发器的物体。文章来源地址https://www.toymoban.com/news/detail-766985.html
七、 代码
using UnityEngine;
public class CollisionExample : MonoBehaviour
{
// 碰撞事件,当两个物体发生碰撞时被调用
void OnCollisionEnter(Collision collision)
{
Debug.Log("碰撞事件:" + collision.gameObject.name);
}
// 触发器事件,当一个物体进入另一个物体的触发器时被调用
void OnTriggerEnter(Collider other)
{
Debug.Log("进入触发器:" + other.gameObject.name);
}
// 碰撞持续事件,当两个物体持续发生碰撞时被调用
void OnCollisionStay(Collision collision)
{
Debug.Log("碰撞持续事件:" + collision.gameObject.name);
}
// 触发器持续事件,当一个物体持续停留在另一个物体的触发器内时被调用
void OnTriggerStay(Collider other)
{
Debug.Log("触发器持续事件:" + other.gameObject.name);
}
// 碰撞结束事件,当两个物体之间的碰撞结束时被调用
void OnCollisionExit(Collision collision)
{
Debug.Log("碰撞结束事件:" + collision.gameObject.name);
}
// 触发器结束事件,当一个物体离开另一个物体的触发器时被调用
void OnTriggerExit(Collider other)
{
Debug.Log("触发器结束事件:" + other.gameObject.name);
}
}
到了这里,关于unity碰撞检测的几种函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!