子弹物理中刚体的旋转和运动

Rotation and Movement with rigid body in Bullet Physics

本文关键字:旋转 运动 子弹      更新时间:2023-10-16

我为玩家制作了一个刚体,并尝试着让这个刚体随着玩家的控制一起移动。

我的意思是,无论何时我向前按压,我都希望刚体朝着玩家面对的方向向前移动,向后、向左、向右也是如此。到目前为止,我可以用施加力使刚体在静态方向上移动。

我的直接问题是我如何在玩家面对的方向上移动玩家的刚体。

:

  • 如果没有必要的话,我真的不想使用运动学体,主要是因为它们现在非常精细

  • 我使用glfw3作为输入

这是相当惊人的,你不会看到如何做到这一点后,你实际上设法在静态方向上的力,你在子弹配置的东西。

来吧,你有能力解决这个问题。

这里,只要往方向推一下(呵呵),哼哼。只需取面向方向的矢量(可以由相机,第一或第三视图,甚至其他东西决定…)。祝贺你,这个矢量是你的力的k因子。

你也应该根据速度来调节这个力,你不需要加速到无限大的速度,只要一开始加速很多,然后调节力到你想要的行走速度。

然后,通过围绕站立轴(最确定的是垂直轴)旋转面向向量90度来获得侧面方向。你可以通过简单地交换组件并乘以其中一个-1来得到它。x,y,z变为y,-x,z

如果要后退,只需在面向向量上设置-x, -y, -z

所以你的up键不是绑定到0,1,0,而是绑定到facing_dir。这个面向dir可以通过鼠标或其他视图控件改变,比如数字键2,6,8,4。或者你可以上,左,右,下拉来移动和使用w,a,s,d,和其他人一样,使用方向键来面向方向旋转。(+鼠标)

从鼠标移动或方向键获得facing矢量比找出如何施加力要困难得多,所以如果你已经有了facing矢量,我很困惑,你甚至有一个问题。