第一人称的移动
`float dealtX=Input.GetAxis(“Horizontal”)*speed;
float dealtY=Input.GetAxis(“Vertical”)*speed;
transform.Translate(dealtX*Time.deltaTime,0,dealtY*Time.deltaTime);
第一人称的旋转
水平旋转:
transform.Rotate(0,Input.GetAxis("Mouse X")*9.0f,0);
_rotationX-=Input.GetAxis(“Mouse Y”);
**垂直旋转**
_rotationX=Mathf.Clamp(_rotationX,-45f,+45f);
_rotationY=transform.localEulerAngles.y;
transform.localEulerAngles=new Vector(_rotiationX,_rotationY,0);
`
在旋转的过程中我=我们应用了两种不同的旋转形式,在水平旋转的时候我们用的是Rotate的形式。因为在水平旋转的时候我们是没有限制的旋转。但是在垂直旋转的时候我们需要对旋转的角度进行限制,所以我们用的是给transform的eulerangles进行赋值。
第三人称的移动
这里使用的是charater controller进行移动。
void Start(){
_charatercontroller=GetComponent<CharacterController>();}
void Update(){
movement.x = Input.GetAxis("Horizontal") * speed;
movement.z = Input.GetAxis("V