Deff_Dev

[Unity] 게임 수학 본문

면접 질문 정리/Unity

[Unity] 게임 수학

Deff_a 2024. 7. 27. 13:46

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. 월드 스페이스와 로컬 스페이스의 차이점

 

[Unity/C#] RigidBody의 AddForce와 AddRelativeForce 차이점

기본 개념 AddForce : 월드 좌표를 기준으로 게임 오브젝트에게 힘을 부여함 AddRelativeForce : 게임 오브젝트의 로컬 좌표 기준으로 힘을 부여함 큐브 오브젝트에 y축 방향으로 힘을 줄 때 AddForce는 빨

deff-dev.tistory.com

  • 월드 스페이스는 게임 세계의 전체 좌표계로, 모든 객체의 위치, 회전, 크기가 전역 좌표계를 기준으로 정의한다.
  • 로컬 스페이스는 객체 자신의 좌표계를 기준으로 한 공간으로, 부모 객체를 기준으로 자식 객체의 위치, 회전, 크기가 정의된다.

4. 벡터의 내적과 외적을 어느 상황에 사용할 수 있는지 설명해주세요.

 

내적

 

[Unity/C#] 2D 부채꼴 범위 탐색

이 글에서는 게임 수학에 관한 자세한 내용은 다루지 않고 사용법과 왜 쓰는지에 대해 설명하겠다.게임 수학에 관한 자세한 설명은 다른 블로그를 찾아보면 자세하게 설명되어있으니 다른 블로

deff-dev.tistory.com

  • 벡터의 내적은 두 벡터의 크기와 그 사이의 각도의 코사인 값을 곱한 값이다.
  • 주로 부채꼴 범위 탐색 등 각도를 이용한 기능 구현에 사용된다.

외적

 

[Unity/C#] 법선 벡터

법선 벡터 : 특정 지점에서 표면에 수직으로 뻗어 있는 벡터 법선 벡터를 이용하여 점프대를 만들어보자 위와 같이 점프대를 만들 때 법선 벡터가 왜 필요할까 ? [Range(0f,15f)][SerializeField] private fl

deff-dev.tistory.com

  • 벡터의 외적은 두 벡터가 이루는 평면에 수직인 벡터를 계산한다.
  • 법선 벡터 계산, 회전 축 정의, 좌우 판별 등 방향과 관련된 기능 구현에 사용된다.

'면접 질문 정리 > Unity' 카테고리의 다른 글

[Unity] JSON과 직렬화  (0) 2024.07.22
[Unity] 최적화  (1) 2024.07.17
[Unity] 코루틴  (1) 2024.07.16
[Unity] MonoBehavior와 Unity 생명주기  (0) 2024.07.15