注意:我在Unity中编程,使用C#脚本。我不能使用射线检测来触发碰撞检测,因为在目标和源之间有很多触发碰撞体,它们会检测到触碰等情况。因此,射线在到达目标之前就已经击中了其他触发器,这是不希望看到的。
我基本上想要实现的是,如果一条向量线段穿过或与特定的一组向量坐标或区域相交,则返回一个布尔值。例如:检测激光在射击目标时是否进入了路径中的雾气。雾气是一个基于触发碰撞体的游戏对象。
编辑:另一个例子是检查一条线是否穿过二维图表中的一个二维方框区域。请记住,我在这里不能使用碰撞检测或射线检测。
不需要代码,只需解释如何实现这个概念的原理。当然,代码片段也是受欢迎的。谢谢!
回答:
[…] 因此,射线在到达目标之前就已经击中了其他触发器,这是不希望看到的。
将它们放置在不同的层上怎么样?你可以为射线指定层掩码。