안녕하세요, 인친님들! 오늘은 게임 개발의 기본 중의 기본, 키보드 방향키를 이용해 캐릭터를 이동시키는 방법에 대해 알아보겠습니다.
이 기능은 거의 모든 2D 게임에서 필수적이며, 3D 게임에서도 자주 사용됩니다.
기본 설정
- 유니티 프로젝트를 엽니다.
- 이동시킬 캐릭터(오브젝트)를 생성하거나 선택합니다.
- 캐릭터에 새로운 C# 스크립트를 추가합니다. (예:
CharacterMovement.cs)
스크립트 작성하기
아래의 코드를 CharacterMovement.cs 파일에 작성합니다:
using UnityEngine;
public class CharacterMovement : MonoBehaviour
{
public float moveSpeed = 5f; // 이동 속도
void Update()
{
Vector3 movement = Vector3.zero;
// 왼쪽 화살표 키 입력 확인
if (Input.GetKey(KeyCode.LeftArrow))
{
movement.x = -1;
}
// 오른쪽 화살표 키 입력 확인
else if (Input.GetKey(KeyCode.RightArrow))
{
movement.x = 1;
}
// 캐릭터 이동
transform.position += movement * moveSpeed * Time.deltaTime;
}
}
코드 설명
moveSpeed변수는 캐릭터의 이동 속도를 결정합니다. Inspector에서 조절 가능합니다.Update()함수는 매 프레임마다 호출됩니다.Input.GetKey()를 사용하여 키 입력을 확인합니다:KeyCode.LeftArrow는 왼쪽 화살표 키를 나타냅니다.KeyCode.RightArrow는 오른쪽 화살표 키를 나타냅니다.
- 키 입력에 따라
movement벡터를 설정합니다. transform.position을 변경하여 캐릭터를 이동시킵니다.Time.deltaTime을 곱해 프레임 레이트에 관계없이 일정한 속도로 이동하게 합니다.
추가 팁
- 위/아래 이동을 추가하려면,
KeyCode.UpArrow와KeyCode.DownArrow를 사용하고movement.y를 조정하세요. - 부드러운 이동을 원한다면
Rigidbody2D(2D) 또는Rigidbody(3D)를 사용하여 물리 기반 이동을 구현할 수 있습니다. - 캐릭터 스프라이트의 방향을 바꾸고 싶다면, 이동 방향에 따라
transform.localScale.x의 부호를 변경하세요.
검색어 해시태그:
#유니티 #Unity #게임개발 #GameDev #캐릭터이동 #CharacterMovement #키보드입력 #KeyboardInput #유니티튜토리얼 #UnityTutorial #2D게임 #2DGame #게임프로그래밍 #GameProgramming #인디게임개발 #IndieGameDev #유니티C# #UnityCs #게임메카닉 #GameMechanics
'1인 개발 게임 (Unity) > UNITY' 카테고리의 다른 글
| [UNITY] 벡터의 크기만 가져가오는 법 (magnitude) (2) | 2024.08.08 |
|---|---|
| [UNITY] 충돌 판정 하는 법 1 - 원의 반지름 사용하기 (0) | 2024.08.08 |
| [UNITY] 오브젝트가 게임 뷰에서 안보여요 -> '레이어 번호'를 잘 설정합시다. (0) | 2024.08.08 |
| [UNITY] 컴포넌트란? (오브젝트에 성질/기능 추가하기) (2) | 2024.08.07 |
| [UNITY] 마우스 커서의 위치 받아오기 (mousePosition메소드) (1) | 2024.08.07 |