碰撞测试这个再游戏的开发中是很有必要的,当敌人的攻击的时候,发生碰撞这时候会造成一定的伤害,因此我们需要根据受到的伤害对用户的生命值进行控制,因此碰撞的测试是 我们在游戏的开发过程中需要的一种比较重要的数据。
  在Unity中的碰撞测试有两种,一种是碰撞,一种是触发!一种属于物理碰撞,一种属于非物理碰撞。个人理解为一种是真是的碰撞,一种只是一种靠近后所触发的碰撞!当然对于这些的使用也是见仁见智啦!你觉得怎么样会比较好怎么用啦!
  好啦!现在我们来介绍这两种吧!
  1.Collision检测:在碰撞的过程中有三种状态分别是OnCollisionEnter;OnCollosionStay;OnCollisionExit;相信通过也能大概了解到他们的大体作用,分别是碰撞开始,碰撞持续,碰撞结束;
  2,.Trigger检测:使用这个之前需要勾选IsTrigger属性并用到三种方法:OnTriggerEnter;OnTriggerStay;OnTriggerExit;和上面的类似。
  ok,下面我们来分析下两种碰撞测试吧!
  一,Collision检测:

 

void OnCollisionEnter(Collision mCollision)
{
Debug.Log("OnCollisionEnter");
}
void OnCollisionStay(Collision mCollision)
{
Debug.Log("OnCollisionStay");
}
void OnCollisionExit(Collision mCollision)
{
Debug.Log("OnCollisionExit");
}

  二,Trigger检测:

 

void OnTriggerEnter(Collision mCollision)
{
Debug.Log("OnTriggerEnter");
}
void OnTriggerStay(Collision mCollision)
{
Debug.Log("OnTriggerStay");
}
void OnTriggerExit(Collision mCollision)
{
Debug.Log("OnTriggerExit");
}

  ok,其实函数也这样,不过更重要的是对函数内部的操作,比如说我们碰撞啦!这是后我们需要知道的碰撞的物体是什么东西,这时候我们需要用到Collision这个对象啦!