게임 오브젝트의 구성요소 중에 Transform 이 있는데 이는 위치, 회전, 크기에 관한 정보를 가지고 있다.
1) Position 제어하기
-----------------------------------------
트랜스폼.포지션 = 백터값
=>
transform.position = new vector3(1,1,0);
-----------------------------------------
트랜스폼 포지션에 값을 넣어주려면 새로운 벡터값을 생성하고 넣어 주어야한다.
가독성을 높이기위해서 벡터 변수를 만들어서 넣을 수도 있다.
-----------------------------------------
백터3 백터이름 = 새로운백터생성(좌표값);
트랜스폼.포지션 = 백터이름;
=>
Vector3 vec = new Vector3(1,1,0);
transform.position = vec;
-----------------------------------------
Start() 함수에 넣어보자.
========================
public class PlayerMove : MonoBehaviour
{
void Start()
{
Vector3 vec = new Vector3(1,1,0);
transform.position = vec;
}
void Update()
{
}
}
========================
저장하고, 플레이 버튼을 눌러보자.
플레이어가 1,1,0 위치로 이동하고 중력을 받아서 밑으로 떨어지는 것을 볼 수 있다.
**
transform.position은 정해진 좌표로 이동한다. 이번에는 만큼 이동하는 걸로 보자.
-----------------------------------------
백터3 백터이름 = 새로운백터생성(좌표값);
트랜스폼.트랜슬레이트 (백터이름);
=>
Vector3 vec = new Vector3(1,1,0);
transform.Translate (vec);
-----------------------------------------
========================
public class PlayerMove : MonoBehaviour
{
void Start()
{
Vector3 vec = new Vector3(5,0,0);
transform.Translate (vec);
}
void Update()
{
}
}
========================
저장하고 현재 위치를 1,0,0으로 설정해보자.
플레이를 눌러보면 x값이 6이 되는것을 볼 수 있다.
2) Rotation
-----------------------------------------
백터3 백터이름 = 새로운백터생성(좌표값);
트랜스폼.회전 (백터이름);
=>
Vector3 vec = new Vector3(0,30,0);
transform.rotation = Quaternion.Euler(vec);
-----------------------------------------
========================
public class PlayerMove : MonoBehaviour
{
void Start()
{
Vector3 vec = new Vector3(0,30,0);
transform.rotation = Quaternion.Euler(vec);
}
void Update()
{
}
}
========================
플레이 버튼을 눌러보면 Rotation.y가 30이 되는걸 볼 수 있다.
*** 상대값 로데이션
-----------------------------------------
백터3 백터이름 = 새로운백터생성(좌표값);
트랜스폼.회전 (백터이름);
=>
Vector3 vec = new Vector3(0,30,0);
transform.Rotate(vec);
-----------------------------------------
========================
public class PlayerMove : MonoBehaviour
{
void Start()
{
Vector3 vec = new Vector3(0,30,0);
transform.Rotate(vec);
}
void Update()
{
}
}
========================
로테이션에 y값을 10으로 넣고 실행해보자.
플레이 버튼을 누르면 로테이션이 변경되있는것을 확인 할 수 있다.
3) Scale
-----------------------------------------
백터3 백터이름 = 새로운백터생성(좌표값);
트랜스폼.스케일 (백터이름);
=>
Vector3 vec = new Vector3(0,30,0);
transform.localScale = vec;
-----------------------------------------
========================
public class PlayerMove : MonoBehaviour
{
void Start()
{
Vector3 vec = new Vector3(10,10,0);
transform.localScale = vec;
}
void Update()
{
}
}
========================
플레이 버튼을 눌러보면 스케일이 10,10으로 변한것을 볼 수 있다.
이번시간에는 Transform에 대해서 살펴 봤다.
많이 유용한 내용들이니 복붙해서 유용하게 사용하길 바랍니다.
'Unity Basic > 03. Unity C# script basic' 카테고리의 다른 글
Unity Basic ch. 13] C#Script로 제어하기 Rigidbody 2D_Velocity (0) | 2020.04.27 |
---|---|
Unity Basic ch. 12] Sprite Renderer를 C#Script로 제어하기 (0) | 2020.04.27 |
Unity Basic ch. 10] 스크립트 게임오브젝트 활성화/비활성화/태그/레이어 (0) | 2020.04.27 |
Unity Basic ch. 09] 스크립팅 시작하기: Hello Unity World! (0) | 2020.04.26 |
Unity Basic ch. 08] 스크립팅 준비하기 (0) | 2020.04.26 |