최근에 유니티에 대한 관심을 갖는 단계인데 유니티로 배우는 게임수학이라는 이름이 있어서
이 책을 선택하게 되었습니다.
보통 유니티 엔진을 사용하는 방법을 소개하는 도서는 많은데
무슨 원리로 이게 될까?에 궁금증을 갖기는 하지만 이를 설명하는 책은 아마 많지 않은 것 같습니다.
책의 목차는 다음과 같습니다.
삼각함수, 좌표계, 벡터, 행렬, 좌표변환, 사원수, 곡선, 게임 앱 환경, 셰이더
Chapter 시작에는 이렇게 이번에 배울 내용에 대해서 간략하게 내용을 보여주는데요.
정말 오랜만에 수학을 보니... 생각보다 쉽지 않았습니다.
책에서는 수학에 대한 내용이 많이 소개되지만
Chapter 마지막에는 유니티 예제가 함께 있어서 실제 개발에 적용하는 방법도 살펴볼 수 있었습니다.
게임 엔진에 적용된 수학의 원리와 이를 활용할 수 있는 방법까지 알 수 있겠습니다.
이 책은 수학을 공부해 본 경험이 있는데 시간이 지나 잊어버리신 분들과
유니티에 대한 기본 지식을 갖고 계신 분이 읽기에 좋은 책입니다.
이 책을 보면서 정말 오랜만에 수학을 접했습니다.
평소 게임을 만들기 위해서는 수학에 대한 지식이 필요하다는 사실은 알고 있었지만
이 책을 통해 공부하니 정말 게임에도 많은 지식을 통해 만들어 진다는 사실에 존경심이 들었습니다.
내가 배운 수학이 이렇게 적용되는 구나? 하는 것을 깨우칠 수 있는 그런 책입니다.
한줄 요약: 수학에 대한 사전지식이 없는 분과 3D 그래픽스쪽 지식이 없는 분은 다른책으로 선수 학습을 권한다. 3D 그래픽쪽의 테크닉적인 수학지식을 다룬다는 인상을 받았다.
개발자를 하면서 수학은 항상 흥미로우면서도어려운 주제로 다가오는데 이번에 그런 어려움을 극복해보고자이책을 선택하게 되었다. 하지만 그것이.. 험난한 여정의 시작이었다.
책의 전체적 맥락은 게임에 필요한 기본적으로 배경지식이 되는 수학지식을 7가지로 분류하여 독자층에게 전달한다. 9챕터중 마지막 2챕터는 3D프로그램의 꽃이라볼수 있는 셰이더에 대해 다룬다. 사실 처음 기대는 나와 같이 컴퓨터 공학을 전공했지만 수학을 오랜만에 접해본 사람들에게 리프레셔 같은 역할을 하기를 기대했으나 막상 책을 펼쳐보니 각각의 주제에 대해 미리 선지식이 있는사람들만이 이해할수 있을정도의 설명과 함께 예제를 보여주는 식으로 책이 진행된다. 선형대수학을 배웠고 3D개발을 학부 시절 수업 텀프로젝트로 했었지만 책을 읽는 동안 어려움이 있었고 부족한 설명들은 온라인 검색과 예전에 공부했던 책을 많이 참고했다. 사실 각각 한챕터에서 다룬 내용들이 다른 전문책에서 보면 수십페이지 혹은 수백 페이지넘는 양에 걸쳐 설명하는 내용이기에 어쩌면 이책에서 그 정도의 설명을 기대하는 것이 처음부터 잘못된 가정이란 생각이 책을 읽고난 후 생각이 들었다. 본 책에서는 이미 어느정도 업계 경험 혹은 선수 지식이 있는 분들이라는 가정하에 개념들의 포인트를 짚어가며 나중에 어떻게 코드로 적용하는지 설명한다. 현재 그래픽스 프로그래밍을 하시는 분들에게는 자신이 알고 있는지식들의 테크닉을 다듬는 역할을 하는데 도움이 될거라 생각한다.
3D 수학관련 더 기초적이고 자세한 설명이 필요하면서 영어 문서 읽는 것에 무리가 없으시다면 아래 책도 추천합니다. 이해안가는 3D개념들을 공부하는데 좋은 참고가 되었습니다:
https://www.amazon.com/Math-Primer-Graphics-Game-Development/dp/1568817231
유니티로 배우는 게임 수학(한빛미디어)
저자가 의도한 이 책의 타겟 독자층은 책에서 다루는 수학 개념들을 경험해보셨으나
아직 미숙하거나, 오래되어 까먹으신 분들에게 잘 맞는 책입니다.
이러한 저자의 의도가 잘 반영되어있고 게임 엔진에 적용된 수학의 원리를 파헤치는 이론과 실습이 잘 어우러진 책입니다.
이 책으로 수학의 힘을 다시한번 느꼈습니다. 게임을 시각적으로 표현하기위해 수학개념들이 적용되는 것을 보며
지금까지 제가 경험했던 게임들이 정말 엄청난 지식이 녹아들어있는 것이라 생각하니 게임 하나하나가 달리 보이고 있습니다.
또한, 하위 개념을 먼저 설명하고 상위 개념을 설명함으로써 독자들의 이해를 유도합니다.
하지만 내용 전개가 지루합니다. 저자는 하위 개념들을 하나씩 설명하면서 상위 개념을 설명하는 Bottom-up 방식으로 내용을 전개합니다.
후반에 전체적인 게임 그래픽스의 개괄 내용을 다루는 Top-down 설명이 있지만, 전체적인 그림이 제시되지않은 상태에서
수학 개념이 처음부터 등장해 꽤 애먹었습니다.
1장의 삼각함수부터 -> 좌표계 -> 벡터 -> 행렬 -> 좌표변환 -> 사원수 -> 곡선 -> 게임 환경 -> 셰이더 까지..
유니티 엔진의 셰이더를 설명하기까지 먼저 알아야 되는 수학적 개념들과 유니티 프로그래밍을 실습하면서
독자들의 이해를 도우려한 저자의 노력을 느낄 수 있었습니다.
게임 수학이라고 하지만, 게임만을 위한 수학 개념은 아닙니다.
이 책은 제목처럼 "수학"을 설명하는 책이며 수학의 개념을 실제로 체험해볼 수 있는 친절한 책입니다.
목차를 보시고 필요성을 느끼셨다면 꼭 한번 보시길 추천드립니다.