티스토리 뷰

Hobby/Book

[Book] 유니티로 배우는 게임 수학

생각많은 소심남 2016. 8. 2. 17:03


* 이 책은 베타 리딩을 목적으로 한빛미디어로부터 사전에 전달받은 후 읽은 책임을 알려드립니다.


내가 Unity를 처음 다뤄본건 2012년 Microsoft Imagine cup을 준비할 때이다. 생뚱맞게 준비에 필요한 Unity 라이선스와 키넥트용 asset을 주길래 몇달동안 이걸 사용해서 우리가 전달하려는 내용을 효과적으로 표현할 수 있을까 싶었다. 그래도 Unity가 참 편리한게 스크립트 부분과 씬 부분이 분리되어 있고, 사물 배치 같은 건 단순히 마우스 클릭만으로도 구현할 수 있었기 때문에 프로그래밍을 잘 못하는 나한테는 참 좋은 툴이었다.




 다만 한계는 있었다. 아무래도 3D를 효과적으로 표현하기 위해서는 카메라의 시점이나, 사물의 배치같은 걸 전혀 고려하지 않고 보니까, 정말 어색했다. 말하자면 게임툴로 만든 프로그램인데, 게임이 아닌 상황까지 온 것이다. 나중에 관련 강의를 들으면서 알게 된 것은 우리가 시중에서 볼 수 있는 간단한 3D게임이라도 복잡한 수식과 물리 법칙들이 들어가 있다는 것이다. 그때는 그런 걸 스스로 알길도 없고, 시간도 부족했다는게 너무 아쉬웠다.


 
 이 책이 바로 그런 수학적인 내용을 다룬 책이다. 아마 수학을 싫어하는 사람이라면 책을 펴고 몇페이지 읽자마자 금방 닫을지도 모른다. 이 책 자체가 수학이라는 주제를 다루고 실제로 예제를 다루는 것이기 때문에 책 몇페이지 읽다보면 복잡한 공식들이 좀 나온다. 다행히 이 공식을 설명하는 그림 예시들이 충분히 제시되어 있어, 읽는데는 큰 부담이 없을 것으로 보인다.


 + 내가 생각하는 장점이라면 역시 코드와 같은 실 예제들이 많다는 점이다. 이 책의 구성은 총 9절로 되어 있으며, 마지막 8,9절을 제외한 나머지 절에는 해당 내용에 맞는 C# script와 이를 위한 Scene 구성이 나열되어 있다. 따라서 예제를 처음부터 펴놓고 하나하나씩 따라가다보면 그 코드를 구성하는 수학 공식을 실제로 다뤄보면서 이해하는데 도움이 될거라 생각한다. 개인적으로는 여기서 다룬 내용 중 사원수(quaternion)에 대한 예시도 많이 나오고 내용도 충실한거 같아 도움이 되었다.


 - 역시 단점이라면 책 내용이 재미가 없다는 것이다. 어쩔수 없는 부분이기도 하고.. 무언가 코딩을 하면서 이해를 하고자 하는 사람이 아니라면, 수학적 공식을 읽으면서 금방 따분함을 느낄 수 있다. 그래도 수학의 정석을 펴놓고 게임 개발을 하는 것보다야 이 편이 훨씬 낫다. 

 그리고 게임과 관련된 수학적 내용을 다루고 있기 때문에 아무래도 수학 용어를 많이 접할텐데, 이 책이 아무래도 일본 원서를 번역하다 보니 이해가 어려운 용어들이 많이 나온다. 따라서 수시로 구글링을 통해서 용어의 내용은 다시 정의한 후 보는게 좋을 듯 하다. 용어 그대로 따라가기엔 단어가 조금 복잡할 수 있다. 아무튼 재미와 귀차니즘으로 가득한 사람에게는 비추천한다.


 나도 개인적으로는 인터넷이든 책이든 나와있는 예시를 실제로 따라해보면서 배우는게 가장 효과적이라고 생각한다. 단순히 수학 공식만 나와있는 책이나, 코드만 주르륵 나와있는 책보다도 이 책처럼 둘다 볼수 있는 책이 정말 도움이 많이 되고 경험을 쌓을 수 있는 책이라고 생각한다. 문득 이 책이 내가 4년전 뭔가를 만들고 있을때도 읽을 기회가 있었으면 얼마나 좋을까 하는 아쉬움도 들기도 했다. 

 책을 미리 읽으면서 추천사도 짦게 썼는데, 책에 대해서 궁금한 내용이 있는 사람이나, 원하는 책을 찾는 사람에게는 도움이 되었으면 좋겠다.


  - 우리가 일상에서 즐기는 간단한 게임일지라도 그 안에는 나름대로의 로직과 알고리즘, 그리고 수학적 지식들이 포함되어 있습니다. 많은 사람들이 게임을 개발을 시도하는데 있어서도 수학적 지식의 부족함으로 인해 어려움을 겪는 경우가 많이 있습니다. 아무리 Unity같이 사용자에게 편의를 제공하는 개발툴이라고 할지라도 기반 지식을 바탕으로 응용하는 접근이 필요합니다. 이 책은 Unity를 다루는데 필요한 수학적 지식들이 공식과 그림이 함께 설명되어 있어, 해당 내용을 되새기고자 하는 사람들에게 이해가 쉬울 거라 생각합니다. 또한 단순히 수식만 나열한 방식이 아닌, 실제 C# 코드와 함께 실습할 수 있는 여건이 마련되어 있기 때문에, 이를 직접 다뤄보면서 익히고자 하는 게임 개발자에게 이 책을 추천해드리고 싶습니다.


* 책에 대해서 궁금하신 분은 다음을 참고해보시길..

댓글