【问题标题】:Rotation and Movement with rigid body in Bullet PhysicsBullet Physics 中刚体的旋转和运动
【发布时间】:2014-03-26 00:28:26
【问题描述】:

我已经为玩家制作了一个刚体,并一直试图让刚体随着玩家的控件移动。

我的意思是,每当我向前按下时,我希望刚体朝着玩家所面对的方向向前移动,与后、左、右相同。到目前为止,我能够使用应用力在静态方向上移动刚体。

我的直截了当的问题是如何将玩家的刚体朝玩家面对的方向移动。

其他详情

  • 如果没有必要,我真的不想使用运动体,主要是因为它们目前非常繁琐

  • 我正在使用glfw3 进行输入

【问题讨论】:

    标签: c++ opengl-3 bulletphysics


    【解决方案1】:

    这真是太神奇了,当您实际上设法将静态方向的力施加到您在项目符号上配置的东西上之后,您却看不到如何做到这一点。

    来吧,你有能力解决它。

    这里,只是往方向一推(呵呵),哼。只需获取面向方向的矢量(可以由相机、第一或第三视图,甚至其他东西确定...)。
    恭喜,这个向量是你的力量 k 因素。

    你也应该根据速度调节这个力,你不需要加速到无限速度,只需先加速很多,然后调节力趋向于所需的步行速度。

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

    要向后退,它只是在面向向量上的-x, -y, -z

    因此,您的 up 密钥实际上并未绑定到 0,1,0 而是绑定到 facing_dir。这个朝向的目录可以用鼠标或其他一些视图控件来改变,比如数字键 2,6,8,4。或者您可以像其他人一样使用 w,a,s,d 上下左右移动,并使用方向键旋转面向方向。 (+鼠标)

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

    【讨论】:

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