공부/Unity

[Unity] Update vs FixedUpdate / GetAxis vs GetAxisRaw

굴러다니다니 2025. 6. 2. 10:17

Update문: 시간이 가변으로 불규칙적인 물리력 적용

호출되는 간격이 불균형

FixedUpdate: 일정한 간격을 가지고 호출 => 일관된 물리력 적용

Input.GetAxis()함수: -1f~1f

키 누른 시간에 비례해서 -1이나 1까지 부드럽게 입력

미끄러지는 느낌이 든다

Input.GetAxisRaw()함수: -1, 0, 1

키 누름과 동시에 -1이나 1로 즉시 입력

 

wasd, 화살표로 이동하는 코드

input은 프레임 기준으로 갱신되어 update문에 저장해두고, fixedupdate를 통해 고정 프레임에서 물리 속도를 적용

*transform position으로 이동하는 코드를 쓴다면 벽을 뚫고 지나갈 수도 있어서 지양한다

 

마우스 좌표에서 현재 좌표를 뺀 방향은 파란색이고, 이 부분에서 normalized를 하면 길이가 무조건 1로 고정되는것을 확인할 수 있게 DrawGizmos()를 변형했다. (코드 첨부X)

이를 이용해 총알을 만드는 코드 작성했다.

 

*외부에서 get, set 할 수 있도록 프로퍼티 추가하는 법 (매번 까먹고 함수 다시 만들어서 써놓음)

 

728x90
반응형