【发布时间】:2015-08-10 22:23:37
【问题描述】:
如何从游戏对象进行光线投射,同时仅忽略该游戏对象(在 Unity 中)? 我正在创建一个脚本来检测与游戏对象的哪一侧发生碰撞。我正在使用我创建的光线投射脚本来实现这一点。 Unity中的图层我很了解,所以请不要解释使用图层。
这就是为什么层不能实现我的目标的原因:假设我有一个敌人预制件,它发送光线投射而忽略了它自己的层。如果我只实例化一个敌人(不太可能),一切都会正常工作。所以可以说我实例化了两个相同的敌人。它们的层是相同的,因此它不会将其他敌人检测为物体,并且我在碰撞时需要做的任何事情都不会发生(例如,将敌人转向)。
如何从游戏对象进行光线投射,同时只忽略该游戏对象?如果这是不可能的,我如何创建一个碰撞检测脚本来返回被碰撞的游戏对象的一侧(例如左、右、顶部或底部)?
非常感谢您的任何支持/回答。非常感谢,因为这是我现在遇到过几次的问题,但没有找到合理的答案。
================================================ =========================== 编辑:
我发现如果你去编辑 -> 项目设置 -> Physics2d 并取消选中“Raycasts Start In Colliders”框,它可以解决这个问题。我不知道如何结束这个问题...
【问题讨论】:
-
结束问题的方法是将您的“编辑”作为您自己问题的答案。然后,48 小时后,您可以“接受”您自己的答案是正确的。这可能会帮助未来的开发人员解决同样的问题。
标签: unity3d collision-detection collision raycasting gameobject