【问题标题】:Unity3D: How do I ignore a collision without disabling future collisions?Unity3D:如何在不禁用未来碰撞的情况下忽略碰撞?
【发布时间】:2017-05-29 11:48:56
【问题描述】:

我有一个 2D 植绒对象,它使用嵌套触发对撞机来建立分离,并使用普通对撞机来处理与其他对象的碰撞。 (碰撞器设置为忽略同一层中的所有内容。)

我不太喜欢这种设置,我宁愿将回避代码折叠到父对象的 OnCollisionEnter2D 方法中。 Physics2D.IgnoreCollision 会按照盒子上的说明进行操作,但随后的所有碰撞都将被忽略。

有没有一种方法可以让两个对撞机彼此透明,而不会完全忽略彼此?或者,有没有办法从 OnTriggerEnter2D 激活正常的碰撞行为?

或者我是一个白痴(像往常一样)并且错过了一个明显的解决方案?

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    您可以将该特定对撞机设置为触发器。

    例如 - 在图层上有一个游戏对象,它与除您想要“透明”的图层之外的所有图层发生碰撞,然后有另一个游戏对象仅与同一图层上的对象发生碰撞,但将其设置为触发。

    这对你有用吗?

    【讨论】:

    • 是的,这就是我已经在做的事情。出于性能原因,我希望将尽可能多的代码合并到一个冲突调用中。哦,好吧。
    • 我真的没有看到任何其他性能友好的方式来做到这一点。
    • 是的,我相信你是对的。我想我想多了。感谢您的意见!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 2022-12-23
    • 2014-04-16
    • 1970-01-01
    相关资源
    最近更新 更多