유니티 기초 강좌: 바라보는 방향으로 이동

현대 게임 개발에서 유니티(Unity)는 가장 인기 있는 엔진 중 하나입니다. 강력한 기능과 다루기 쉬운 사용자 인터페이스 덕분에 많은 개발자들이 선택하는 툴 중 하나입니다. 본 강좌에서는 유니티를 사용하여 플레이어 캐릭터가 바라보는 방향으로 이동할 수 있는 기본적인 시스템을 구축하는 방법에 대해 자세히 알아보겠습니다.

1. 프로젝트 설정

유니티를 처음 시작할 때, 프로젝트 설정이 중요합니다. 새로운 유니티 프로젝트를 생성하는 방법은 다음과 같습니다.

  1. 유니티 허브를 열고 ‘New’ 버튼을 클릭합니다.
  2. 2D 또는 3D 템플릿을 선택합니다. 이 튜토리얼에서는 3D 템플릿을 선택합니다.
  3. 프로젝트 이름을 입력하고, 저장 경로를 설정한 후 ‘Create’ 버튼을 클릭합니다.

2. 캐릭터 및 환경 설정

프로젝트가 생성되면 기본적인 캐릭터와 환경을 설정해야 합니다. 초보자도 사용할 수 있는 유니티의 기본 모델인 큐브를 사용해 보겠습니다.

2.1 캐릭터 생성

3D 객체로서 큐브를 생성하여 캐릭터로 사용할 수 있습니다. 다음 단계를 따릅니다.

  1. Hierarchy 패널에서 오른쪽 클릭하여 3D Object > Cube를 선택합니다.
  2. 새로 생성된 큐브의 이름을 Player로 변경합니다.

2.2 카메라 설정

플레이어가 위치한 곳에서 바라볼 수 있도록 카메라의 위치를 조정합니다. 카메라가 플레이어를 바라보도록 설정하는 방법은 다음과 같습니다.

  1. Hierarchy 패널에서 카메라를 선택합니다.
  2. Transform 컴포넌트에서 자리를 이동하여 큐브를 바라보게 합니다(예: Position을 X: 0, Y: 5, Z: -10으로 설정).

3. 스크립트를 통한 이동 구현

이제 플레이어를 바라보는 방향으로 이동할 수 있도록 스크립트를 작성해야 합니다. 이 스크립트는 유니티의 C# 프로그래밍 언어를 사용하여 작성됩니다.

3.1 스크립트 생성

  1. Project 패널에서 Scripts 폴더를 만들고, 그 안에 PlayerMovement.cs라는 이름의 스크립트를 생성합니다.
  2. 스クリプ트를 더블 클릭하여 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 스크립트 부착하기

  1. Hierarchy 패널에서 Player 객체를 선택합니다.
  2. Inspector 패널에서 Add Component 버튼을 클릭하고 PlayerMovement를 검색하여 추가합니다.

4. 테스트 및 조정

스크립트를 작성하고 플레이어 객체에 부착한 후, 플레이어의 움직임을 테스트해 보겠습니다.

  1. 상단 메뉴에서 File > Save Scene을 클릭하여 현재 씬을 저장합니다.
  2. 상단 중앙의 Play 버튼을 클릭하여 게임을 실행합니다.

W, A, S, D 키를 눌러서 플레이어가 바라보는 방향으로 이동하는지 확인합니다. 만약 이동이 제대로 작동하지 않거나 속도가 너무 빠르거나 느린 경우, speed 변수를 조정하여 원하는 느낌을 찾을 수 있습니다.

5. 마무리

이 강좌에서는 유니티에서 캐릭터가 바라보는 방향으로 이동할 수 있는 기본적인 시스템을 만들었습니다. 앞으로 더 복잡한 동작이나 애니메이션을 추가할 수 있으며, 이 기초를 바탕으로 프로젝트를 확장할 수 있습니다. 유니티와 C#에 대한 이해도를 높이며, 다양한 기능과 스킬을 익혀 나가세요.

다음 포스트에서는 적 NPC를 추가하여 플레이어와 상호작용하는 방법에 대해 알아보겠습니다. 계속해서 배워나가며, 여러분의 게임 개발 여정을 즐기시기 바랍니다!