장바구니 담기 close

장바구니에 상품을 담았습니다.

유니티 2017 게임 개발 에센셜

유니티 2017 게임 개발 에센셜

  • 토마스린트라미
  • |
  • 에이콘출판
  • |
  • 2018-06-27 출간
  • |
  • 720페이지
  • |
  • 188 X 235 mm
  • |
  • ISBN 9791161751658
판매가

40,000원

즉시할인가

36,000

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
36,000

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




[이 책에서 다루는 내용]
■ C#을 이용한 게임 스크립팅
■ 첫 2D 및 3D 게임 제작
■ 애니메이션, 물리, 스크립팅과 같은 게임 개발의 핵심 개념
■ 게임 성능 향상을 위한 테스트 및 최적화
■ 모든 기능을 갖춘 메뉴, HUD, UI 제작
■ 인공지능과 NPC를 활용하는 플레이어 캐릭터 상호작용 구현

[이 책의 대상 독자]
초급 및 중급 수준의 일반 사용자와 게임 개발자를 대상으로 한다. 유니티에 대한 사전 경험은 필요 없지만 C#을 이해하기 위해서는 프로그래밍에 대한 기본적인 지식이 필요하다.

[이 책의 구성]
1장. "3차원으로 들어가기"에서는 이 책에서 다루는 내용을 학습하기 위해 반드시 알아야 할 여러가지 핵심 개념을 소개한다. 3D 그래픽은 유니티뿐만 아니라 다른 영역과 관련해서도 다룰 내용이 많은 포괄적인 주제이므로, 유니티의 인터페이스와 개념을 본격적으로 다루기 전에 중요한 3D 개념을 먼저 알아본다. 좌표와 벡터, 물리 시뮬레이션, 그리고 유니티 에디터의 기본 사용자 인터페이스에 대해 배운다.
2장. "프로토타입과 스크립팅의 기본"에서는 유니티 인터페이스와 게임오브젝트(GameObject), 컴포넌트, 그리고 기본 스크립팅에 대해 다룬다. 또한 유니티에서 새로운 프로젝트 제작 방법을 알아보며 변수, 함수, 명령을 소개한다.
3장. "게임 에셋 만들고 설정하기"에서는 유니티 3D에서 2D 프로젝트와 직교 카메라, 조명을 관리하는 방법을 배우고, 패럴랙스(parallax) 스크롤 배경 구현 방법과 스프라이트 시트에서 애니메이션을 임포트하는 방법을 알아본다. FreeParallax 컴포넌트를 수정하거나 맞춤 구성하는 방법을 알아보고 애니메이터 컨트롤러를 처음으로 살펴본다.
4장. "플레이어 컨트롤러와 추가 스크립팅"에서는 기존 클래스를 수정하고 새로운 클래스를 만들면서 스크립팅에 대한 내용을 한 단계 더 진행한다. 또한 여러 종류의 콜라이더 2D와 리지드바디 2D를 지원하는 새로운 물리 2D 프레임워크를 이용하는 방법을 알아보며, C# 클래스를 필요에 맞게 수정하는 방법과 2D 환경에서 충돌 및 트리거 감지가 작동하는 방법을 알아보고 유니티 UI 개념을 처음 소개한다. 이어서 인스펙터의 주 기능과 점 표기법을 간단히 소개하고 간단한 스크립팅 과정을 진행한다.
5장. "유니티를 이용한 캐릭터 애니메이션"에서는 유니티의 애니메이션 시스템과 메카님(Mecanim)을 살펴본다. 아바타 애니메이션을 위한 루트 모션 방식과 비루트 모션 방식의 차이점을 살펴보고, 기본적인 상태 머신과 복잡한 상태 머신을 구성해 캐릭터 애니메이션 동작을 제어하는 방법과 레이어에서 IK 패스를 이용해 스켈레톤의 일부를 스크립팅을 통해 제어하는 방법을 알아본다. 또한 플레이어 컨트롤러에 맞게 Standard Assets의 ThirdPersonCharacter 구성을 수정하는 방법을 소개한다.
6장. "환경 만들기"에서는 첫 번째 환경을 만들기 위해 알아야 할 기본적인 내용을 다루며, 납작한 평면 하나로 시작해서 캐릭터가 돌아다닐 수 있는 섬을 만든다. 또한 모든 종류의 게임 프로젝트에 필요한 두 가지 주요 요소에 해당하는 조명과 오디오에 대해 살펴본다. 특히 오디오 컴포넌트를 이용해 환경 주변 음향을 구현하는 방법을 다룬다.
7장. "상호작용, 충돌, 경로 탐색"에서는 충돌 감지와 레이캐스트를 이용해 3D 게임에서 객체 간의 상호작용을 감지하는 방법을 중점적으로 다룬다. 또한 경로 탐색의 기본 개념과 이용 방법을 배우며, 유니티의 기본 제공 내비게이션 시스템으로 내비메시(NavMesh)를 최적화하고 레벨을 구성하는 과정을 알아본다.
8장. "AI, NPC, 그리고 추가 스크립팅"에서는 NPC의 시각적 프리팹과 애니메이션 컨트롤러 및 컴포넌트, 그리고 간단한 경비병 NPC용 AI 클래스를 만들고, 이어서 고급 AI 클래스를 만들어 본다. 플레이어와 NPC의 상호작용과 간단한 대화를 구현하기 위해 유니티 UI, 트리거, 스크립팅을 활용한다. 또한 내비메시 베이킹을 위해 내비게이션 시스템을 구성하고 캐릭터 움직임을 포함한 내비게이션을 테스트한다.
9장. "아이템 수집, 플레이어 인벤토리, HUD"에서는 게임 시나리오 제작을 간략히 다룬다. 구체적으로 말해, UI 텍스트 컴포넌트를 이용해 온스크린 텍스트를 표시하는 방법과 UI 이미지 컴포넌트를 이용해 HUD를 만드는 방법, 그리고 변수를 이용해 게임 상태를 조작하는 방법을 배운다. 또한 아이템 수집 퍼즐을 만든다.
10장. "인스턴스 생성과 리지드바디"에서는 애니메이트되는 동적 요소와 발사체 인스턴스를 위한 리지드바디 오브젝트의 구현을 살펴본다. 코루틴을 활용해 스크립팅에 구조와 추가 기능을 제공하는 방법을 알아보며, 주먹 공격과 돌 던지기 동작을 관리하는 간단한 전투 시스템을 만들면서 래그돌 시뮬레이션의 구성을 소개하고 기절한 적을 되살리는 래그돌 매니저의 스크립팅을 살펴본다.
11장. "유니티 파티클 시스템"에서는 여러 멋진 파티클 효과를 만드는 방법과 필요에 맞게 파티클 시스템을 맞춤 구성하는 방법을 알아본다. 또한 여러 파티클 시스템을 함께 재생하는 방법, 다른 상황에서 동일한 효과를 결합하는 방법, 그리고 불 효과를 위한 점광원의 색상/강도를 변경하고 주변 이동을 위해 파이어라이트 컴포넌트를 수정 및 조정하는 방법을 살펴본다.
12장. "유니티 UI를 이용한 메뉴 디자인"에서는 유니티 UI를 이용해 사용자가 게임을 시작하거나 윈도우로 종료하는 메인 메뉴 신을 제작한다. 또한 UI 패널에서 애니메이션을 이용하고, 마우스 이벤트를 포착하며, 이벤트에 따라 코드를 실행하는 방법을 알아본다. 이어서 월드 공간 캔버스를 이용해 게임 내 일시 정지 메뉴 기능을 만들고 텍스처 이미지를 새로운 유니티 UI와 함께 사용하기 위해 준비하는 방법을 알아본다.
13장. "최적화와 마지막 손질"에서는 최적화 기법을 적용하는 방법과 프로파일링으로 병목 현상을 발견하는 방법을 다룬다. 또한 표준 이미지 효과를 살펴보고 새로운 포스트 프로세싱 스택을 소개한다. 몇 가지 멋진 기능을 추가하고 최종 빌드를 위해 마지막으로 준비한다.
14장. "빌드와 공유"에서는 유니티를 지원하는 플랫폼에 대해 알아보고 데스크톱, 웹, 모바일 빌드에 맞게 게임을 조정하는 방법을 알아본다. 유니티 플레이어 설정과 빌드 설정을 살펴보고, 다양한 플랫폼 간의 주요 차이점을 확인하며, 만든 게임을 다른 사람들과 공유하는 방법을 소개한다.


