标签归档:游戏

unity的character controller方法修改

[搬运2014年旧笔记]

物体方向控制方法

  1. function Update(){
  2.       if(Input.GetKey(KeyCode.W){
  3.            transform.Translate(Vector3.forward*Time.deltaTime*2);
  4.       }else if(Input.GetKey(KeyCode.S){
  5.            transform.Translate(Vector3.forward*Time.deltaTime*-2);
  6.       }else if(Input.GetKey(KeyCode.A){
  7.            transform.Translate(Vector3.up*Time.deltaTime*-20);
  8.       }else if(Input.GetKey(KeyCode.A){
  9.            transform.Translate(Vector3.up*Time.deltaTime*20);
  10.       }
  11.  }
修改unity自带character controller代码,实现鼠标右键按下后再旋转视角的功能。(可查阅MouseLook.cs)
  1. if (Input.GetMouseButton (1)) {
  2.     if (axes == RotationAxes.MouseXAndY) {//鼠标右键按下后再旋转视角
  3.         float rotationX = transform.localEulerAngles.y + Input.GetAxis (“Mouse X”) * sensitivityX;
  4.         rotationY += Input.GetAxis (“Mouse Y”) * sensitivityY;
  5.         rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
  6.         transform.localEulerAngles = new Vector3 (-rotationY, rotationX, 0);
  7.         } else if (axes == RotationAxes.MouseX) {
  8.             transform.Rotate (0, Input.GetAxis (“Mouse X”) * sensitivityX, 0);
  9.         } else {
  10.             rotationY += Input.GetAxis (“Mouse Y”) * sensitivityY;
  11.             rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
  12.             transform.localEulerAngles = new Vector3 (-rotationY, transform.localEulerAngles.y, 0);
  13.             }