본문 바로가기

Unity3d

유니티 기초: 오브젝트 이동과 회전의 모든 것

유니티 엔진을 활용한 게임 개발에서 오브젝트의 이동과 회전은 게임 내 캐릭터나 오브젝트에 생동감을 부여하는 핵심적인 요소입니다. 이 포스팅에서는 유니티에서 오브젝트를 이동시키고 회전시키는 기본적인 방법을 알아보겠습니다.

 

오브젝트 이동하기:

 

  1. 유니티 에디터에서 새로운 3D 프로젝트를 생성합니다.
  2. GameObject 메뉴를 통해 새로운 Cube를 생성하고, 이 오브젝트에 'Mover'라는 이름의 새 스크립트를 추가합니다.

Mover.cs 스크립트를 만들고 다음 코드를 작성합니다:

 

using UnityEngine;

public class Mover : MonoBehaviour
{
    public float moveSpeed = 5f;

    void Update()
    {
        float x = Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime;
        float z = Input.GetAxis("Vertical") * moveSpeed * Time.deltaTime;

        transform.Translate(x, 0, z);
    }
}

 

위 스크립트는 Horizontal과 Vertical 입력에 반응하여 오브젝트를 이동시킵니다. Translate 함수는 현재 오브젝트의 위치에 (x, y, z)만큼 추가적인 이동을 생성합니다.

 

오브젝트 회전하기:

 

이제 오브젝트가 회전하는 기능을 추가해보겠습니다. Mover 스크립트에 다음 코드를 추가합니다:

 

public float rotationSpeed = 100f;

void Update()
{
    float x = Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime;
    float z = Input.GetAxis("Vertical") * moveSpeed * Time.deltaTime;

    transform.Translate(x, 0, z);

    float yRotation = Input.GetAxis("Mouse X") * rotationSpeed * Time.deltaTime;
    transform.Rotate(0, yRotation, 0);
}

 

Rotate 함수는 오브젝트에 회전을 추가합니다. 여기서는 마우스의 X축 움직임에 반응하여 y축을 중심으로 회전하도록 설정하였습니다.

이렇게 간단한 코드 몇 줄로 유니티에서 오브젝트를 이동시키고 회전시킬 수 있습니다. 이 기초적인 원리를 이해하고 나면, 더 복잡한 움직임도 쉽게 구현할 수 있을 것입니다.

 

이번 포스팅에서는 유니티의 기본적인 이동과 회전 명령어를 알아보고, 간단한 스크립트로 이를 구현해보았습니다. 다음 포스팅에서는 이 기능들을 활용한 보다 심화된 게임 메커니즘을 살펴보도록 하겠습니다. 계속해서 저희 블로그를 주목해주세요!