[Unity] 6. 오브젝트 이동
공부/Unity

[Unity] 6. 오브젝트 이동

안녕하세요.

기계과 감성쟁이입니다.

 

이번에는 오브젝트를 이동시켜 보겠습니다.

내가 사라져볼게 얍!

 

1. 기본적인 오브젝트 위치 이동


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class move : MonoBehaviour
{

    void Start()
    {
        Vector3 disp = new Vector3(1, 1, 1); // 3차원 벡터 생성
        transform.Translate(disp); // 벡터 값을 현재 위치에 더함 
     
    }

}

 

2차원 환경에서는 Vector2, 3차원 환경에선 Vector3 를 사용합니다.

transform.Translate() 는 현재 위치에 벡터 값을 더해줍니다.

 

 

초기 위치입니다.

오른쪽 Position 을 확인하시면 (0,0,0) 인 것을 확인하실 수 있습니다.

 

 

나중 위치입니다.

Position 이 (1,1,1)로 변경되었습니다.

 

이걸 Start() 가 아닌 Update() 에 넣으면

(1,1,1) 이 끊임없이 더해지며 오브젝트가 계속 이동할 겁니다.

 

 

그리고 이 스크립트를 Main Camera 에 넣어주면,

오브젝트를 따라 카메라도 움직일 것입니다.

 

2. 입력을 이용한 오브젝트 이동


그러면,

 

2021.07.19 - [분류 전체보기] - [Unity] 5. 키보드와 마우스 이용 (2)

에서 배웠던 키보드 입력과 GetAxis() 를 이용하여 오브젝트를 이동시켜봅시다.

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class move : MonoBehaviour
{

    void Update()
    {

        Vector3 disp = new Vector3(0.1f*Input.GetAxis("Horizontal"), Input.GetAxisRaw("Vertical"), 0);
        transform.Translate(disp); // 벡터 값을 현재 위치에 더함 
     
    }

}

 

GetAxisRaw() 와 연산자도 사용해보았습니다.

 

 

왼쪽과 위쪽 버튼을 살짝 누른 모습입니다.

Poistion 의 x 값은 소수점이며, y 값은 단위가 1 입니다.

위치가 변경된 것은 당연하구요.

 


 

오브젝트 이동에 대해서 알아보았읍니다...

 

몇 년 째 생각만 하다가

오늘 귀를 뚫었는데... 신선하네여

 

도와준 분에게 고마움을 전하며 이 글을 바칩니다

그럼 20000...