大家好!这是我第一次在这里发表!这篇文章既是关于我的游戏TETHERPUNK的开发日志,也是关于如何设置一些有用的信息,所以希望我能正确地使用标签!
您看到的弹性效果是使用Unity的RelativeJoint2D实现的。我喜欢这个功能,因为它会存储一个理想的旋转和位置,让身体返回到理想状态,然后使用弹性计算来实现。
最重要的一点是,将弹性身体放在与实际游戏物理相互作用的碰撞图层上分开。除非实体有手臂或身体是为了游戏目的而完全扭曲和弯曲的,否则我建议使用单体碰撞。过去,我发现弹性反应力可以杀死你的动量,我非常希望玩家能感觉到他们可以利用速度来与墙壁碰撞。与墙壁相互作用应该像“是和…”(如果我不在乎这个,我就不会花这么多精力来制作斜坡)
所以,这是如何实现这个效果的基本步骤。我的可视效果图层上有一个名为“RigidbodyFollower”的组件,它每帧都会复制游戏物理刚体的位置、旋转和速度。这就是弹性连接点附着的。实际上,还有一个反应力在发生,但由于追随者每帧都会复制新的数据,所以弹性连接点似乎是在抗衡一座巨山。我还设置了弹性连接点在理想值和实际值之间的最大距离,超过这个距离时,拉力会大大增加。这让部分在一定范围内感觉非常松散和跳跃,总是努力 sells幻想在这个奇怪的废旧工厂中跳跃的感觉 :)
评论 (0)