团队项目记录2

遇到的问题:在对Trigger机关进行测试时发现,画出的轨道也会将机关触发。

问题描述:Trigger机关的作用是在发生碰撞时运行脚本中指定的特定物体的特定函数,在这个例子当中特定的物体是一块地板,特定的函数的功能是删除这块地板,导致其上的石块落下封住道路。预期效果是当玩家与摩托车与Trigger碰撞时巨石落下,可是实际效果是当画出轨道后,轨道与Trigger产生了交叉,巨石就已经落下。这是因为轨道与Trigger也发生了碰撞。

解决方法:最初的方法是在Trigger的碰撞函数中对碰撞物体进行判断,如果是玩家或摩托再进行相应操作。但是这种做法十分笨拙,且代码不简洁。经过查阅资料我发现,Unity可以设置碰撞发生的物体组别,即通过组别标识,在碰撞检测时漏过这些特定组别的物体。因此,只要将Trigger和轨道设置为不同的组别,并将它们之间的碰撞检测关闭,那么就不会发生轨道触发Trigger机关的问题了。

原文地址:https://www.cnblogs.com/ACskyline/p/5603511.html