首页 理论教育 在Unity3D中的触发器和碰撞器的使用方法及原理

在Unity3D中的触发器和碰撞器的使用方法及原理

时间:2023-11-16 理论教育 版权反馈
【摘要】:在Unity3D 中,检测碰撞发生的方式有两种,一种是利用碰撞体,另一种则是利用触发器。触发器用来触发事件,在很多游戏引擎或工具中都有触发器,如当一个角色走到门口时,播放一段动画等。触发器的工作原理与碰撞器的工作原理相似,只是没有阻挡作用。触发器是一个区域,该区域的形状类型与碰撞器区域的形状类型是相同的。

在Unity3D中的触发器和碰撞器的使用方法及原理

在Unity3D 中,检测碰撞发生的方式有两种,一种是利用碰撞体,另一种则是利用触发器(Trigger)。触发器用来触发事件,在很多游戏引擎或工具中都有触发器,如当一个角色走到门口时,播放一段动画等。触发器的工作原理与碰撞器的工作原理相似,只是没有阻挡作用。触发器是一个区域,该区域的形状类型与碰撞器区域的形状类型是相同的。把某个区域设置成触发器区域很简单,只要为该区域添加一个碰撞器,并在碰撞器面板上把Is Trigger复选框勾选上即可。

使用触发器的关键在于掌握触发器的三个基于事件触发的函数,需要在脚本里实现下面几个方法(同样也是触发的时候Unity自动执行),碰到的物体会通过collider参数传递过来。

下面举例来检测触发器的发生

(1)打开工程ColliderDemo,打开场景Collider,为场景中创建一个Cylinder,给Cylinder添加触发器,因为圆柱体自带Capsule Collider胶囊碰撞器,只需将Is Trigger的选项打勾即可,如图6-12 所示。

图6-12 触发器组件

(www.xing528.com)

图6-13 发生触碰前

图6-14 发生触碰后

(2)修改脚本“ColliderTest”,挂载给Cube,实现通过键盘控制Cube 的移动,当Cube碰撞到Cylinder时,Cylinder消失。在“Collider Test”脚本中添加如下代码:

(3)运行程序,发现当立方体靠近圆柱体的时候,圆柱体立即消失,运行效果如图6-13和图6-14 所示。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