unity 第一,三控制人物运动的方法

在第一、三人称的情况下,一般会用鼠标的x轴对人物的y轴进行旋转,
但是今天尝试的时候,用如下方法进行旋转

float x = Input.GetAxisRaw("Mouse X");
transform.Rotate(new Vector3(0, x, 0), Space.Self);

之后再进行运动,如正方向的运动,用的是:

transform.translate(transform.forward * Time.deltaTime);

不知道为什么总是不能进行正确的移动,后来改为了用刚体组件的方法

_mRigidbody.MovePosition(transform.position + transform.forward * Time.deltaTime * MoveSpeed);

就行了,当然了不能直接修改速度velocity,因为当你跳跃的时候,直接修改速度的话,跳一半儿就前进,即使有刚体组件也不会继续下落,这明显是不合适的。
其中肯定有什么不一样的地方,在此记录一下,日后了解了在进行解释

发布了201 篇原创文章 · 获赞 210 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_40666620/article/details/104846687