소규모의 개발업체(스튜디오)나 인디(개인) 개발자들이 아이폰 프로그래밍을 시작하면서 3D를 이용하여 앱이나 게임을 개발하기는 쉬운 일이 아닐 것이다. 그러한 이유는 무엇이고, 또 어떻게 해결할 수 있는지에 대한 자세한 소개가 『블렌더와 SIO2를 이용한 아이폰 3D 프로그래밍』 도서의 서문에 자세히 나와 있다.
- 누가 이 책을 읽어야할까?
- 과연 이 책에서 무엇을 배울 수 있을까?
- 이 책은 왜 3D 콘텐트 제작 툴로 블렌더(Blender)를 선택하고, 3D 게임엔진으로 SIO2를 선택하였을까?
- 이 책을 어떻게 읽어야 가장 효율적인 성과를 얻어낼 수 있을까?
누가 이 책을 읽어야 하는가
이 책은 아이폰이나 아이팟터치에서 3D 애플리케이션을 개발하는 데 관심이 있는 모든 사람을 위해 쓰여졌다. 이 책을 따라가는 것이 아이폰 플랫폼에서의 3D 콘텐츠 개발에 필요한 지식들을 배우는 데 가장 빠르고 쉬운 길이라는 것을 깨닫게 될 것이라 믿는다.
이 책의 내용이 매우 쉽거나 이 책이 ”입문서”라고 말하려는 것은 아니다. 만약 여러분이 프로그래밍 경험이 없다면 이 책이 조금 어렵게 느껴질 수도 있다. 한 권의 책에서 모바일 게임 개발을 하나부터 열까지 모두 다룰 수는 없지만, 이 책은 적어도 여러분이 3D 애플리케이션 개발을 시작하는 데 매우 큰 도움을 줄 것이다.
이 책에서 배울 것들
이 책은 블렌더, SIO2 게임 개발 애플리케이션 프로그래밍 인터페이스(API), 애플의 Xcode와 아이폰 소프트웨어 개발 키트(SDK)를 이용한 강력하면서도 쉬운 3D 콘텐츠 제작기술에 대해 소개한다. 이 도구들을 원하는 대로 조합하여, 여러분은 곧 아이폰과 아이팟터치에서 돌아갈 상호작용하는 3D 콘텐츠 개발의 한계를 초월하는 자신을 발견할 수 있을 것이다.(역주: SIO2는 아이패드도 지원한다.)
이 책에서는 SIO2 엔진에서 사용하기 위해 필요한 블렌더에서의 3D 에셋 생성과 환경을 구축하는 방법을 배울 것이며, 그들을 추출하는 방법, 그리고 SIO2 SDK를 이용하여 작업하는 방법을 배울 것이다. 사실적인 표면과 조명 효과를 생성하기 위한 블렌더의 텍스처 베이킹 기능의 사용방법과 객체, 카메라의 움직임, 캐릭터들을 조종하기 위한 멀티터치 인터페이스를 이용하는 방법을 배울 것이다. 이 책을 독파하고 나면, 여러분만의 아이폰 3D 프로젝트 개발을 시작하기 위한 준비가 충분히 되었을 것이다.
왜 블렌더/SIO2인가?
다음 글을 읽으면, 왜 사람들이 아이폰이나 아이팟터치에서 상호작용할 수 있는 3D 콘텐츠 개발을 하려고 하는지 두말할 필요가 없어질 것이다. 바로 여러분이 개발을 할 수 있다는 사실이 그것을 하고 싶어할 충분한 이유인 것이다! 하지만 아이폰 플랫폼에 3D 콘텐츠 개발을 하기 위한 여러 가지 방법들이 존재하고, 블렌더/SIO2 파이프라인을 사용하려고 하는 것에 대한 의구심을 충분히 가질 수 있다.
첫째, 블렌더와 SIO2가 무료라는 점이다. 이는 여러분의 예산에 관계없이, 아이튠즈 앱스토어에서 받을 수 있는 수많은 매우 흥미롭고 혁신적인 프로젝트들이 개인이나 작은 스튜디오에서 개발되었다는 것을 고려한다면 굉장히 좋은 조건이라고도 할 수 있다. 아이튠즈 앱스토어는 수천 명의 개발자가 수천 명의 사용자들에게 매우 저렴한 가격으로 애플리케이션을 사용할 수 있도록 해줌으로써 그 자체로 소프트웨어의 발전과 확산의 혁신을 의미하게 되었다. 그런 개인 독립 개발자들의 성공을 위한 길은 탄탄한 프로그래밍 능력, 킬러 컨셉, 그리고 매우 낮은 개발비용의 조화로 이루어진다.
블렌더는 수천 달러를 호가하는 애플리케이션들과 기능성과 안정성의 측면에서 경쟁을 하고있는 무료이자 오픈소스인 애플리케이션 콘텐츠 제작도구이다. 급속도로 성장하고 있는 여러 상업 애니메이션과 게임스튜디오는 비용과 유연성을 위해 그들의 핵심 3D 애플리케이션으로 블렌더를 선택하고 있다. 그와 비슷하게 SIO2는 비싸지 않은 라이선스의 사용자들을 유치하기 위해 최소한의 저작자 표시를 보장하는 것으로 무료로 사용할 수 있도록 하였다. 물론 아이폰과 호환성을 제공하는 상용 게임 엔진과 같은 3D 애플리케이션들은 수천 달러의 비용을 지불해야 한다.
하지만 무료라고 해서 끝은 아니다. 사실, 블렌더/SIO2 파이프라인이 아이폰에서의 3D 개발을 위한 유일한 무료 솔루션은 아니다. 아이폰 플랫폼은 기본적으로 OpenGL ES 그래픽 API를 지원하며, 아이폰 SDK에는 OpenGL ES가 탑재되어 있고, OpenGL ES 코드를 개발하고 최적화에 필요한 매우 많은 도구들이 존재한다. 고급 콘텐츠 생성 도구들을 전혀 사용하지 않고서도 이것들만 가지고서 게임을 개발하고 OpenGL ES에 직접적으로 3D 효과를 만들어내는 것이가능하다. 하지만 이런 방법은 쉽지가 않고 개발에 있어서 직관적이지 않다.
모델링과 애니메이션을 제작하는 데는 블렌더와 같은 WYSIWYG(What-You-See-Is-What-You-Get)방식이 제일 좋다. SIO2 API는 블렌더에서 만든 에셋들을 가지고 직접 작업할 수 있도록 해주며, 더 좋은 효과들을 얻기 위해 해야 할 실제 코딩을 획기적으로 줄여주기 위한 고급 프로그래밍 인터페이스를 제공한다. SIO2는 물론 루아(Lua) 스크립팅과 네트워킹 같은 고급기능도 사용가능하다.
이러한 이유들로 블렌더와 SIO2를 함께 사용하는 것은 콘텐츠 제작과 고급 프로그래밍 환경으로 접근할 수 있도록 해주는 상용 모바일 3D 게임 파이프라인의 큰 비용에 비해 극히 적은 비용으로도 강력한 솔루션을 제공해준다.
그 외 알아두어야 할 것들
겉은 단순하게 보이더라도 아이폰과 아이팟터치는 단순하지 않은 플랫폼이며, 이 책에서 배우는 코드들은 쉽지만은 않은 제대로 된 소프트웨어 개발이라고 할 수 있다. 아이폰과 아이팟터치를 위한 완전한 애플리케이션을 코딩하는 것도 마찬가지이다. 그와 동일하게, 3D 프로그래밍 또한 많은 도전과제를 안겨줄 것이다.
때문에, 여러분이 이미 가지고 있는 C 또는 OpenGL, 컴퓨터 그래픽, 3D 콘텐츠 제작, 그리고 아이폰 개발에서의 프로그래밍에 대한 배경 지식은 이 책을 공부하는 데 큰 도움이 될 것이다. 하지만 여러분 모두가 이러한 배경지식을 가지고 있다고 가정할 수는 없기 때문에, 그것들을 모른다는 가정 하에 진행을 할 것이다. 필자는 전혀 경험이 없는 독자들도 이해할 수 있도록 모든 것들을 부족함 없이 자세히 설명하도록 노력했다. 마찬가지로, 여러분이 컴퓨터 그래픽 프로그래밍이나 블렌더의 사용법에 관한 내용을 읽는 데 어렵다고 느껴지기 시작한다면, 해당 주제들에 대한 지식을 신속하게 학습할 수 있도록 해주는 튜토리얼 역할을 해줄 이 책의 부록을 참고하기 바란다.
책 전반에 걸쳐, 여러 주제에 대해서 더 자세한 정보를 찾을 수 있는 팁이나 레퍼런스들을 준비해 놓았다. 이러한 것들을 따라서 여러분이 얻을 수 있는 보충 자료를 최대한 많이 구해서 공부하며 진행하는 것을 추천한다. 따라서 이 책을 성공적으로 공부하기 위한 가장 중요한 조건은 특정 지식보다는 “배우고자 하는 자세”라고 할 수 있다. C나 OpenGL ES을 모른다면, 그것들 중에 일부분을 공부하기 시작할 준비가 되어 있어야 한다. 블렌더 모델링이나 애니메이션에 전문가가 아니겠지만, 이 기술들을 습득하는 데 있어서 주체적으로 자신을 끌고 나가야만 한다. 지금 당장은 행렬에 대한 지식이 전혀 없다지만, 3D 게임 프로그래밍을 하는 데 필요한 기초적인 수학 개념들의 학습이 필요하다는 것을 유념하고 있어야 한다.
이 책은 여러분이 학습방향을 잡도록 도와줄 것이다. 하지만 이 책이 모든 것을 전달해주지는 못한다. 이 책을 통해 방향을 잡았다면 부족한 부분들을 채워주기 위한 다른 자료들도 찾아보도록 하자. 공식 튜토리얼과 코드 샘플들이 바로 다음으로 공부할 것들이라고 할 수 있다. 부록 C에서 튜토리얼의 개요를 제공하므로, 이를 통해 여러분에게 가장 흥미로운 기능들을 바로 배워볼 수 있을 것이다.
오픈소스 3D 게임엔진 SIO2에 대해서 더 자세히 살펴보려면 다음 링크를 참조하세요(챕터다운로드 제공).
아이폰, 아이팟터치 그리고 아이패드를 위한 오픈소스 3D 게임 엔진 SIO2
3D 저작툴 블렌더(Blender)에 대해서 더 자세히 살펴보려면 다음 링크를 참조하세요(챕터다운로드 제공).
3D 콘텐트 제작도구 블렌더(Blender)와 [블렌더 기초]
댓글 영역