GUMI Dev
[유니티 Input] 오브젝트 이동 본문
Transform: 오브젝트 형태에 대한 기본 컴포넌트. transform은 선언해서 초기화 할 필요가 없다. 오브젝트는 변수 transform을 항상 가지고 있다.
Translate: 벡터 값을 현재 위치에 더하는 함수
스칼라 값: 순수한 값
벡터: 방향과 그에 대한 크기 값
int number = 4; //스칼라 값
Vector3 vec = new Vector3(0, 0, 0); //벡터 값(x축, y축, z축의 방향과 크기)
벡터를 사용하여 스크립트를 작성해보았다.
Translate는 현재 위치 값에서 입력한 숫자만큼 더해지며, 얼만큼 이동하는지 결정한다.
아래에 같이 스크립트를 작성하면 해당 스크립트가 적용된 게임오브젝트는 x축과 y축과 z축 모두 0, 0, 0인 곳에 위치하게 된다.
만약 Vector3 vec = new Vector3(0, 0, 0);을 Vector3 vec = new Vector3(5, 0, 0);로 바꾸면, 게임 오브젝트는 x축으로 5만큼 이동하게 된다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LifeCycle : MonoBehaviour
{
void Start()
{
Vector3 vec = new Vector3(0, 0, 0);
transform.Translate(vec);
}
}
이번에는 void Update에 입력해보았다.
Update는 1초에 60회씩 동작한다.
따라서 아래와 같이 입력하면 게임 오브젝트가 y축으로 0.1f씩 계속해서 이동하게 된다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LifeCycle : MonoBehaviour
{
void Start()
{
}
void Update()
{
Vector3 vec = new Vector3(0, 0.1f, 0);
transform.Translate(vec);
}
}
'Unity' 카테고리의 다른 글
[유니티 C#] 접근자(private, public, protected, internal) (0) | 2021.11.17 |
---|---|
[유니티 Input] 키보드 입력 (0) | 2021.11.17 |
[유니티 Input] 버튼 (0) | 2021.11.17 |
[유니티 Input] 마우스 입력 (0) | 2021.11.17 |
[유니티 Input] 키보드 입력 (0) | 2021.11.17 |