목차


1장. 3차원으로 들어가기
__3D의 기본 개념
____좌표
____로컬 공간과 월드 공간
____벡터
____카메라
__폴리곤, 에지, 버텍스, 메시
__셰이더, 머티리얼, 텍스처
__리지드바디 물리
____충돌 감지
__소프트바디 물리
____클로스 컴포넌트
__3D에서 2D 처리
____하나의 축 무시
____스프라이트의 이해
__유니티의 핵심 개념
____유니티의 방식
____에셋
____씬
____게임오브젝트
____컴포넌트
____스크립트
____프리팹
__유니티 인터페이스
____씬 뷰와 계층 구조 뷰
____컨트롤 툴
____인스펙터
____프로젝트 창
____게임 뷰
__요약

2장. 프로토타입과 스크립팅의 기본
__첫 번째 유니티 프로젝트
____기본 프로토타입 환경
____씬 설정
____간단한 조명 추가
____벽을 세울 벽돌
__C# 스크립팅 소개
____스크립트와 클래스
____새로운 C# MonoBehaviour 클래스
__Shooter 클래스 작성하기
____공용 변수 선언
____스크립트를 오브젝트에 할당
____카메라 움직이기
____로컬, 전용, 공용 변수
____오브젝트 이동
____이동 구현하기
____탄알 만들기
__프리팹 저장
____탄알 발사하기
__요약

