【问题标题】:How to handle multiple rocket thrusters?如何处理多个火箭推进器?
【发布时间】:2019-09-09 14:11:01
【问题描述】:

我是游戏开发的新手,我正在尝试统一开发一款 2D 游戏,其中主角有一个带有两个推进器的喷气背包,我希望他单独控制每个推进器。因此,如果他只打开一个推进器,他会在离地 5 米处悬停,同时使用这两个推进器会使他悬停在 10 米的高度。我该怎么做呢?

我尝试只是简单地添加力,就好像角色正在跳跃并将 y 轴冻结为 0,直到他松开喷气背包按钮,但这并没有给我想要的感觉。我还尝试将喷气背包中的一条线投射到最近的表面,并向喷气背包添加一个力以使玩家能够漂浮在该高度,但我无法找到实现它的正确方法。

【问题讨论】:

  • 处理多个力最正常的方法是将它们加在一起。但是“我一直在寻找的感觉”,我猜你想要更多的真实感。例如,您提到此光线投射到最近的表面,如果您将喷射流指向墙壁,您将获得比将其指向空旷的空气更大的力,这可能是您缺少的“感觉”的一部分吗? ?
  • 听起来您在使用 Raycast 时走在了正确的轨道上。您需要做的是将推进器的力除以射线的大小。因此,随着射线变长,力减小。正如@LasseVågsætherKarlsen 所说,喷气背包的力量应该加在一起。因此,只有一个激活它的功率是一半,这意味着它只会高一半。
  • @LasseVågsætherKarlsen 没错,这个角色的手臂上附有火箭,所以如果他将推进器从一只手臂指向墙上,我需要更多的力量将他推离它并最终到达平衡状态,他只是使用推进器漂浮。

标签: c# unity3d game-physics


【解决方案1】:

Raycast 听起来是个好主意。将光线投射到下一个可用平台并按照@Ahndwoo 在评论中所说的那样做,`

您需要做的是将推进器的力除以 射线的大小。因此,随着射线变长,力 减少。

通过这样做,您将获得来自力量的自然运动,并且您将控制您可以达到多高。

我会把你的推进器当作一个物体来固定,它拥有的涡轮机越多,我就越强大。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    相关资源
    最近更新 更多