게임수학

이득우의 게임 수학) 1장.

다민 2022. 7. 23. 22:47

1.1 메타버스가 가져올 새로운 변화

 

이제 메타버스는 특정한 서비스를 뜻하지 않는다. 우리가 영위하는 실제의 삶이 디지털로 전환되고, 가상 세계에서 영위하는 것이 실재하게 되는 거대한 변화를 의미하는 것이다. p32

 

게임 엔진은 빠르고 효율적으로 게임을 개발할 수 있게 게임 제작에 필요한 여러 기능을 통합해 제공하는 소프트웨어를 의미한다. 게임 엔진은 게임 제작을 위해 개발됐지만, 지금은 앞서 언급한 가상 콘서트 및 버추얼 프로덕션, 가상 패션하우스 등 메타버스 전 분야에 깊이 연관되어 있다. p33

 

메타버스가 다양한 분야로 확산될수록 두 엔진(언리얼과 유니티)을 자유자재로 다루는 고급 개발자의 수요는 커질 것이다. ~ 따라서 메타버스 시대에 인정받는 고급 개발자가 되려면, 먼저 게임 엔진의 동작 원리를 이해하고 잘 다루는 것이 키포인트가 될 것이다. p33~34


 

1.2 게임 엔진의 구성

 

렌더링(Rendering) : 가상 공간을 이루는 수의 규칙을 분석하고 이를 빠르게 화면에 보여주는 작업. 그래픽카드(GPU)가 담당.

 

가상 세계에 관한 수학은 큰 틀에서 보면 선형대수학(Linear algebra)의 일종이라고 할 수 있다. 하지만 일반적인 선형대수학이 해를 구하는 데 치중되어 있다면, 가상 세계를 구성하는 선형대수학은 렌더링을 위한 공간의 구조를 분석하고 데이터를 다루는 데 고도화되어 있다. 렌더링을 중심으로 관련 이론과 기법을 다루는 학문을 컴퓨터 그래픽스(Computer graphics)라고 한다. p36

 

실시간 렌더링(Realtime rendering) : 컴퓨터 그래픽스에서 게임 기술은 실시간 렌더링 기술로 분류된다. 특징은 가상 공간의 구조를 분석해, 화면에 보이지 않는 불필요한 물체를 걸러내고 보이는 물체의 단면만 빠르게 그려내는 데 특화되어 있다. p37

 

테크니컬 아티스트가 갖춰야 할 첫 번째 역랑

- 삼각법 및 벡터 수학에 대한 탄탄한 이해 (가상 공간을 다룰 때 쓰이는 수학을 벡터 수학(Vector math)라고 한다)

 

그 외의 역량

- 최소 한 가지 이상의 '전통적인' 카테고리에 대한 기반(레벨 디자인, 배경 아트, 애니메이션, 코딩 등)

- 도움이 되는 스크립팅 언어 작성 경험 : 맥스 스크립트(MAXScript), 파이썬(Python), 매트랩(MATLAB)

- 언리얼 엔진4의 경우 : 블루프린트, 머티리얼, 레벨 스트리밍

- 컴퓨터의 작동 원리(하드웨어적인 부분에서부터 소프트웨어적인 부분까지)에 대한 숙지

- 컴퓨터의 서로 다른 부분이 어떤 식으로 유기적으로 작용해 씬을 렌더하는지, 즉 하드 드라이브에서 데이터를 로드하여 플레이어에 이미지로 나타내기까지의 과정에 대한 이해

p37


 

1.3 게임 수학의 구성

 

게임 엔진을 지탱하는 데 사용되는 수학의 3가지 범주

- 공간을 다루는 수학 : 벡터 -> 행렬

- 물체를 다루는 수학 : 점 -> 삼각형

- 회전을 다루는 수학 : 삼각함수 -> 사원수

p38, 그림 1-12

 

공간을 다루는 수학

트랜스폼(Transform)을 설정 : 가상 공간에 다수의 물체를 배치하고 관리하는 작업. 

트랜스폼 설정이 중요한 작업인 이유 : 넓은 관점에서 '게임 콘텐츠 제작'이란 기획 의도에 따라 게임 공간에 속한 모든 물체의 트랜스폼을 실시간으로 설정하는 작업이기 때문. 내적과 외적 응용. p38-39

 

물체를 다루는 수학

: 물체의 외형을 설정하고 이를 모니터 화면에 표현하는 데 사용되는 수학. p39

현실에서는 선으로 다양한 형태와 질감을 표현 / 컴퓨터 그래픽에서는 오로지 삼각형을 사용해 물체를 표현.

픽셀화(Rasterization) : 추상적인 수들로 구성된 가상 공간이 모니터 화면을 구성하는 픽셀(Pixel)로 변환되게 하기 위해 일련의 규칙을 설정하고 이를 프로그래밍 하는 것. p40

 

회전을 다루는 수학

: 가상 공간에서 안정적인 회전 변환을 구현하는 데 사용되는 수학.

2D 게임 -> 삼각함수에 익숙. 3D 게임 -> 더 높은 수준의 수학.

 

회전 : '크기가 1인 수와의 곱'. 여기서 '수'란 실수를 넘어 복소수와 사원수를 포괄. 따라서 다차원 수의 구조를 파악해야 한다. 사원수를 사용하면 4차원 공간에서의 자유로운 회전이 가능하지만, 4차원은 안쓰고 3차원의 회전이 필요하므로 4차원 공간을 3차원으로 제한시키는 규칙을 이해하기 위해 오일러 공식의 유도가 필요하다.


 

1.4 이 책의 실습 환경 구축

 

비주얼 스튜디오와 CMake 소프트웨어가 필요.