내 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;
}
}
나는 틀렸다고 생각합니다. 내 선수를 y 위아래로 움직일 회전은 어떻게됩니까? –
@ NA - 네 말이 맞아, 틀렸어. 업데이트 된 답변. –
죄송합니다. 나는 아주 이해하지 않는다. 더 설명해 주시겠습니까? –