본문 바로가기
Unity/기본 공부

캐릭터 움직이기

by 이원혁 2022. 11. 30.
반응형

유니티에서 캐릭터를 움직이기 위해서는 조종할 객체가 필요하다.

좌측 하이어라키(Hierarchy)창에서 마우스 우클릭을 누르고 움직일 객체를 만들어 줍니다.

저는 정육면체의 Cube를 만들었고 Move라는 스크립트를 만들어서 넣어줬습니다.

 

객체를 움직이는 방법은 여러가지인데 Rigidbody컴퍼넌트를 추가하여 Rigidbody를 이용하여 움직이거나 객체의 transform을 이용하여 움직이는 방법이 있습니다. 오늘은 transform.translate를 이용하겠습니다.

 

transform.position은 맵에서 해당 오브젝트의 절대 좌표를 나타내고 Vector3를 대입하여 x,y,z축을 넣어주면 해당 방향으로 이동합니다.

 

using UnityEngine;

public class Move : MonoBehaviour
{
    void Update()
    {
        float xAxis = Input.GetAxisRaw("Horizontal");  // 좌우(AD 키, 좌우 방향키) (-1 or 1)
        float zAxis = Input.GetAxisRaw("Vertical");    // 상하(WS 키, 상하 방향키) (-1 or 1)

        if (xAxis != 0 || zAxis != 0)
        {
            transform.Translate(new Vector3(xAxis, 0, zAxis)*Time.deltaTime);
        }
    }
}
using UnityEngine;

public class Move : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            transform.Translate(-0.1f, 0, 0);
        }
        if (Input.GetKey(KeyCode.RightArrow))
        {
            transform.Translate(0.1f, 0, 0);
        }
        if (Input.GetKey(KeyCode.UpArrow))
        {
            transform.Translate(0, 0, 0.1f);
        }
        if (Input.GetKey(KeyCode.DownArrow))
        {
            transform.Translate(0, 0, -0.1f);
        }
    }
}

transform의 translate의 사용법 이었습니다.

반응형

'Unity > 기본 공부' 카테고리의 다른 글

유니티 컴포넌트 접근하기  (0) 2022.12.01
투사체 발사하기(Bullet)  (0) 2022.12.01
유니티 충돌체크  (0) 2022.11.30