Unity3D-碰撞測试

碰撞測试这个再游戏的开发中是非常有必要的。当敌人的攻击的时候,发生碰撞这时候就会造成一定的伤害,因此我们须要依据受到的伤害对用户的生命值进行控制,因此碰撞的測试是 我们在游戏的开发过程中须要的一种比較重要的数据。

在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(Collider mCollision)

{

Debug.Log("OnTriggerEnter");

}


void OnTriggerStay(Collider mCollision)

{

Debug.Log("OnTriggerStay");

}


void OnTriggerExit(Collider mCollision)

{

Debug.Log("OnTriggerExit");

}


ok,事实上函数也就这样。只是更重要的是对函数内部的操作,比方说我们碰撞啦。这是后我们须要知道的碰撞的物体是什么东西。这时候我们就须要用到Collision这个对象啦!

以下我们来讨论Collision这个东东吧!


这里本人用到的比較多的是gameObject这样我们能够获得那个碰撞的对象,这样我们能够通过获得的对象来查到很多其它被碰撞到对象的很多其它的属性。这样方便我们来操作。

mCollision.gameObject.name = "hero";

mCollision.gameObject.tag ="hero";

等待,先这样啦!到时候会结合一个详细的样例来阐述,这样会更加便于理解的!

谢谢大家的支持,你的支持是我前进的动力!

原文地址:https://www.cnblogs.com/jhcelue/p/7132885.html