Unity 3 Game Development Hotshot 한국어판 [기능별 집중 구현을 통한 유니티 게임 개발]
- 원서명Unity 3 Game Development Hotshot (ISBN 9781849691123)
- 지은이제이트 위타야번딧
- 옮긴이조형재
- ISBN : 9788960772588
- 30,000원
- 2012년 01월 02일 펴냄 (절판)
- 페이퍼백 | 400쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 게임 개발 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
중급 이상의 개발자를 위한 프로젝트 중심의 유니티 개발서다. 이 책은 2D 스프라이트 게임, 메뉴 UI, 셰이더 작성, 캐릭터 컨트롤러, 애니메이션 제어, 인공 지능, 물리, 파티클 시스템, 저장과 불러오기 같은 실제 개발에서 반드시 접하게 되는 주제를 수준 높은 맞춤 프로젝트를 통해 다룬다. 스크립팅을 중심으로 특정 기능의 구체적인 구현 방법을 설명하고, 개발 전반에서 적용할 수 있는 유니티 핵심 기능의 활용 방안을 소개한다.
[ 소개 ]
유니티의 다양한 기능과 가능성을 최대한 활용할 수 있는 8가지 게임 프로젝트
『Unity 3 Game Development Hotshot 한국어판』은 수준 높은 게임 경험을 만들기 위해 반드시 알아야 하는 유니티 엔진의 다양한 기능을 설명한다. 재미와 난이도를 함께 갖춘 8가지 프로젝트에 대한 단계별 설명과 다양한 도표와 그림으로 독자의 학습을 돕는다. 이 책은 유니티에 대한 독자의 이해와 기술을 한 단계 끌어올린다.
독특하고 흥미로운 프로젝트
■ 스프라이트 기반의 플랫폼 게임을 제작한다. 점프와 중력 같은 물리 효과를 추가하고, 2D 게임에서 3D 오브젝트를 활용하는 방법을 배운다.
■ RPG에 사용할 수 있는 수준의 완성도 있는 메뉴 UI를 만든다.
■ 3D 스튜디오 맥스에서 만든 모델을 유니티로 불러오고, 커스텀 셰이더를 만들어 적용한다.
■ 걷기, 뛰기, 쉬기, 점프하기, 떨어지기 같은 다양한 애니메이션 클립을 제어한다.
■ 로켓 론처를 구현하고, 불과 연기 파티클 효과를 추가한다.
■ 1인칭 슈팅 게임을 위한 인공 지능을 갖춘 몬스터를 만든다.
■ 파괴할 수 있는 대상으로 구성된 상호작용적 환경을 만든다.
■ 게임을 저장하거나 불러온다. 그리고 플레이어의 최고 점수를 온라인에 등록한다.
[부록 CD 수록]
■ 유니티 3.4.2 무료 버전
■ 2011 유니티 프로모션 영상
[ 이 책의 구성 ]
1장 2D 플랫폼 게임: 이 프로젝트는 스프라이트 애니메이션 기반의 2D 플랫폼 게임의 제작 방식을 소개한다. 카메라에서 Orthographic과 Perspective 간의 차이점, 배경 카메라와 캐릭터 카메라의 설정, mainTexture와 mainTextureOffset를 이용한 2D 스프라이트 제작, 스프라이트 시트 설정, 점프와 중력의 구현을 살펴본다.
2장 RPG 메뉴: 이 프로젝트는 1장의 프로젝트를 이용해 대부분의 RPG에 등장하는 화려하고 복잡한 UI를 구현한다. OnGUI()를 이용해 메뉴 윈도우를 만든다. 여기에는 다른 하위 메뉴로 이동할 수 있는 탭 버튼, 아이템 관리, 무기와 방어구 교체, 아이템과 스킬 선택 기능이 포함된다.
3장 캐릭터 모델과 셰이딩: 3D 맥스에서 만든 캐릭터를 FBX 파일을 통해 올바른 크기와 방향 유지하며 유니티로 불러오는 방법을 소개한다. 그 다음 유니티 3.0부터 지원하기 시작한 표면 셰이더를 이용해서 커스텀 셰이더를 작성한다.
4장 캐릭터 컨트롤러와 애니메이션: 걷기, 뛰기, 쉬기, 점프하기, 떨어지기 애니메이션을 설정하고, 내장된 3인칭 컨트롤러를 수정해서 커스텀 컨트롤러를 만든다. 또한 캐릭터 컨트롤러(Character Controller)와 애니메이션 교차 페이드(Cross Fade)를 사용하고, 캐릭터를 따라다니는 카메라를 구현한다.
5장 커스텀 컨트롤러와 무기 구현: 레지던트 이블 스타일의 1인칭 컨트롤러를 구현한다. 그리고 로켓 론처와 로켓을 만들고, 프리팹(Prefab)과 Instantiate를 통해 오브젝트의 인스턴스를 만드는 방법을 설명한다.
6장 인공 지능: 5장의 프로젝트가 계속된다. 인공지능을 구현해서 캐릭터를 추적하고, 공격하고, 특정 경로를 따라 이동하는 똑똑한 몬스터를 만든다. 또한 Gizmo 클래스를 이용해서 몬스터의 이동 방향을 시각화하는 방법도 소개한다.
7장 변형 가능한 게임 월드: 씬에 물리가 적용되는 오브젝트를 배치해서 캐릭터가 근처를 이동하거나, 오브젝트를 공격할 경우에 반응하게 한다.
8장 저장과 불러오기: playerPref을 이용해서 점수를 저장하고, 불러오고, 서버에 올리는 방법을 설명한다.
부록 A 주요 함수: 유니티 스크립팅 레퍼런스(Unity scripting reference) 내용을 토대로 Awake()나 Start() 같은 주요 함수에 대해 상세히 설명한다.
부록 B 코루틴과 Yield: 유니티 스크립팅 레퍼런스의 내용을 토대로 코루틴과 Yield의 개념과 사용법을 소개한다.
부록 C C#과 자바스크립트의 차이점: 유니티 스크립팅 레퍼런스와 유니티 문답 포럼(Unity answer)의 내용을 통해 두 스크립트 언어 간의 차이점을 설명한다.
부록 D 셰이더와 Cg/HLSL 프로그래밍: 셰이더 구조, Cg/HLSL 언어, Cg/HLSL의 기본 함수에 대한 설명과 함께 유니티 스크립팅 레퍼런스와 엔비디아(NVIDIA) 사이트의 관련 내용을 소개한다.
[ 부록 CD 설명 ]
이 책에 포함된 부록 CD에는 유니티 코리아에서 제공하는 유니티 3.4.2 무료 버전이 들어있다. 무료 버전은 30일간 유니티 프로 기능을 맛볼 수 있는 체험판으로도 활용 가능하다. 또한 부록 CD에는 유니티로 만든 게임을 볼 수 있는 2분 30초짜리 ‘2011 유니티 프로모션 영상’도 수록돼있다.
목차
목차
- 1장. 2D 플랫폼 게임
- 프로젝트 소개
- 카메라와 레벨 제작
- 2D 캐릭터 제작
- 캐릭터 컨트롤과 스프라이트 매니저
- 점프와 물리
- 열쇠와 문 제작
- 사운드 추가와 재시작 버튼
- 프로젝트 완료 - 정리
- 도전 과제
- 2장. RPG 메뉴
- 프로젝트 소개
- GUI Skin
- 메뉴 오브젝트 제작
- 상태 탭 제작
- 인벤토리 탭 제작
- 장착 탭 제작
- 프로젝트 완료 - 정리
- 도전 과제
- 3장. 캐릭터 모델과 셰이딩
- 프로젝트 소개
- 맥스에서 FBX 파일 내보내기
- 셰이더 프로그래밍 - 디퓨즈와 범프(노멀) 맵
- 셰이더 프로그래밍 - 엠비언트와 스페큘러 라이트
- 셰이더 프로그래밍 - 림 라이트와 툰 램프
- 프로젝트 완료 - 정리
- 도전 과제
- 4장. 캐릭터 컨트롤러와 애니메이션
- 프로젝트 소개
- 캐릭터 애니메이션과 레벨 준비
- 캐릭터 컨트롤러와 기본 스크립트
- 커스텀 캐릭터 컨트롤 스크립트
- 애니메이션 교차 페이드
- 3인칭 카메라 제작
- 프로젝트 완료 - 정리
- 도전 과제
- 5장. 커스텀 컨트롤러와 무기 구현
- 프로젝트 소개
- 1인칭 컨트롤러 프리팹
- 3인칭 컨트롤러와 마우스룩 스크립트
- 로켓 론처와 크로스 헤어
- 로켓과 파티클
- 잔여 로켓 UI
- 프로젝트 완료 - 정리
- 도전 과제
- 6장. 인공 지능
- 프로젝트 소개
- 웨이포인트와 기즈모
- 몬스터 인공지능
- AIController 스크립트와 몬스터 애니메이션 제어
- HP 게이지
- 프로젝트 완료 - 정리
- 도전 과제
- 7장. 변형 가능한 게임 월드
- 프로젝트 소개
- AIController 스크립트 최적화
- 레그돌 제작
- 파괴되는 벽
- 무너지는 암석과 트리거 영역
- 프로젝트 완료 - 요약
- 도전 과제
- 8장. 저장과 불러오기
- 프로젝트 소개
- 점수 메뉴
- 로컬 장비 점수 저장하고 불러오기
- 서버에서 XML 데이터 불러오기
- 서버에 점수 올리기
- 프로젝트 완료 - 정리
- 도전 과제
- 부록 A. 주요 함수
- Awake
- Start
- Update
- Fixed Update
- LateUpdate
- OnGUI
- OnDrawGizmos
- 부록 B. 코루틴과 Yield
- Yield 선언문
- WaitForSeconds
- WaitForFixedUpdate
- 코루틴
- StartCoroutine
- StopCoroutine
- StopAllCoroutines
- 부록 C. C#과 자바스크립트의 차이점
- 유니티 스크립트 지시자
- 타입명
- 변수 선언
- 동적 타이핑과 변수
- 다차원 배열 선언
- 문자 리터럴 지원
- 클래스 선언
- 인터페이스 지원
- 제너릭
- foreach 키워드
- new 키워드
- YieldInstruction과 코루틴
- 캐스팅
- Getter와 Setter
- 구조체 속성
- 함수/메소드 정의
- 참조
- 부록 D. 셰이더와 Cg/HLSL 프로그래밍 385
- ShaderLab 속성
- 표면 셰이더
- Cg/HLSL 프로그래밍