3장. 게임 에셋 만들고 설정하기
__씬 설정과 게임 에셋 준비
____게임에 프리팹 배치하기
__패럴랙스 스크롤 구현
____고려할 수 있는 옵션
____수집 아이템 스폰
__2D 애니메이션의 기본
____애니메이션 스프라이트 임포트하기
____애니메이터 컴포넌트
____애니메이터 상태 머신 에디터
____마무리
__요약

4장. 플레이어 컨트롤러와 추가 스크립팅
__인스펙터 이용
____태그
____레이어
____프리팹과 인스펙터
__유니티 스크립팅
____문
____변수
__전체 코드 예제
____함수
____맞춤형 함수 작성하기
____맞춤형 함수 선언
____if else문
____다중 조건
__스크립트 간 통신과 점 표기법
____다른 오브젝트 접근
____Find()와 FindWithTag()
____SendMessage
____GetComponent
____null 참조 예외
____코루틴
____주석
__2D 캐릭터 분석
____Platformer2DUserControl 클래스 확장
____수집 아이템 스폰
____타이머 추가
____체력과 장애물을 추가해 난이도 높이기
____더 멋있게 만들기
____추가 게임 논리 작성
____숙제
__요약

5장. 유니티를 이용한 캐릭터 애니메이션 201
__유니티 레거시 애니메이션 시스템
____캐릭터 모델과 애니메이션 임포트
____여러 모델 파일을 이용한 애니메이션 임포트
____애니메이션 설정
__애니메이터를 이용한 플레이어 만들기
____유니티에서 아바타란 무엇인가?
____아바타 구성하기
____애니메이터로 애니메이션 클립 임포트
____모델의 스케일 조정
__애니메이터의 이해
____애니메이터 컴포넌트
____애니메이터 컨트롤러
____애니메이터 상태 머신
____애니메이션 상태
____코드로 파라미터를 이용해 애니메이터 제어
__루트 모션 애니메이션
____개선된 방법: 루트 모션 애니메이션
____애니메이션 트랜지션
____블렌드 트리
____최종 마무리
__요약

6장. 환경 만들기
__게임 디자인
__지형 툴의 이해 및 사용
____지형의 특징 설정
____지형 툴
__섬 만들기
____1단계: 지형 설정
____2단계: 섬의 외각선 만들기
____3단계: 작은 호수 만들기
____4단계: 텍스처 추가
____5단계: 나무 심기
____6단계: 풀밭에 풀 추가
____7단계: 광원 추가
____8단계: 섬 주변에 바다 추가
____9단계: 사운드 추가
____10단계: 캐릭터 플레이어 추가
____11단계: 마무리
__요약

7장. 상호작용, 충돌, 경로 탐색
__디지털 콘텐츠 제작 애플리케이션
____일반적인 모델 임포트 설정
____Animation 섹션
__오두막 모델 설정
____모델 추가
____모델의 위치 조정
____수동으로 콜라이더 추가
____물리 머티리얼
____오디오 추가
__충돌과 트리거의 개요
____레이 캐스팅
__오두막의 문 열기
____첫 번째 기법: 충돌 감지
____두 번째 기법: 레이 캐스팅
____세 번째 기법: 트리거 충돌 감지
____추가 모델 배치
__유니티 내비게이션 시스템
____Bake 탭
____Agents 탭
____Object 탭
____Areas 탭
__요약

8장. AI, NPC, 그리고 추가 스크립팅
__NPC 만들기
____초기 코드와 애니메이터 컨트롤러
____애니메이션 전환
____내비게이션 설정
____간단한 AI 클래스 작성
____NPC 상호작용
____DialogueManager 클래스 작성
____대화를 표시하는 기본 UI 만들기
__적 인공지능 만들기
____용도에 맞게 유니티 표준 에셋 활용
____인공지능을 더 영리하게 만들기
____프로퍼티 드로어로 인스펙터에서 맞춤형 컴포넌트 개선
____부가적인 고려 사항과 아이디어
__요약

