안녕하세요.
기계과 감성쟁이입니다.
이번에는 오브젝트를 이동시켜 보겠습니다.
내가 사라져볼게 얍!
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...