我为玩家制作了一个僵硬的身体,并且一直试图让僵硬的身体随着玩家的控制而移动。
我的意思是,每当我向前推进时,我都希望僵硬的身体朝向玩家所朝向的方向向前移动,同样是向后,向左,向右。到目前为止,我可以使用“施加力”在刚性方向上移动刚体。
我的直接问题是如何在玩家面对的方向上移动玩家的刚体。
其他详情:
如果没有必要,我真的不想使用运动体,主要是因为它们现在非常繁琐
我正在使用glfw3
作为输入
答案 0 :(得分:0)
令人惊讶的是,在您真正设法将静态方向的力施加到通过子弹配置的内容之后,您将看不到如何执行此操作。
来吧,你有能力搞清楚。
在这里,只需按下方向(呵呵),下摆。只需采取面向方向的矢量(可以通过相机,第一或第三视图,甚至其他东西确定......)
恭喜,这个向量是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
向量,我会感到困惑你甚至有问题。