게임 수학 시리즈 – 이동 변환 행렬
이전 글에서는 행렬(Matrix)이 왜 중요한지를 정리해보았습니다. 특히 게임 엔진 안에서 객체 이동과 회전, 카메라 처리, 렌더링 파이프라인, 스켈레탈 애니메이션 같은 다양한 시스템들이 모두 행렬 기반으로 동작한다는 점을 함께 살펴보았습니다. 이번에는 가장 기본적인 행렬 중…
Series Archive
게임 개발 및 프로그래밍에 관련된 주제에 대한 카테고리 입니다.
이전 글에서는 행렬(Matrix)이 왜 중요한지를 정리해보았습니다. 특히 게임 엔진 안에서 객체 이동과 회전, 카메라 처리, 렌더링 파이프라인, 스켈레탈 애니메이션 같은 다양한 시스템들이 모두 행렬 기반으로 동작한다는 점을 함께 살펴보았습니다. 이번에는 가장 기본적인 행렬 중…
이전 글에서는 외적(Cross Product)이 왜 중요한지를 정리해보았습니다. 특히 외적을 이용해 법선 벡터(Normal Vector)를 계산하는 방법과, 카메라 좌표계를 구성하는 방식, 그리고 회전 방향 계산에 어떻게 활용되는지를 함께 살펴보았습니다. 이번에는 게임 수학에서 가장 중요한 개념 중…
이전 글에서는 내적(Dot Product)이 게임 안에서 왜 중요한지를 정리해보았습니다. 특히 두 벡터가 얼마나 같은 방향을 바라보고 있는지를 계산하기 위해 내적이 사용된다는 점과, AI 시야 판정과 조명 계산 같은 다양한 시스템에서 실제로 활용된다는 점도 함께…
이전 글에서는 벡터의 길이(Length)와 정규화(Normalize)가 왜 중요한지를 정리해보았습니다. 특히 방향은 유지하면서 벡터 길이를 항상 1로 유지해야 하는 이유와, 게임 안에서 이동 속도를 일정하게 유지하기 위해 정규화가 어떻게 사용되는지도 함께 살펴보았습니다. 이번에는 게임 수학에서 굉장히…
이전 글에서는 벡터(Vector)가 게임 안에서 위치와 방향을 표현하기 위해 어떻게 사용되는지를 정리해보았습니다. 하지만 실제 게임 개발에서는 단순히 방향만 계산해서는 충분하지 않은 경우가 많습니다. 예를 들어 플레이어가 이동 방향을 계산했다고 해도, 그 방향 벡터의 길이가…
이전 글에서는 삼각함수가 게임 안에서 방향과 회전을 계산하기 위해 어떻게 사용되는지를 정리해보았습니다. 그리고 방향을 계산하기 시작하면 자연스럽게 등장하는 개념이 바로 벡터(Vector)입니다. 게임 안에서는 객체의 위치와 방향, 속도 같은 정보들을 계속 계산해야 합니다. 캐릭터는 이동하고,…
게임 개발을 공부하는 과정에서 걸림돌이 되는 것 중 하나가 바로 게임 수학입니다. 그렇게 게임 수학을 공부하다 보면, 고등학교 시절 우리를 어렵게 했던 삼각함수를 만납니다. 그리고 많은 개발자와 개발 지망생들이 삼각함수를 공부하기 시작하면서 어려움을 느끼는…
이전 글에서는 벌스(Verse)의 Failure 개념이 왜 중요한지를 정리해보았습니다. 특히 벌스는 실패 가능성을 단순 런타임 오류 수준으로 처리하기보다, 언어 안에서 비교적 직접적으로 표현하려는 특징을 가지고 있다는 점도 함께 살펴보았습니다. 이번 글에서는 벌스의 또 다른 핵심…
이전 글에서는 벌스(Verse)의 함수 문법이 기존 C++나 게임 스크립트 언어와 어떻게 다른지를 정리해보았습니다. 특히 override와 suspends 같은 표현들을 통해 함수의 상태와 특성을 코드 안에서 비교적 직접적으로 표현하고 있다는 점도 함께 살펴보았습니다. 이번 글에서는 벌스를…
이전 글에서는 벌스(Verse)의 변수 선언 방식과 타입 시스템, 그리고 option 타입과 Failure 개념이 어떤 방향성을 가지고 있는지를 정리해보았습니다. 이번 글에서는 벌스 함수 문법이 왜 기존 언어들과 조금 다르게 느껴지는지, 그리고 함수 선언 구조 안에…