子弹物理中刚体的旋转和运动
Rotation and Movement with rigid body in Bullet Physics
我为玩家制作了一个刚体,并尝试着让这个刚体随着玩家的控制一起移动。
我的意思是,无论何时我向前按压,我都希望刚体朝着玩家面对的方向向前移动,向后、向左、向右也是如此。到目前为止,我可以用施加力使刚体在静态方向上移动。
我的直接问题是我如何在玩家面对的方向上移动玩家的刚体。
:
-
如果没有必要的话,我真的不想使用运动学体,主要是因为它们现在非常精细
-
我使用
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
矢量,我很困惑,你甚至有一个问题。
相关文章:
- 与互斥锁相比,旋转锁可以保证上下文切换
- 绘制旋转的三角形
- 旋转模型矩阵时的形状失真
- 四边形的 2D 旋转
- 垂直方向的 Gtk3+ 旋转按钮 (c/c++)
- 发布旋转矩阵(openGL/glm)
- 顺时针迭代旋转 3 位数字
- 形状对象的旋转和缩放不正确C++
- 如何在 OpenSceneGraph 中缩放/旋转/移动资产
- 如何有效地计算将单位立方体映射到自身的反射和旋转?
- 子轴围绕父轴而不是他自己的轴旋转
- 将使用太多的纹理插值器 - 带旋转的着色器
- SFML 向下移动时如何围绕屏幕中心旋转?
- 如何在OpenGL中正确旋转和缩放对象?
- 粒子系统:所有粒子都朝同一方向运动
- 使用 C++在 OpenGL 中移动自动旋转的 3D 多边形
- 按时间自动旋转形状,同时在 OpenGL 中使用C++移动它们
- 如何使用增强::几何计算多边形的旋转固体体积?
- 使用 GDI+ 旋转位图,然后转换为 HDC
- 子弹物理中刚体的旋转和运动