1. 아이폰을 위한 3D 개발 시작하기
시작하기
소프트웨어 설치
- 아이폰 SDK
- 블렌더 설치하기
- SIO2 설치하기
- 프로그램 다운로드
개발환경 설정하기
- Xcode에서 SIO2 템플릿 빌드하기
- 문제해결
2장. SIO2 그래픽 프로그래밍 소개
SIO2 템플릿
간단한 OpenGL 데모
- OpenGL ES로 그래픽 콘텐츠 생성
- 변환 자세히 살펴보기
--- 변환의 순서
--- 행렬스택의 사용
상호작용의 기초
전체코드
3장. 블렌더/SIO2/아이폰과의 첫 만남
블렌더/SIO2/Xcode 워크플로우
SIO2 개요
3D 세계와의 첫 만남! 블렌더에서 새로운 세상 만들기
- 세계와 배경을 모델링, 텍스처링하기
- 조명, 카메라 그리고 배경
SIO2 포맷으로 추출하기
- 추출 스크립트
- 세계 추출하기
- .sio2 파일 포맷
4장. 모바일에서 SIO2 사용하기
SIO2 초기화와 에셋 로딩
- 헤더와 프로토타입
- templateLoading 함수
렌더링
- 회전하는 지구본 만들기
- 조명 넣기
- 문제해결
화면 터치에 의한 상호작용
- 회전 제어
- 화면 탭과 화면 터치 이동 다루기
전체 코드
5장. 피킹과 텍스트를 이용한 피드백의 확장
객체 피킹하기
- 블렌더에서의 간단한 피킹 예제
- SIO2에서 색 기반의 피킹 구현하기
- 피킹 코드 자세히 살펴보기
- Hello3DWorld에 피킹 기능 추가하기
텍스트와 폰트 다루기
- 비트맵 폰트
- SIO2에서의 폰트와 머티리얼
--- 폰트 로딩하기
--- 폰트 렌더하기
멀티터치 기능 사용하기
애플리케이션 패키징
전체코드
6장. SIO2에서 몰입형 환경 만들기
하늘과 땅 모델링하기
- 블렌더에서 평지 만들기
- SIO2를 위한 단단한 땅
- 그럴듯한 하늘 돔 만들기
- sio2 파일 추출하기
SIO2에서 몰입형 환경 만들기
- 화면 설정
--- templateLoading 함수
--- templateRender 함수
--- templateScreenTap 함수
- 물리 시뮬레이션 설정하기
카메라를 움직여 환경 탐험하기
- templateRender에서의 이동
- templateSceenTap에서의 이동
- templateScreenTouchMove 함수
전체코드
- EAGLview.mm
- template.mm
7장. 물체와 물리 객체
텍스처 표면 객체와 투명성
- 블렌더에서의 알파 텍스처링
- SIO2에서 알파 투명도 렌더하기
빌보드를 이용하여 나무 생성하기
상호작용하는 객체들에 대한 물리적 성질
- 강체 객체
- 장애물에 대한 정적 물리
효율적인 객체 조작을 위한 가상 인스턴싱
Low-Poly 충돌 맵 다루기
전체 코드
8장. 캐릭터 움직이기
블렌더에서 캐릭터 움직이기
- 간단한 보행주기 만들기
- 기본 모션과 NLA Strips 만들기
SIO2에 액션 넣기
걷게 만들기
반응이 빠른 실시간 그림자
전체코드
9장. 위젯 다루기
위젯으로 스플래시 만들기
- 이미지 포맷 선택하기
- iFrankie를 위한 위젯 그래픽
SIO2에서 Active Widget 생성하기
- 위젯 변수 선언하기
- 위젯과 에셋 로딩하기
- Button 콜백 함수
- Template 렌더 함수
- 게임 렌더 함수
전체코드
부록 A. 블렌더 기초
인터페이스와 네비게이션
- 윈도우와 헤더
- 레이어
- 3D 공간 탐색
-- 공간상에서의 회전, 패닝, 확대
-- 숫자패드 사용하기
-- 3D 커서
모델링하기
- 객체와 Object 모드
--- 선택하기
--- 3D 변환하기
--- 객체를 추가, 삭제하기
- 메시와 Edit 모드
--- 선택하기
--- 3D 변환하기
--- 메시 모델링 도구
--- 비례편집
--- 법선
- 아머츄어와 리깅
머티리얼과 텍스처
- 머티리얼
- UV 텍스처링
--- 언래핑과 매핑
--- 텍스처 설정
--- 텍스처 베이킹
애니메이션
- 아이포 커브
- 액션과 비선형 애니메이션
부록 B. 그래픽 프로그래밍 핵심
좌표계, 행렬, 변환
- 행렬 수식
- 변환
--- 모델/뷰 변환
--- 투영변환
행렬 곱에 의한 변환
- 행렬의 곱
- 행렬의 변환
- 3D 행렬 변환
행렬과 OpenGL
부록 C. SIO2 레퍼런스
SIO2 학습자료
- 공식 SIO2 튜토리얼과 샘플 코드들
- SIO2 Meditation Garden으로 한계를 초월하자
- Hoops Frenzy에서 점수 쌓기
- SIO2 Backyard War로 파워업하기
- SIO2 포럼
.sio2 파일 포맷
SIO2 플래그 값
SIO2 함수
찾아보기
시작하기
소프트웨어 설치
- 아이폰 SDK
- 블렌더 설치하기
- SIO2 설치하기
- 프로그램 다운로드
개발환경 설정하기
- Xcode에서 SIO2 템플릿 빌드하기
- 문제해결
2장. SIO2 그래픽 프로그래밍 소개
SIO2 템플릿
간단한 OpenGL 데모
- OpenGL ES로 그래픽 콘텐츠 생성
- 변환 자세히 살펴보기
--- 변환의 순서
--- 행렬스택의 사용
상호작용의 기초
전체코드
3장. 블렌더/SIO2/아이폰과의 첫 만남
블렌더/SIO2/Xcode 워크플로우
SIO2 개요
3D 세계와의 첫 만남! 블렌더에서 새로운 세상 만들기
- 세계와 배경을 모델링, 텍스처링하기
- 조명, 카메라 그리고 배경
SIO2 포맷으로 추출하기
- 추출 스크립트
- 세계 추출하기
- .sio2 파일 포맷
4장. 모바일에서 SIO2 사용하기
SIO2 초기화와 에셋 로딩
- 헤더와 프로토타입
- templateLoading 함수
렌더링
- 회전하는 지구본 만들기
- 조명 넣기
- 문제해결
화면 터치에 의한 상호작용
- 회전 제어
- 화면 탭과 화면 터치 이동 다루기
전체 코드
5장. 피킹과 텍스트를 이용한 피드백의 확장
객체 피킹하기
- 블렌더에서의 간단한 피킹 예제
- SIO2에서 색 기반의 피킹 구현하기
- 피킹 코드 자세히 살펴보기
- Hello3DWorld에 피킹 기능 추가하기
텍스트와 폰트 다루기
- 비트맵 폰트
- SIO2에서의 폰트와 머티리얼
--- 폰트 로딩하기
--- 폰트 렌더하기
멀티터치 기능 사용하기
애플리케이션 패키징
전체코드
6장. SIO2에서 몰입형 환경 만들기
하늘과 땅 모델링하기
- 블렌더에서 평지 만들기
- SIO2를 위한 단단한 땅
- 그럴듯한 하늘 돔 만들기
- sio2 파일 추출하기
SIO2에서 몰입형 환경 만들기
- 화면 설정
--- templateLoading 함수
--- templateRender 함수
--- templateScreenTap 함수
- 물리 시뮬레이션 설정하기
카메라를 움직여 환경 탐험하기
- templateRender에서의 이동
- templateSceenTap에서의 이동
- templateScreenTouchMove 함수
전체코드
- EAGLview.mm
- template.mm
7장. 물체와 물리 객체
텍스처 표면 객체와 투명성
- 블렌더에서의 알파 텍스처링
- SIO2에서 알파 투명도 렌더하기
빌보드를 이용하여 나무 생성하기
상호작용하는 객체들에 대한 물리적 성질
- 강체 객체
- 장애물에 대한 정적 물리
효율적인 객체 조작을 위한 가상 인스턴싱
Low-Poly 충돌 맵 다루기
전체 코드
8장. 캐릭터 움직이기
블렌더에서 캐릭터 움직이기
- 간단한 보행주기 만들기
- 기본 모션과 NLA Strips 만들기
SIO2에 액션 넣기
걷게 만들기
반응이 빠른 실시간 그림자
전체코드
9장. 위젯 다루기
위젯으로 스플래시 만들기
- 이미지 포맷 선택하기
- iFrankie를 위한 위젯 그래픽
SIO2에서 Active Widget 생성하기
- 위젯 변수 선언하기
- 위젯과 에셋 로딩하기
- Button 콜백 함수
- Template 렌더 함수
- 게임 렌더 함수
전체코드
부록 A. 블렌더 기초
인터페이스와 네비게이션
- 윈도우와 헤더
- 레이어
- 3D 공간 탐색
-- 공간상에서의 회전, 패닝, 확대
-- 숫자패드 사용하기
-- 3D 커서
모델링하기
- 객체와 Object 모드
--- 선택하기
--- 3D 변환하기
--- 객체를 추가, 삭제하기
- 메시와 Edit 모드
--- 선택하기
--- 3D 변환하기
--- 메시 모델링 도구
--- 비례편집
--- 법선
- 아머츄어와 리깅
머티리얼과 텍스처
- 머티리얼
- UV 텍스처링
--- 언래핑과 매핑
--- 텍스처 설정
--- 텍스처 베이킹
애니메이션
- 아이포 커브
- 액션과 비선형 애니메이션
부록 B. 그래픽 프로그래밍 핵심
좌표계, 행렬, 변환
- 행렬 수식
- 변환
--- 모델/뷰 변환
--- 투영변환
행렬 곱에 의한 변환
- 행렬의 곱
- 행렬의 변환
- 3D 행렬 변환
행렬과 OpenGL
부록 C. SIO2 레퍼런스
SIO2 학습자료
- 공식 SIO2 튜토리얼과 샘플 코드들
- SIO2 Meditation Garden으로 한계를 초월하자
- Hoops Frenzy에서 점수 쌓기
- SIO2 Backyard War로 파워업하기
- SIO2 포럼
.sio2 파일 포맷
SIO2 플래그 값
SIO2 함수
찾아보기