본문 바로가기

프로그램 공부/Unity 함수

유니티 게임오브젝트 이동

- Vector 데이터 타입의 속성

속성 속성 설명
magnitude 벡터의 길이(읽기 전용)
normalized 크기가 1인 벡터 == 정규화 벡터(읽기 전용)
sqrMagnitude 벡터의 길이의 제곱근(읽기 전용)
x 벡터의 x 성분
y 벡터의 y 성분
z 벡터의 z 성분

 

· 매 프레임마다 10 유닛만큼씩 이동

transfrom.Translate(Vector3.forward * 10);

 

· 매 초마다 10 유닛만큼씩 이동 -> 프레임레이트가 서로 다른 기기에서도 같은 속도로 이동 가능

transform.Translate(Vector3.forward * 10 * Time.deltaTime);

 

- 정규화 벡터(Normalized Vector)

: 방향만 표시하는 벡터

Vector3.forward Vector3(0,0,1)
Vector3.back Vector3(0,0,-1)
Vector3.left Vector3(-1,0,0)
Vector3.right Vector3(1,0,0)
Vector3.down Vector3.(0,-1,0)
Vector3.up Vector3(0,1,0)
Vector3.one Vector3(1,1,1)
Vector3.zero Vector(0,0,0)

 

-유니티는 왼손 좌표계를 사용

Z축이 전진 방향

(X : 빨강, Y : 초록, Z : 파랑)

 

-오브젝트 이동

transform을 이용해 이동

: 물리법칙이 적용되지 않는 대상일때 사용.

transform을 이용해 강제적으로 이동하면, 물리법칙을 무시하고 강제로 절대위치를 바꿔버리는 것이기에 위치가 옮겨진 후 물리법칙이 고장나는 현상이 발생한다.

 

Rigidbody 컴포넌트를 이용해 이동

: 물리법칙이 적용되어있는 대상일때 사용.

물리가 적용되어 있는 Rigidbody이기 때문에 Rigidbody 컴포넌트를 이용해 이동하는 것이 좀 더 자연스러운 물리법칙이 적용된다.

'프로그램 공부 > Unity 함수' 카테고리의 다른 글

Quaternion  (0) 2019.06.13
유니티 마우스, 터치 관련 함수  (0) 2019.05.23
유니티 캐릭터 이동  (0) 2019.05.21
유니티 키보드 입력  (0) 2019.05.21
유니티 기본함수  (0) 2019.05.21