회전
오일러 회전 : X, Y, Z
순서대로 하나의 축씩 회전
0 ~ 360도로 표시된 사람이 알아보기 쉬운 회전값
쿼터니언 회전 : X, Y, Z, W
가상의 축 기반으로 3축이 동시에 회전
사람이 알아보기 힘든 회전값
[예제] 3차원에서 태양계 회전
Rotate : 특정 축으로 회전 기능
RotateAround : 특정 대상을 기준으로 회전

**** Material 들이 깨진상태로 나온다면, Material Shader를 Standard 로 변경할 것
(해당 에셋은 Universal Render Pipeline 전용 메터리얼이기 때문에
Built-in Render Pipeline 렌더링 시스템 사용시, 에셋이 깨질 수 있음)
*** 태양을 제외한, 수성, 금성,지구,화성,목성,토성,천왕성,해왕성,명왕성 객체에는
해당 컴포넌트의 Target 에 태양을 할당(공전효과 적용)
* 해당 컴포넌트의 rotSpeed, rotAroundSpeed 에는 난수(R(1, 50)) 적용
- public Transform target;
// 공전을 할때 필요한 대상을 설정하기위한 코드.
// public 이기 때문에, Inspector 창에서 트랜스폼 타입의 변수선언 가능
- public float rotSpeed, rotArtoundSpeed = 0f;
// 초기값을 선언(상기의 코드에서는 0) 함으로서, 기본값이 0부터
시작하도록 의도한 것임을 명시함.
// public 이기 때문에, Inspector 창에서 rotSpeed, rotArtoundSpeed
의 실수값을 입력가능
- void Update()
// 매 프레임마다 적용이 되야하기 때문에 Update 함수 사용
- transform.Rotate(Vector3.up * rotSpeed * Time.deltaTime);
// 자전을 하기 위한 코드
// 오브젝트를 특정 축을 기준(transform.Rotate) 으로, y축을 고정한 상태
(Vector3.up_ (0, 1, 0))에 rotSpeed 와 Time.deltaTime 를 곱함.
// 오브젝트가 자기 자신의 y축을 기준으로 프레임 속도와 무관하게 rotSpeed에 따라 회전.
- transform.RotateAround(target.position, Vector3.up,
rotArtoundSpeed * Time.deltaTime);
// 공전을 하기 위한 코드
// 오브젝트를 특정 대상을 기준(transform.RotateAround) 으로, 공전할 때
중심이 되는 위치(target.position)와, y축을 고정한 상태
(Vector3.up_ (0, 1, 0))에서, rotArtoundSpeed 와 Time.deltaTime 를 곱함.
// 오브젝트가 target의 y축을 기준으로 프레임 속도와 무관하게
rotArtoundSpeed 속도로 회전.
'게임 개발(유니티) > 멋쟁이 사자처럼 3기_회고록' 카테고리의 다른 글
| [멋쟁이사자처럼 유니티 TIL] 2024_11_28(목) 강의 요약 및 정리 (0) | 2024.12.01 |
|---|---|
| [멋쟁이사자처럼 유니티 TIL] 2024_11_27(수) 강의 요약 및 정리 (0) | 2024.11.28 |
| [멋쟁이사자처럼 유니티 TIL] 2024_11_25(월) 강의 요약 및 정리 (0) | 2024.11.25 |
| [멋쟁이사자처럼 유니티 TIL] 2024_11_22(금) 강의 요약 및 정리 (0) | 2024.11.23 |
| [멋쟁이사자처럼 유니티 TIL] 2024_11_21(목) 강의 요약 및 정리 (0) | 2024.11.23 |