있습니다 많은 유용한 수학의 다른 형태는 있지만, 절대에서 최소한 당신이 알 필요가 :
이것들은 꽤 기본적이지만, 이것을 모른다면 게임 개발자는 물론 프로그래머도 될 수 없습니다.
게임 세계의 오브젝트는 벡터로 표시됩니다. 벡터는 물체의 위치, 방향 및 속도와 같은 것을 나타냅니다. Dot Product , Cross Product 및 Vector normalization과 같은 벡터 수학 계산 이 필수적입니다.
게임 오브젝트를 어떻게 이동합니까? 초보자는 다음과 같이 말할 수 있습니다.
"알아요! 그냥하겠습니다 :" object.position.x++
.
아니, 아니. 벡터 계산을 사용해야합니다. 개체는 개체를 이동하는 데 사용할 수있는 위치, 방향 및 가속도 벡터가 필요합니다. 초보적인 작업을 수행하면 유지 관리 할 수없는 혼란에 빠지게되며 세계의 XYZ 축과 정렬되지 않은 방향으로 어떻게 움직이게됩니까?
게임이 쿼터니언을 사용하는 주된 이유는 Gimbal lock 을 겪지 않고 거의 오일러 각도만큼 회전을 공간적으로 나타 내기 때문 입니다. 오일러 각도가 축을 중심으로 90도 회전하면 짐벌 잠금이 시작됩니다. 즉각 자유도를 잃게됩니다. 쿼터니언은 네 번째 차원을 추가하여이 문제를 해결합니다. 오일러 각을 고수 한 경우 한 축이 ~ 89도 이상 회전하지 않도록 제한해야합니다.
게임에서 물리 반응에 대한 수학을 프로그래밍하려는 경우 물리 클래스를 복용하는 것은 나쁜 생각이 아닙니다.
물리 방정식을 알아야하는 이유 :
- 볼 바운스 만들기 (참조 : 배상 계수)
- 'x'뉴턴의 힘으로 방향으로 공을 움직입니다.
- 마찰이 다른 물체를 만들어 다른 속도로 미끄러지도록합니다
- 충돌 응답 : 객체를 '여기'에 닿으면 회전하는 방향은 무엇입니까?
물리 엔진 (또는 물리 엔진이 내장 된 게임 엔진)을 사용하면 물리에 대해 거의 알지 못합니다. 그러나 물리 엔진이 제대로 작동하지 않기 때문에 손을 더러워 야 할 때를 아는 것이 좋습니다.