触发器事件

碰撞检测是很游戏里的一个功能,在早期的游戏里,是直接判断物体之间的距离来实现的。不过,Unity等现代游戏引擎给出了更同意、更简便的方法——使用触发器

触发器是一个组件,它定义了一个范围。当其他带有碰撞体组件的物体进入了这个范围时,就会产生一个触发事件,脚本捕捉到这个时间的时候,就可以做出相应的处理。


一、创建触发器

创建一个Cube,创建的立方体已经自带碰撞体,即Box Collider,可以在Inspector窗口中看到,默认该碰撞体的范围就是立方体的范围。

在Unity中,触发器和碰撞体共用了同一种组件——Collider。勾选Box Collider面板中的 Is Trigger,碰撞体就变成了同样外形的触发器

二、触发器事件函数

触发器实际上有三种,即开始触发(OnTriggerEnter)、持续触发中(OnTriggerStay)以及结束触发(OnTriggerExit),分别代表赢一个物体进入触发范围、在触发范围内、离开触发范围这三个阶段。这里只举例开始触发器:

private void OnTriggerEnter(Collider other)

{

       Debug.Log(other.name+"碰到了我");

}

以上代码会接收到其他碰撞体进入触发区域的事件,且能获得该碰撞体的信息。上面的代码利用other.name输出了进入触发范围的物体名称

猜你喜欢

转载自blog.csdn.net/m0_63024355/article/details/130449220