Global : 실제 3차원 좌표계가 있다고 하면, 전체 world 좌표를 기준으로 떨어진 좌표
Local : 상대좌표. 특정 좌표 밑에 child로 붙는 좌표
예를 들어서 전체 world에서 3차원 사각형이 있다고 하자. 이 좌표는 (4,2,2)이다.
이때, 전체 world의 원점을 기준으로 떨어진 좌표가 (4,2,2)이므로 이 사각형은 Global 좌표이고 좌표값의 크기는 (4,2,2)다.
만약, 3차원 사각형에 child로 붙어있는 원기둥 오브젝트가 있다면, 이 오브젝트는 (0,0,0)의 Local 좌표를 가지고, (4,2,2)의 Global 좌표를 가지게 된다.

그리고 원기둥 오브젝트를 x방향으로 1 이동시키면, 각 좌표의 변화는 다음과 같다.

따라서, 다음과 같은 공식이 성립한다.
부모좌표 + 자식의 로컬좌표 = 자식의 글로벌 좌표
이는 scale(크기 조절)과 Rotation(회전 조절)에도 마찬가지로 적용된다. 따라서, 부모가 크기를 조절하거나 회전을 준다면 자식도 크기와 회전이 변화한다.

예를 들어서, 유니티 프로그램에서 정사면체 모양의 Cube를 만들고 3차원 원 모양의 Sphere를 만들어보자.
Cube의 Position은 (4,1,4) 이고 Sphere의 Position은 (0,0,0)이다.
이때, Sphere의 오브젝트를 Cube의 Child로 만들어주면, Position은 (-4,-1,-4)가 된다.

이는 Cube Position + Sphere local Position = Sphere Global Position이기 때문이다.
또한 부모가 이동하게 되면 자식도 같이 이동하는 것을 볼 수 있다. Cube를 x 방향으로 1 이동하고 Sphere가 Child를 취소하면 x 방향으로 1 이동하는 것을 볼 수 있다.

오브젝트 이동은 다음을 이용할 수 있다.
public class Mover : Monobehaviour
{
void Start()
{
Vector3 targetPosition = new Vector3(1,0,0); // 절대 좌표
transform.position = targetPosition; // 이동
}
}
public class Mover : Monobehaviour
{
public Vector3 move = new Vector3(-5,-5,-5); // 벡터, 상대 좌표
void Start()
{
transform.position += move;
}
}
public class Mover : Monobehaviour
{
public Vector3 move = new Vector3(-5,-5,-5); // 벡터, 상대 좌표
void Start()
{
transform.Translate(move);
}
}
오브젝트의 움직임을 자연스럽게 하기 위해서 사용한다.
DeltaTime : 마지막 프레임이 완료되기까지 걸리는 시간
FixedDeltaTime : DeltaTime이 컴퓨터의 성능에 따라 프레임의 효율이 달라지기 때문에 시간을 고정시켜서 프레임의 효율을 고정시켜 준 것.
컴퓨터의 성능에 따른 게임의 변화를 막기 위해서 FixedDeltaTime과 FixedUpdate를 섞어 사용한다.
TimeScale : 게임 전체의 UpdateTime을 조정하고 싶을 때 사용 (리플레이, 4배속, 2배속..)

다음 이미지처럼 사용한다.
변수로 속도를 추가하여 이동 속도까지 적용시킬 수 있다.
