현대 게임 개발에서 유니티(Unity)는 가장 인기 있는 엔진 중 하나입니다. 강력한 기능과 다루기 쉬운 사용자 인터페이스 덕분에 많은 개발자들이 선택하는 툴 중 하나입니다. 본 강좌에서는 유니티를 사용하여 플레이어 캐릭터가 바라보는 방향으로 이동할 수 있는 기본적인 시스템을 구축하는 방법에 대해 자세히 알아보겠습니다.
1. 프로젝트 설정
유니티를 처음 시작할 때, 프로젝트 설정이 중요합니다. 새로운 유니티 프로젝트를 생성하는 방법은 다음과 같습니다.
- 유니티 허브를 열고 ‘New’ 버튼을 클릭합니다.
- 2D 또는 3D 템플릿을 선택합니다. 이 튜토리얼에서는 3D 템플릿을 선택합니다.
- 프로젝트 이름을 입력하고, 저장 경로를 설정한 후 ‘Create’ 버튼을 클릭합니다.
2. 캐릭터 및 환경 설정
프로젝트가 생성되면 기본적인 캐릭터와 환경을 설정해야 합니다. 초보자도 사용할 수 있는 유니티의 기본 모델인 큐브를 사용해 보겠습니다.
2.1 캐릭터 생성
3D 객체로서 큐브를 생성하여 캐릭터로 사용할 수 있습니다. 다음 단계를 따릅니다.
- Hierarchy 패널에서 오른쪽 클릭하여
3D Object > Cube
를 선택합니다. - 새로 생성된 큐브의 이름을 Player로 변경합니다.
2.2 카메라 설정
플레이어가 위치한 곳에서 바라볼 수 있도록 카메라의 위치를 조정합니다. 카메라가 플레이어를 바라보도록 설정하는 방법은 다음과 같습니다.
- Hierarchy 패널에서 카메라를 선택합니다.
- Transform 컴포넌트에서 자리를 이동하여 큐브를 바라보게 합니다(예: Position을 X: 0, Y: 5, Z: -10으로 설정).
3. 스크립트를 통한 이동 구현
이제 플레이어를 바라보는 방향으로 이동할 수 있도록 스크립트를 작성해야 합니다. 이 스크립트는 유니티의 C# 프로그래밍 언어를 사용하여 작성됩니다.
3.1 스크립트 생성
- Project 패널에서 Scripts 폴더를 만들고, 그 안에 PlayerMovement.cs라는 이름의 스크립트를 생성합니다.
- 스クリプ트를 더블 클릭하여 Visual Studio 또는 MonoDevelop에서 엽니다.
3.2 스크립트 작성
아래 코드를 PlayerMovement.cs
스크립트에 입력합니다. 이 코드는 사용자가 W, A, S, D 키를 눌러 이동할 수 있도록 지원합니다.
using UnityEngine;
public class PlayerMovement : MonoBehaviour {
public float speed = 5.0f;
void Update() {
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 direction = new Vector3(moveHorizontal, 0.0f, moveVertical);
if (direction.magnitude > 1) {
direction.Normalize();
}
// 플레이어의 현재 회전 상태와 이동 방향을 고려하여 이동
Vector3 movement = Camera.main.transform.TransformDirection(direction);
movement.y = 0; // 수직 이동은 기본적으로 0으로 설정
transform.position += movement * speed * Time.deltaTime;
// 플레이어가 바라보는 방향으로 회전
if (movement != Vector3.zero) {
Quaternion toRotation = Quaternion.LookRotation(movement, Vector3.up);
transform.rotation = Quaternion.RotateTowards(transform.rotation, toRotation, 720 * Time.deltaTime);
}
}
}
3.3 스크립트 부착하기
- Hierarchy 패널에서 Player 객체를 선택합니다.
- Inspector 패널에서 Add Component 버튼을 클릭하고 PlayerMovement를 검색하여 추가합니다.
4. 테스트 및 조정
스크립트를 작성하고 플레이어 객체에 부착한 후, 플레이어의 움직임을 테스트해 보겠습니다.
- 상단 메뉴에서 File > Save Scene을 클릭하여 현재 씬을 저장합니다.
- 상단 중앙의 Play 버튼을 클릭하여 게임을 실행합니다.
W, A, S, D 키를 눌러서 플레이어가 바라보는 방향으로 이동하는지 확인합니다. 만약 이동이 제대로 작동하지 않거나 속도가 너무 빠르거나 느린 경우, speed
변수를 조정하여 원하는 느낌을 찾을 수 있습니다.
5. 마무리
이 강좌에서는 유니티에서 캐릭터가 바라보는 방향으로 이동할 수 있는 기본적인 시스템을 만들었습니다. 앞으로 더 복잡한 동작이나 애니메이션을 추가할 수 있으며, 이 기초를 바탕으로 프로젝트를 확장할 수 있습니다. 유니티와 C#에 대한 이해도를 높이며, 다양한 기능과 스킬을 익혀 나가세요.
다음 포스트에서는 적 NPC를 추가하여 플레이어와 상호작용하는 방법에 대해 알아보겠습니다. 계속해서 배워나가며, 여러분의 게임 개발 여정을 즐기시기 바랍니다!