Unity3D使用时发现的问题及解决方法(触发碰撞条件)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D使用时发现的问题及解决方法(触发碰撞条件)相关的知识,希望对你有一定的参考价值。

参考技术A 原因:放的太大了。。缩小可见区,放大字体,改成resize freely 

要产生碰撞必须为物体添加刚体组件和碰撞器,刚体可以让物体在物理条件下运动。碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。

在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。

碰撞器:一群组件,它包含了很多种类,比如:Box Collider(盒碰撞体),Mesh Collider(网格碰撞体)等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。

触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。

触发信息检测:

  1.MonoBehaviour.OnTriggerEnter(Collider collider)当进入触发器

  2.MonoBehaviour.OnTriggerExit(Collider collider)当退出触发器

  3.MonoBehaviour.OnTriggerStay(Collider collider)当逗留触发器

碰撞信息检测:

  1.MonoBehaviour.OnCollisionEnter(Collision collision) 当进入碰撞器

  2.MonoBehaviour.OnCollisionExit(Collision collision) 当退出碰撞器

  3.MonoBehaviour.OnCollisionStay(Collision collision)  当逗留碰撞器

  碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性

  当Is Trigger=false时,碰撞器根据物理引擎引发碰撞,产生碰撞的效果,可以调用OnCollisionEnter/Stay/Exit函数;

  当Is Trigger=true时,碰撞器被物理引擎所忽略,没有碰撞效果,可以调用OnTriggerEnter/Stay/Exit函数。

碰撞器是另一种组件,它和刚体一起,来使碰撞发生。如果两个刚体撞在一起,物理引擎将不会计算碰撞除非它们包含一个碰撞器组件。没有碰撞器的刚体,会在物理模拟中相互穿透。碰撞器必须独立于刚体加在对象上。碰撞器并不一定需要附加刚体,但是要使移动物体具有碰撞效果必须附加刚体。为了使两个触发器碰撞时发出碰撞事件,其中一个必须包含刚体

以上是关于Unity3D使用时发现的问题及解决方法(触发碰撞条件)的主要内容,如果未能解决你的问题,请参考以下文章

unity3d碰撞器检测碰撞跟触发器检测碰撞哪个好些

unity3d 碰撞检测

unity碰撞检测(碰撞器,触发器)

Unity3d碰撞检测中碰撞器与触发器的区别

Unity3d -- Collider(碰撞器与触发器)

Unity 3D 碰撞体(Collider)|| Unity 3D 触发器(Trigger)