기본 패턴
csharp
private void Update()
{
float x = Input.GetAxisRaw("Horizontal");
float z = Input.GetAxisRaw("Vertical");
moveDirection = new Vector3(x, 0f, z).normalized;
if (Input.GetButtonDown("Jump"))
{
Jump();
}
}설명
- 입력은 프레임 단위 이벤트라서 보통
Update에서 읽습니다. GetAxis는 부드럽게 변화하고,GetAxisRaw는 즉시 -1/0/1 값을 줍니다.- 눌린 순간은
GetButtonDown, 누르고 있는 동안은GetButton, 뗀 순간은GetButtonUp입니다.
짧은 예제
csharp
private void FixedUpdate()
{
body.MovePosition(body.position + moveDirection * moveSpeed * Time.fixedDeltaTime);
}빠른 정리
| 입력 함수 | 의미 |
|---|---|
GetAxis("Horizontal") | 부드러운 축 입력 |
GetAxisRaw("Horizontal") | 즉시 축 입력 |
GetButtonDown("Jump") | 눌린 순간 |
GetKeyDown(KeyCode.E) | 특정 키 순간 감지 |
주의할 점
입력은 Update에서 읽고, 물리 이동은 FixedUpdate에서 적용하는 식으로 분리해야
조작감이 안정적입니다.
참고 링크
2 sources