9장. 아이템 수집, 플레이어 인벤토리, HUD
__고대 유물 조각 프리팹 만들기
____다운로드, 임포트, 배치
____유물 조각에 태그 할당
____콜라이더 스케일 조정과 회전
____아티팩트 조각 수집 스크립트 만들기
____트리거 충돌 감지 추가
____프리팹으로 저장
__유물 조각 배치하기
__플레이어 인벤토리
____수집한 유물 조각의 수 저장
____PiecePickup() 메소드
____마지막 유물 조각에 대한 접근 제한
__게임 진행 상태 HUD 표시하기
____UI 이미지의 임포트 설정
____HUD 패널과 배경 UI 이미지 만들기
____UI 이미지 활성화를 위한 스크립팅
____QuestIndicator 이미지 추가
____요소의 그리기 순서
____게임 시작을 위해 HUD 비활성화
____HUD 활성화
__플레이어를 위한 힌트
____화면에 UI 텍스트 표시
____스크립팅을 통한 UI 텍스트 제어
____진행 상황을 보여주는 힌트 조정
__요약

10장. 인스턴스 생성과 리지드바디
__인스턴스 생성
____물리
__게임플레이 디자인
____돌 프리팹 만들기
__경비병에게 돌 던지기
____StoneLauncher 스크립트
____플레이어 입력 확인
____Fight 메소드 작성
____돌의 인스턴스 생성
____인스턴스 명명
____가속도 할당
____개발의 안전 장치
____마무리 손질
____인스턴스 제한과 오브젝트 정돈
____돌 던지기 애니메이션 구현
____돌을 영리하게 제거
__최종 마무리
____래그돌 물리 시뮬레이션
__경비병 회복하기
____코루틴을 이용해 게임 요소의 시간 지정
____충돌 감지
____주먹으로 경비병 공격
__요약

11장. 유니티 파티클 시스템
__파티클 시스템이란?
__벽난로 만들기
__횃불 만들기
____Fire Light 컴포넌트 수정
__환경 효과 추가
____마을 바닥에 모래 안개 추가
__바닷바람 파티클 시스템 만들기
____그레디언트 에디터
__폭포 만들기
__요약

12장. 유니티 UI를 이용한 메뉴 디자인
__유니티 UI
____캔버스 렌더 모드
____UI 사용을 위한 텍스처 준비
__메인 메뉴 씬 만들기
____게임 제목 추가
____메인 메뉴 패널 만들기
____오디오 옵션 메뉴 만들기
____비디오 옵션 메뉴 생성
__최종 손질
____조명과 섀도우
____포스트 프로세싱 이미지 효과
____두 카메라로 렌더링 분할
__결론
____화면 크기 테스트
____참고 자료
__요약

13장. 최적화와 마지막 손질
__지형 세부 조정
____스피드트리 사용하기
____언덕, 골, 바위, 텍스처 블렌딩
____씬 설정
____씬 베이킹하기
____씬 베이킹하기
____Global maps 탭
____Object maps 탭
__성능 최적화
____카메라 클립 평면
____오클루전 컬링
__마무리하기
____렌더링 경로
____물리 기반 렌더링: 유니티 표준 셰이더
____이미지 효과
____하드웨어 기반 안티앨리어싱(MSAA)과 셰이더 기반 안티앨리어싱(FSAA)
____포스트 프로세싱 스택
__고급 렌더링 기능
____LOD
____HDR
____비동기 텍스처 업로드
____그래픽스 커맨드 버퍼
__유니티 엔진의 자동화된 최적화
____정적 및 동적 배칭
____최대한으로 컬링하기
__추가 최적화
____물리 최적화
____인공지능의 CPU 사용량 최적화
__요약

14장. 빌드와 공유
__지원되는 플랫폼
____PC 윈도우, 리눅스, 맥 독립형
____안드로이드 플랫폼
____iOS
____WebGL
____가상현실, 증강 현실, 혼합 현실
__플레이어 설정
____크로스 플랫폼 일반 설정
____플랫폼별 플레이어 설정
____맥-PC-리눅스: 독립형 빌드
____안드로이드
____iOS
____WebGL
__플레이어 입력 설정
__그래픽 설정
____티어 설정
__품질 설정
____품질 설정: 렌더링
____품질 설정: 섀도우
____품질 설정: 기타
__게임 빌드하기
____빌드 설정
____첫 번째 빌드
__웹 배포를 위한 준비
____웹 배포를 위한 빌드
__모바일 플랫폼을 위한 준비와 빌드
____안드로이드를 위한 준비
____안드로이드용 빌드
____iOS용 빌드
__테스트와 디버깅
____비주얼 스튜디오 2017을 이용한 디버깅
____유니티 에디터를 이용한 테스트와 프로파일링
__작업 공유하기
____WebGL 빌드 공유하기
____모바일 스토어에 퍼블리싱
____데스크톱 퍼블리싱
____디지털 콘텐츠 제작 툴
____유니티와 MonoBehaviour의 미래
____테스트와 추가 연구
____실전을 통해 배우기
__테스트와 마무리
____공개 알파 테스트와 오픈 베타
____프레임 속도 피드백
____추가 최적화
__학습을 위한 방법
____바퀴를 재발명할 필요는 없다
____에디터 확장
____예제 프로젝트
____모르는 것이 있으면 물어보자!
__요약

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.