【发布时间】:2019-09-09 14:11:01
【问题描述】:
我是游戏开发的新手,我正在尝试统一开发一款 2D 游戏,其中主角有一个带有两个推进器的喷气背包,我希望他单独控制每个推进器。因此,如果他只打开一个推进器,他会在离地 5 米处悬停,同时使用这两个推进器会使他悬停在 10 米的高度。我该怎么做呢?
我尝试只是简单地添加力,就好像角色正在跳跃并将 y 轴冻结为 0,直到他松开喷气背包按钮,但这并没有给我想要的感觉。我还尝试将喷气背包中的一条线投射到最近的表面,并向喷气背包添加一个力以使玩家能够漂浮在该高度,但我无法找到实现它的正确方法。
【问题讨论】:
-
处理多个力最正常的方法是将它们加在一起。但是“我一直在寻找的感觉”,我猜你想要更多的真实感。例如,您提到此光线投射到最近的表面,如果您将喷射流指向墙壁,您将获得比将其指向空旷的空气更大的力,这可能是您缺少的“感觉”的一部分吗? ?
-
听起来您在使用 Raycast 时走在了正确的轨道上。您需要做的是将推进器的力除以射线的大小。因此,随着射线变长,力减小。正如@LasseVågsætherKarlsen 所说,喷气背包的力量应该加在一起。因此,只有一个激活它的功率是一半,这意味着它只会高一半。
-
@LasseVågsætherKarlsen 没错,这个角色的手臂上附有火箭,所以如果他将推进器从一只手臂指向墙上,我需要更多的力量将他推离它并最终到达平衡状态,他只是使用推进器漂浮。
标签: c# unity3d game-physics