Vector3
- (x, y, z)로 이루어진 자료형
- x, y, z는 좌표가 아니라, 부모로부터 x, y, z만큼 떨어져 있다는 것을 의미한다.
- Vector3 끼리의 곱은 불가능하나 상수와의 곱은 가능하다.
Vector3.right : (1, 0, 0)
Vector3.left : (-1, 0, 0)
Vector3.up : (0, 1, 0)
Vector3.down : (0, -1, 0)
Vector3.forward : (0, 0, 1)
Vector3.back : (0, 0, -1)
Vector3.one : (1, 1, 1)
Vector3.zero : (0, 0, 0)
자신이 원하는 Vector3을 만들고 싶다면
Vector3 tempVector3 = new Vector3(a, b, c);
의 형태로 만들 수 있다.
Vector3은 아래와 같은 속성을 가지고 있다.
- magnitude : 벡터의 길이 ( 읽기 전용 )
- normalized : 크기가 1인 벡터, 정규화 벡터 ( 읽기 전용 )
- sqrMagnitude : 벡터의 길이의 제곱근 ( 읽기 전용 )
- x, y, z
* Transform.Translate( Vector3 direction, [Space relativeTo] );
2번째 인자 Space는 이동하는 게임오브젝트의 기준좌표가 월드 좌표( Space.World )를 기준으로 이동할지,
로컬 좌표(Space.Self)를 기준으로 이동할지를 결정한다. 생략할 시 기본 값은 로컬 좌표이다.
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
Vector3 moveDir = (Vector3.forward * v) + (Vector3.right * h);
위와 같이 하여 Translate의 첫 번째 인자로 넣어주게 되면, 대각선 방향의 벡터로 길이가 길어져 속도가 빨라진다.
따라서 1로 고정시켜주어야 하므로, 정규화 벡터(단위 벡터)를 이용해주어야 한다.
moveDir.normalized
'Unity 공부시작' 카테고리의 다른 글
유니티 :: 프로퍼티와 싱글턴 오브젝트 (0) | 2019.01.09 |
---|---|
유니티 :: 좌표계 (0) | 2019.01.07 |
유니티 :: 이벤트 함수 (0) | 2019.01.07 |
유니티 :: prefab에 오브젝트 할당 (0) | 2019.01.07 |
콜라한캔 :: 유니티 다운로드 (0) | 2018.12.23 |