서브메뉴

본문

유니티로 배우는 게임 수학 (기초 개념부터 모바일까지, 게임 개발에 필요한 수학 원리 설명서)
유니티로 배우는 게임 수학 (기초 개념부터 모바일까지, 게임 개발에 필요한 수학 원리 설명서)
저자 : 구부키 류이치
출판사 : 한빛미디어
출판년 : 2016
정가 : 28000, ISBN : 9788968485008

책소개


이론과 실무를 접목한 게임 프로그래머 최고의 수학 학습서!

게임을 개발하며 수학을 독학한 소프트웨어 엔지니어가 현업에서의 시행착오 경험을 바탕으로 현장에서의 수요를 염두에 두고 현실적으로 구성했다. 현업에 필요한 지식을 빠르게 습득할 수 있도록 게임 개발자가 알아야 할 수학 지식만을 담아 실무용 생존 지침서로 적합하다. 먼저 수학 개념을 살펴보고, 이어서 유니티 예제를 실행해 눈으로 그 원리를 직접 확인할 수 있어 수포자도 확실하게 수학을 배울 수 있다.

목차


CHAPTER 1 삼각함수
__1.1 삼각형
__1.2 직각삼각형
__1.3 피타고라스의 정리
__1.4 사인, 코사인, 탄젠트
__1.5 삼각함수의 주기성
____1.5.1 단위원
____1.5.2 코사인법칙
____1.5.3 주기성
____1.5.4 라디안
____1.5.5 덧셈정리
____1.5.6 사인파, 코사인파
__1.6 유니티 예제 : 클릭 위치를 향하는 캡슐?바인드하는 구체
____1.6.1 동작과 사양
____1.6.2 구현 코드

CHAPTER 2 좌표계
__2.1 직교좌표계
____2.1.1 2D 좌표계
____2.1.2 3D 좌표계
____2.1.3 왼손 좌표계와 오른손 좌표계
____2.1.4 로컬 좌표계와 월드 좌표계
____2.1.5 Center/Pivot과 Local/Global
____2.1.6 스크린 좌표
__2.2 극좌표계
____2.2.1 2D 극좌표계
____2.2.2 3D 극좌표계 = 구면좌표계
__2.3 유니티 예제 : 3인칭 시점 카메라
____2.3.1 동작과 사양
____2.3.2 구현 코드

CHAPTER 3 벡터
__3.1 벡터의 정의
____3.1.1 수벡터
____3.1.2 기하벡터
____3.1.3 스칼라
__3.2 벡터 연산
____3.2.1 덧셈·뺄셈·교환법칙·결합법칙
____3.2.2 스칼라 곱셈·나눗셈
____3.2.3 단위벡터
____3.2.4 기저와 좌표계
____3.2.5 법선벡터
____3.2.6 크기
____3.2.7 내적
____3.2.8 벡터의 직교투영
____3.2.9 내적의 응용
____3.2.10 외적
____3.2.11 외적의 응용
__3.3 유니티 예제 : 간이 충돌 판정
____3.3.1 동작과 사양
____3.3.2 구현 코드

CHAPTER 4 행렬
__4.1 행렬의 정의
____4.1.1 정의
____4.1.2 행렬의 종류
__4.2 행렬의 연산
____4.2.1 행렬과 행렬의 연산
____4.2.2 전치행렬
____4.2.3 역행렬
____4.2.4 행렬과 벡터의 곱셈
____4.2.5 스위즐 연산119
____4.2.6 행우선과 열우선
____4.2.7 AoS와 SoA
____4.2.8 행렬식
____4.2.9 직교행렬
__4.3 유니티 예제 : 행렬 계산을 위한 Inspector 확장
____4.3.1 유니티 에디터의 확장 기능
____4.3.2 동작과 사양130
____4.3.3 구현 코드

