/qq_35373690/article/details/86695000
一:碰撞检测的最低限制条件
1.双方必须有碰撞核(Colider)。2.有一方必须有物理特性(Rigibody)举例:假如是2D物体 ,连个2D 物体都有碰撞核(BoxColider2D),一方有刚体(Rigibod2yD)3D 物体碰撞核(BoxColider)和刚体(Rigibody)和2D 的不能混着用
二:碰撞检测有两种
1.有碰撞检测有物理特性 ,(图1),(图2)是场景中的两个物体,还有脚本挂入方式,如下:
图(1)图(2)脚本代码
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour {
// Use this for initializationvoid Start () {}private void OnCollisionEnter(Collision collision){//碰撞开始Debug.Log("碰撞开始");}private void OnCollisionExit(Collision collision){Debug.Log("碰撞结束");}private void OnCollisionStay(Collision collision){Debug.Log("碰撞中");}// Update is called once per framevoid Update () {}
}
运行结果:
2.带有物体特性碰撞没有物理特性
操作同上述相同就是把图(1) 的 IsTrigger 打个勾 ,即可
代码如下:
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour {
// Use this for initializationvoid Start () {}private void OnTriggerEnter(Collider other){Debug.Log("碰撞开始");}private void OnTriggerExit(Collider other){Debug.Log("碰撞结束");}private void OnTriggerStay(Collider other){Debug.Log("碰撞中");}// Update is called once per framevoid Update () {}
}