【问题标题】:How do you raycast from an object ignoring only that object (Unity3d)?您如何从仅忽略该对象(Unity3d)的对象进行光线投射?
【发布时间】:2015-08-10 22:23:37
【问题描述】:

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

这就是为什么层不能实现我的目标的原因:假设我有一个敌人预制件,它发送光线投射而忽略了它自己的层。如果我只实例化一个敌人(不太可能),一切都会正常工作。所以可以说我实例化了两个相同的敌人。它们的层是相同的,因此它不会将其他敌人检测为物体,并且我在碰撞时需要做的任何事情都不会发生(例如,将敌人转向)。

如何从游戏对象进行光线投射,同时只忽略该游戏对象?如果这是不可能的,我如何创建一个碰撞检测脚本来返回被碰撞的游戏对象的一侧(例如左、右、顶部或底部)?

非常感谢您的任何支持/回答。非常感谢,因为这是我现在遇到过几次的问题,但没有找到合理的答案。

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

我发现如果你去编辑 -> 项目设置 -> Physics2d 并取消选中“Raycasts Start In Colliders”框,它可以解决这个问题。我不知道如何结束这个问题...

【问题讨论】:

  • 结束问题的方法是将您的“编辑”作为您自己问题的答案。然后,48 小时后,您可以“接受”您自己的答案是正确的。这可能会帮助未来的开发人员解决同样的问题。

标签: unity3d collision-detection collision raycasting gameobject


【解决方案1】:

我发现如果你去编辑 -> 项目设置 -> Physics2d 并取消选中“Raycasts Start In Colliders”框,它可以解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多