C# 유니티 함수 GetAxis & GetAxisRaw 특징 비교

728x90

 

유니티 GetAxis() 함수란?

Input.GetAxis()는 GetAixs와 관련된 입력을 받아들여오는 명령어로, -1과 1 사이의 실수값을 리턴하고 기본적으로 0의 값을 가진 함수이다. 대표적으로 Horizontal과 Vertical에 대한 값을 받아올 수 있다.

  • Horizontal : 좌우로(방향키 왼쪽/오른쪽) 움직이는 값을 받아옴
  • Vertical : 수직으로(방향키 위/아래) 움직이는 값을 받아옴

즉, Horizontal 값을 받아올 때 왼쪽 키를 누르면 0에서 -1로 값이 변하고, 오른쪽 키를 누르면 0에서 1로 값이 변하는 형식이다.

 

 

GetAxis()함수와 GetAxisRaw() 함수 특징 비교

비슷한 함수로 Input.GetAxisRaw()가 있는데 둘의 차이점이 있다면, Input.GetAixs()는 '부드럽게' 값을 받아오는 반면, Input.GetAxisRaw()는 즉시 값을 받아온다.

보통 게임 컨트롤 환경에서 이동과 관련된 조작은 GetAixs()를, 스킬 사용 등 기능적 조작은 GetAxisRaw()를 사용한다.

 

 

GetAxis() 함수와 GetKey() 함수 & GetButton() 함수와의 차이점 

일반적으로 GetAxis()함수는 GetKey()와 GetButton()과 비슷한 기능을 수행한다.

하지만 GetKey, GetButton이 Bool형식으로 True/False를 반환하는 반면, GetAxis는 Float형식으로 -1과 1 사이의 실수값을 리턴하는 차이점이 있다.

Edit - Project Settings - Input Manger(입력 관리자)에서 세팅 환경을 확인 및 변경할 수 있는데, 해당 화면의 Negative Button이 입력이 들어왔을 때 음수를, Positive Button이 양수를 리턴하는 기능을 수행한다.

 

추가적으로 입력 관리자 중간 부분에 Gravity(중력)와 Sensitvity(민감도) 값을 조정하여, 위/아래/좌/우로의 이동 조작을 디테일하게 설정할 수 있다.

(Gravity값을 올리면 중력을 많이 받기 때문에 천천히 이동, 민감도 값을 올리면 좀더 부드럽게 움직인다.) 

728x90

'게임 프로그래밍 > C#' 카테고리의 다른 글

C# 유니티 DataType  (0) 2021.08.03
C# 유니티 DeltaTime  (0) 2021.08.03
C# 유니티 함수 Destroy  (0) 2021.07.29
C# 유니티 LookAt & Find  (0) 2021.07.28
C# 유니티 함수 Translate and Rotate  (0) 2021.07.25