Unity - PlayerController

이승덱·2021년 12월 25일
0

UnityEngine

목록 보기
3/11

Unity - PlayerController

  • 플레이어의 입력 키 값을 받아 플레이어 캐릭터를 움직이게 하는 스크립트 컴포넌트이다.
  • Update문에 input.getKey 등의 함수를 이용해 플레이어의 키 입력에 따른 플레이어 캐릭터의 움직임을 구현한다.
  • 이 때 Update문은 프레임만큼 실행되기 때문에 Time.DeltaTime을 곱하여 움직임이 초단위로 계산되도록 구현한다.
  • Speed값을 따로 정의하여 추가로 곱해주어 속도를 조절하도록 구현도 가능하다. 이 때 Speed를 Public으로 정의하거나 [SerializeField]를 추가하면 에디터 내에서 수정이 가능하다.

Transform

  • 오브젝트의 좌표를 나타내는 값.
Vector3.forward // 월드 좌표를 기준으로 forward 값을 가져옴
transform.forward // 현재 오브젝트의 로컬좌표를 기준으로 forward좌표를 가져옴

//월드 좌표 -> 로컬 좌표
transform.TransformDirection();

//로컬 좌표 -> 월드 좌표
transform.InverseTransformDirection();

//로컬 좌표를 기준으로 좌표 수정
transform.Translate();

// 벡터의 크기를 반환
transform.position.magnitude;

// 벡터의 단위벡터 반환
transform.position.normalized;

Rotation

  • 오브젝트의 회전을 나타내는 값.
// 오일러 회전을 사용한 절대 회전값
transform.eulerAngles = new Vector3(0.0f, _yAngle, 0.0f);
// +- deltaTime 에 따라 회전
transform.Rotate(new Vector3(0.0f, Time.deltaTime * 100.0f, 0.0f));
// Quaternion을 사용한 회전
transform.rotation = Quaternion.Euler(new Vector3(0.0f,_yAngle,0.0f));
// Quaternion을 사용하며, 두 각도 사이의 블렌딩을 구현하고자 할 때 사용
Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(Vector3.forward),0.1f);

Scale

  • 오브젝트의 크기를 나타내는 값.
profile
공부 기록용 블로그입니다

0개의 댓글