sog0***
2017-05-01

유니티로 게임을 만드는 10가지 방법
이책은 제목처럼 유니티로 게임을 만드는 법을 소개하고 있다.
유니티란 무엇인가? 위키피디아 에서는 “유니티(영어: Unity)는 3D 비디오 게임이나건축 시각화, 실시간 3D 애니메이션 같은 기타 인터랙티브콘텐츠를 제작하기 위한 통합 저작 도구이다.”라고 정의하고 있다. 게임을만들 때 간단히 활용 가능하다고 한다.
책에서는 총 10가지 게임 제작법을 소개하고 있었다. 그중 퍼즐게임 제작에 대해 자세히 살펴보면 처음에는 게임에대해 소개하고 어떤 아이디어를 출발으로 게임을 만들어야할지, 다음으로 구체적으로 게임을 제작하는 과정, 마지막으로는코드를 보여준다.
퍼즐게임은 우리가 모두 익숙한 직소퍼즐을 맞추는 것 인데, 게임을제작하는 아이디어는 (1)기분좋은 터치조작 (2) 정확한위치에 딱 맞게 놓는 스냅처리 라고 소개한다. 게임을 만들기 위해 필요한 기술은
(1) 투시변환과 역투시변환
마우스 커서는 화면에 2D 위치좌표 안에 있지만 퍼즐조각은 3D공간 3D 위치좌표에 있어서, 마우스커서와 퍼즐조각의 위치를 비교하기 위해 역투시변환으로 마우스커서를 3D좌표로 변환한다.
(2) 클릭한 장소가 커서 위치
우리가 퍼즐을 클릭할 때 한 조각을 클릭하면, 어느 부분을 클릭하던간에 컴퓨터에서는 같은 정보로 인식한다. 이런 것을 위해서는
조각의 어느 곳을 클릭해도 상관없다 하더라도 클릭한 순간에 조각의 위치가 이동하면 보기 좋지 않을 것이다. 일부러 중심을 잡도록 하는 편이 좋은 경우도 있다. 중심을 잡아야하는 경우와 그렇지 않은 경우에 상관없이 일단 원하는 위치를 잡는 방법을 소개한다.
(3)조각셔플
퍼즐의 조각을 자연스럽게 흩어 놓는 방법을 소개한다.
먼저 퍼즐 조각의 좌표를 난수로 하게 되면 조각이 겹치거나 한곳이 몰리게 되는 문제가 생긴다. 이것을 개선하기 위해 조각을 그리드에 각각 배열하고 그 그리드의 순서를 무작위로 배열한다. 이렇게 하면 조각들이 서로 겹치는 문제를 해결할 수 있다. 이 설명은전자의 위치가 서로 겹치지 않는다는 파울리 법칙을 떠오르게 하는 방법이다. 그 다음 한 그리드 안에서조각들의 위치를 무작위로 둔다. 마지막으로 전체 그리드를 회전시킨다.
그리고 코드를 직접 보여주고, “난수 보다는 주기적인 수를 사용하는편이 아무렇게나 흩어져 있는 것처럼 보일 수 있다” 라는 결론으로 장을 마무리 짓는다.
저자는 이 책의 대상독자를 1 유니티 사용법을 알고 있고 2 C+도 기본적인 것은 다룰 수 있고 3 혼자서 게임을 만들어보고싶은 사람이라고 지정하고 있지만. 프로그래밍에 관심 있는 사람들은 누구나 관심 있게 볼 수 있을 것같다.
이전에 게임을 제작하는데 관심 가진 적이 없고 제작할 계획도 없지만 이 게임 제작 툴 들을 내가 사용하는 코드에적용 할 수 있어서, 유용하게 쓰일 것 같다.