努力为物理驱动的2D平台游戏平台实施壁架攀爬机械师做出决策。避免过于复杂的最佳方法是什么?
到目前为止,我了解(这里的爱好者不是专业人士)有几种选择,包括:
在y轴上对刚体施加受控的力,直到根部位置刚好在手部位置上方,然后在x轴上施加足够的力,以使角色站立在平台上。同时以某种方式将其与爬升动画同步。
备注:在这里运动很容易,甚至可以通过棱柱形滑动关节进行控制,但是我不确定如何使动画(脊柱)与运动保持同步。
驱动角色根部位置的根动画。完成后传送刚体,并希望box2d仍能及时对任何碰撞(如果有任何物体从天上掉落)做出适当响应。
备注:听起来实际上更容易制作动画,但是不确定我是否会在spine运行时,box2d或更高版本的移动平台和不同高度的平台上遇到任何问题。
以编程方式在手上应用IK约束以将其锁定在适当位置,然后继续手动旋转骨骼或应用小的预设(少量关键帧/帧)动画,同时将所需的力施加到刚体上。
备注:似乎这样可以最大程度地控制播放器,但是对于我来说,在我的水平上实现它听起来很复杂,而不是确切地确定从哪里开始。
预先感谢您的任何投入!
仅供参考:这是一个带box2d的基于ECS(libgdx + Ashley)的引擎。壁架抓斗已经实现为一个单独的系统,因此我们在这里可以假定角色已经能够从任何高度的壁架上悬挂下来。