【问题标题】:Unity3D: Letting a BoxCollider2D collide with the floor 'earlier'?Unity3D:让 BoxCollider2D 与“更早”的地板发生碰撞?
【发布时间】:2015-03-26 13:35:13
【问题描述】:

预告:

我正在 Unity 中制作一款 2D 游戏,其行为类似于 Castle Crashers,玩家可以像在横向卷轴中一样前后移动,也可以上下移动,有点像自上而下的游戏 - 但它仍然是横向卷轴'。

在 Unity 中,我将 Rigidbody2Ds 和 Boxcollider2Ds 用于物理。 但是,当想要模拟诸如掉落物品、创建 gib 或任何其他需要掉落到“地板”的物体时,这会变得很棘手。

需要掉到地板上的物体不知道地板在哪里,所以它们会永远掉下去。

问题

可以将 Boxcollider2D 设置为与单个无限 x 轴发生碰撞吗?

对象 A 应与红轴碰撞,对象 B 应与蓝轴碰撞。 这可能吗?

【问题讨论】:

    标签: unity3d collision game-physics gravity


    【解决方案1】:
    • 您可以使用图层。在项目设置 -> Physics2DSettings 中将它们设置为不相互碰撞。有 32 层的硬限制,系统使用前 8 层(您仍然可以为此使用它们)这为您留下了 24 个离散层 - 当您的对象更改其在 Y 轴上的位置时更改它们的层。游戏可能感觉很糟糕。

    • 使用 3D 物理。将您的相机在 X 轴上倾斜 45 度,将投影设置为正交,并在不可见的 3D 物理对象上绘制 2D 精灵 - 然后您将拥有真正的 2D 平面可以行走和跳跃。

    • 根本不要使用 box2d:编写自己的 - 简单的物理库,你只需要它来跳跃和下降,对吧?

    【讨论】:

    • 我正在考虑 3D 物理选项,因为我还没有深入开发。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多