Deff_Dev
[Unity] 게임 수학 본문
1. 오일러 각의 한계점에 대해 설명해주세요
오일러 각
- 강체가 놓인 방향을 3차원 공간에 표시하기 위해 레온하르트 오일러가 도입한 세 개의 각도로 3개의 서로 수직인 X,Y,Z 축 각도로 표현하는 일반적이고 직관적인 방법이다.
- 오일러 각도는 회전한 축을 기준으로 삼아 순차적으로 회전한다.
- 오일러 각은 회전을 세 번(X, Y, Z)에 나눠서 순차적으로 계산하기 때문에 종속적이다.
한계점
- 짐벌락
- 세 개의 회전 축 중 두 개가 겹쳐서 하나의 회전 자유도가 상실되는 현상을 말하고, 특정 각도에서 두 개의 축이 동일한 평면에 놓이면서 발생한다.
- 보간 문제
- 3축에 대해 회전이 종속적이므로 2개의 오일러 각도 사이를 보간할 때, 어느 방향으로 돌아갈지 중간 값을 결정할 수 없는 문제가 생긴다.
2. 쿼터니언을 사용하는 이유에 대해 설명해주세요.
쿼터니언 (Quaternion)
- 쿼터니언은 유니티에서 3D 공간의 회전을 나태내는 데이터 형식으로 4차원 벡터를 사용한다.
- (x,y,z,w) w는 스칼라 값으로 1이면 회전 X
사용 이유
- 쿼터니언은 오일러 각과 다르게 3개의 축을 동시에 회전시켜 다른 축에 대한 종속성을 없앴다. (짐벌락 현상 X)
- 하나의 축을 기반으로 움직이기 때문에 종속적 문제가 발생하지 않는다.
- 회전을 효율적으로 결합하고 연살할 수 있다.
- 회전축과 회전 각도를 모두 포함하고 있어 회전의 방향과 크기를 동시에 표현할 수 있다.
3. 월드 스페이스와 로컬 스페이스의 차이점
- 월드 스페이스는 게임 세계의 전체 좌표계로, 모든 객체의 위치, 회전, 크기가 전역 좌표계를 기준으로 정의한다.
- 로컬 스페이스는 객체 자신의 좌표계를 기준으로 한 공간으로, 부모 객체를 기준으로 자식 객체의 위치, 회전, 크기가 정의된다.
4. 벡터의 내적과 외적을 어느 상황에 사용할 수 있는지 설명해주세요.
내적
- 벡터의 내적은 두 벡터의 크기와 그 사이의 각도의 코사인 값을 곱한 값이다.
- 주로 부채꼴 범위 탐색 등 각도를 이용한 기능 구현에 사용된다.
외적
- 벡터의 외적은 두 벡터가 이루는 평면에 수직인 벡터를 계산한다.
- 법선 벡터 계산, 회전 축 정의, 좌우 판별 등 방향과 관련된 기능 구현에 사용된다.
'면접 질문 정리 > Unity' 카테고리의 다른 글
[Unity] JSON과 직렬화 (0) | 2024.07.22 |
---|---|
[Unity] 최적화 (1) | 2024.07.17 |
[Unity] 코루틴 (1) | 2024.07.16 |
[Unity] MonoBehavior와 Unity 생명주기 (0) | 2024.07.15 |