CHAPTER 5 좌표 변환
__5.1 좌표 변환이란 무엇인가
__5.2 지오메트리 파이프라인
____5.2.1 모델 변환
____5.2.2 뷰 변환
____5.2.3 프로젝션 변환
__5.3 동차좌표계
____5.3.1 동차좌표계란 무엇인가
____5.3.2 동차좌표계와 사영기하학
____5.3.3 유니티의 동차좌표계
__5.4 변환 종류
____5.4.1 선형 변환
____5.4.2 아핀 변환
____5.4.3 리지드바디 변환
____5.4.4 투영 변환
__5.5 좌표 변환의 행렬 표현
____5.5.1 평행이동
____5.5.2 회전
____5.5.3 스케일
____5.5.4 모델 변환
____5.5.5 기저 변환
____5.5.6 뷰 변환
____5.5.7 원근투영 변환
____5.5.8 직교투영 변환
____5.5.9 등각투영 변환
__5.6 유니티 예제 : 행렬에 의한 아핀 변환과 프로젝션 변환
____5.6.1 동작과 사양
____5.6.2 구현 코드

CHAPTER 6 사원수
__6.1 회전표현의 종류
____6.1.1 오일러각
____6.1.2 로드리게스 회전 공식
____6.1.3 짐벌락
____6.1.4 회전 행렬 문제
____6.1.5 사원수의 장점
__6.2 사원수의 정의
____6.2.1 복소수
____6.2.2 이원수
____6.2.3 사원수란 무엇인가
__6.3 사원수의 연산
____6.3.1 스칼라배
____6.3.2 공액
____6.3.3 크기
____6.3.4 곱셈
____6.3.5 단위 사원수
____6.3.6 내적
____6.3.7 역수
____6.3.8 행렬표현
__6.4 사원수를 이용한 3D 회전
____6.4.1 회전
____6.4.2 보간
__6.5 쌍대 사원수
____6.5.1 정의
____6.5.2 스키닝에 응용하기
____6.5.3 연산
____6.5.4 리지드바디 변환
__6.6 유니티 예제 : 사원수를 이용한 회전
____6.6.1 동작과 사양
____6.6.2 구현 코드

CHAPTER 7 곡선
__7.1 곡선을 둘러싼 개념
____7.1.1 보간과 근사
____7.1.2 매개변수 함수
____7.1.3 다항식
____7.1.4 곡선과 스플라인
____7.1.5 연속성과 미분
____7.1.6 이원수를 이용한 자동미분
__7.2 곡선 알고리즘
____7.2.1 베지어 곡선
____7.2.2 캣멀롬 스플라인
____7.2.3 B 스플라인
__7.3 유니티 예제 : 세 종류의 곡선
____7.3.1 동작과 사양
____7.3.2 구현 코드

CHAPTER 8 게임 앱 환경
__8.1 게임 엔진으로서의 유니티
____8.1.1 씬 그래프
____8.1.2 컴포넌트 지향
____8.1.3 샌드박스
____8.1.4 게임 루프
____8.1.5 CPU와 병렬성
____8.1.6 GPU 프런트엔드
__8.2 스마트폰 아키텍처
____8.2.1 그래픽 드라이버
____8.2.2 드로 콜 배칭
____8.2.3 GPU 아키텍처의 변천
____8.2.4 저수준 그래픽 API
____8.2.5 헤테로지니어스 아키텍처
__8.3 그래픽 파이프라인
____8.3.1 OpenGL ES 2.0
____8.3.2 CPU의 드로 콜 생성
____8.3.3 버텍스 셰이더
____8.3.4 프리미티브 어셈블리
____8.3.5 래스터화
____8.3.6 프래그먼트 셰이더
____8.3.7 ROP 처리
____8.3.8 OpenGL ES 3.0 이후
____8.3.9 디퍼드 셰이딩
____8.3.10 테셀레이션 셰이더
____8.3.11 지오메트리 셰이더
____8.3.12 컴퓨트 셰이더

CHAPTER 9 셰이더
__9.1 유니티의 셰이더
____9.1.1 ShaderLab
____9.1.2 셰이딩 언어
____9.1.3 GLSL
____9.1.4 에디터 설정
____9.1.5 셰이더의 기본
____9.1.6 외부 도구와 WebGL
__9.2 조명
____9.2.1 확산반사
____9.2.2 램버시안 반사 모델
____9.2.3 하프 램버트 확산
____9.2.4 퐁 반사 모델
____9.2.5 정점 단위 조명
____9.2.6 픽셀 단위 조명
____9.2.7 림 라이팅
__9.3 텍스처 처리
____9.3.1 텍스처 매핑
____9.3.2 법선 매핑
__9.4 물리 기반 렌더링
____9.4.1 BRDF
____9.4.2 쿡토런스 경면 반사

부록 A_ 유니티의 물리엔진
부록 B_ 코드 동작 환경