unity中控制人物移动有很多方法,经过这么长时间的学习后,我总结了一些;利用transform的translate方法控制人物移动;(结合动画的控制就不说了)
float mx = Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime;
float mz = Input.GetAxis("Vertical") * moveSpeed * Time.deltaTime;
transform.translate(mx,0,mz);
2.利用Rigidbody组件rigidbody.MovePosition()方法进行移动(包含动画控制部分),鼠标控制人物移动;void FixedUpdate()
{
float h=Input.GetAxis("Horizontal");
float v=Input.GetAxis("Vertical");
Move(h,v);
Turning();
Animating(h,v);
}
void Move(float h,float v)
{
Vector3 movement;
movement.Set(h,0,v);
movement=movement.normalized*speed*Time.deltaTime;
rigidbody.MovePosition(transform.position+movement);
}
void Turning()
{
Ray camRay=Camera.ma