私のPlayerオブジェクト用にこのスクリプトを作成しました。子供、カメラ1台、モデル1台。 問題は、マウスを動かすたびにプレーヤーが下に動くことです。カムが上がる。Unity 5 fpscontroller奇妙なエラー
スクリプト:
public GameObject cam;
public float sensitivity = 2f;
public float walk_speed = 2f;
public float run_speed = 2f;
CharacterController player_CC;
float speed;
float moveFB;
float moveLR;
float rotX;
float rotY;
bool canMove;
void Start() {
canMove = true;
player_CC = GetComponent<CharacterController>();
speed = walk_speed;
}
void Update() {
if (canMove)
{
moveFB = Input.GetAxis("Vertical") * speed;
moveLR = Input.GetAxis("Horizontal") * speed;
rotX = Input.GetAxis("Mouse X") * sensitivity;
rotY = Input.GetAxis("Mouse Y") * sensitivity;
Vector3 movement = new Vector3(moveLR, 0, moveFB);
transform.Rotate(0, rotX, 0);
cam.transform.Rotate(rotY, 0, 0);
movement = transform.rotation * movement;
player_CC.Move(movement * Time.deltaTime);
}
if (Input.GetKey(KeyCode.LeftShift))
{
speed = run_speed;
} else
{
speed = walk_speed;
}
}
私は間違っていると思います。回転は私のプレーヤーを上下にどのように動かすでしょうか? –
@ NA - あなたが正しくて、私は間違っていました。更新された答え。 –
すみません。私はかなり理解していない。もっと説明できますか? –