Posts Tagged ‘Trigger’

Unity3D碰撞检测及Trigger触发器的使用及注意事项

星期六, 三月 9th, 2013 5,411 views

首先新建一个Cube,其本身就已自带了碰撞器Collider,如图

要使用Trigger检测物体进入,则需要勾选Is Trigger选项
碰撞检测触发器Trigger 有别于碰撞检测器 Collision,其可以不受物理效果影响,一些可穿透区域的碰撞检测,可以使用Trigger来进行碰撞检测
常用方法如下:
OnTriggerEnter 进入时
OnTriggerExit 离开时
OnTriggerStay 处于时

同上碰撞检测器 Collision 也有3个方法:
OnCollisionEnter
OnCollisionExit
OnCollisionStay

这里我们需要为跑道添加一个终点撞线的机制,所以使用可穿透的碰撞检测触发器Trigger

代码如下:

1
2
3
4
5
    void OnTriggerEnter(Collider collider)
    {
        print(collider.gameObject.name + ":" + Time.time);
     
    }

OnTriggerEnter传入的参数必须为Collider,故能触发该函数的对象必须具有Collider组建。这里我们用的是角色控制器Character Controller 自带了Collider组建
此时每当有角色撞线时即会打印角色名及系统时间
(更多…)