您如何从一个对象进行光线投射而仅忽略该对象(Unity3d)?

How do you raycast from an object ignoring only that object (Unity3d)?

如何从游戏对象进行光线投射,同时仅忽略该游戏对象(在 Unity 中)? 我正在创建一个脚本来检测 gameObject 的哪一侧发生碰撞。我正在使用我创建的光线投射脚本来实现这一点。我对Unity中的层很了解,所以请不要解释层的使用。

以下是图层无法实现我的目标的原因:假设我有一个敌人预制件发送光线投射而忽略了它自己的图层。如果我只实例化了一个敌人(不太可能),一切都会正常进行。所以假设我实例化了两个相同的敌人。它们的层是相同的,所以它不会将另一个敌人检测为一个物体,并且我在碰撞中需要做的任何事情都不会发生(例如,将敌人的方向转过来)。

如何从游戏对象进行光线投射,同时仅忽略该游戏对象?如果这不可能,我如何创建一个碰撞检测脚本 returns 与游戏对象发生碰撞的一侧(例如左、右、上或下)?

非常感谢 support/answers。非常感谢,因为这个问题我已经 运行 解决了几次,但没有找到合理的答案。

============================================= ============================ 编辑:

我发现,如果您转到“编辑”->“项目设置”->“Physics2d”并取消选中显示 "Raycasts Start In Colliders" 的框,则可以解决此问题。我不确定如何关闭问题...

我发现,如果您转到“编辑”->“项目设置”->“Physics2d”并取消选中显示 "Raycasts Start In Colliders" 的框,它可以解决此问题。