인생 유니티 교과서 - 유니티 게임 개발 탑티어 강의 -

고객평점
저자이영호 외
출판사항성안당, 발행일:2020/05/15
형태사항p.731 B5판:25
매장위치컴퓨터부(B2) , 재고문의 : 051-816-9500
ISBN9788931556377 [소득공제]
판매가격 38,000원   34,200원  (인터넷할인가:10%)
포인트 1,710점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

유니티 코리아의 유니티 에반젤리스트 출신이자 전문 유니티 강의로 유명했던 이영호 대표 저자가 유니티 강의 그룹 아라XR랩(ARA XR Lab)의 대표로 유니티 개발 경력이 화려한 전문 유니티 강사 여섯 분(이영훈, 김태환, 김현진, 박원석, 박현상, 탁광욱)과 함께 집필한 유니티 입문서가 나왔다. 인생에서 중요한 책, 인생에서 중요한 영화를 ‘인생 책’, ‘인생 영화’라고 하듯 <인생 유니티 교과서>라는 이름으로 야심차게 준비한 이 책은 유니티 2019 버전과 2020 버전에서 달라진 점을 망라하여 유니티의 기초, 설치부터 C# 문법, FPS(1인칭 슈팅 게임)를 설명한다.


유니티(Unity)는 덴마크의 요하임 안테, 니콜라스 프란시스, 데이비드 헬가슨이 만든 3D 및 2D 게임엔진이면서 3D 애니메이션과 건축 시각화, 증강현실(AR)/가상현실(VR) 등 인터랙티브한 콘텐츠 제작을 지원하는 통합 저작 도구이다. ‘게임 개발의 민주화’를 표방하는 유니티는 윈도, 맥OS, iOS, 안드로이드, 플레이스테이션, 엑스박스, 닌텐도 스위치, 웹브라우저(WebGL) 등 27개의 플랫폼을, 유니티 에디터는 윈도와 맥OS를 지원한다. 이처럼 유니티는 사용 범위가 광범위해 취업용 강의 과정으로, 또 대학 게임학과에서 선호한다. 퍼스널, 플러스, 프로 세 가지 판으로 배포되며 개인은 퍼스널 판을 무료로 이용할 수 있어 저변이 상당히 넓다.


이 책은 말 그대로 유니티 개발의 모든 것을 알려주는 표준 교과서를 표방하고 있으며, 향후 독자들이 좀더 쉽게 접근할 수 있도록 예제 소스와 강의 영상을 저자 카페(cafe.naver.com/unrealunity)와 깃허브(github.com/araxrlab/lifeunity)에 지속적으로 업로드할 예정이다.
본문에서는 유니티 문법 소개부터 다양한 개발 버전별(프로토타입, 알파, 베타 타입) 유니티 게임 개발 단계를 통해 실전 소스와 코딩 방법을 설명하여 진정한 유니티 전문가의 길로 안내한다.  

작가 소개

이영호
ARA XR Lab 대표
· 전 유니티 코리아 에반젤리스트
· 가천대 게임대학원 게임공학 석사
· 17년 이상 넥슨 및 게임 개발사에서 실무 개발
· 세종대, 명지전문대 등 겸임교수

 

목 차

Preface 7인 7색 저자 서문
Profile 저자 소개


Chapter • 1
유니티 알아보기

1 유니티 알아보기
1.1 개발 방법론
1.1-1 프로젝트 제작의 이해
1.1-2 직군
➜ 직군의 구분과 이해
1.1-3 레고 조립식 유니티 제작 방법
➜ 레고와 유니티 제작 방법 비교

1.2 유니티 설치하기
1.2-1 유니티 회원 가입과 설치
➜ 유니티 회원 가입하기
➜ 유니티 허브 다운로드 후 설치하기
➜ 유니티 허브로 유니티 설치하기

1.3 유니티 화면 구성
1.3-1 새로운 프로젝트 생성하기
1.3-2 유니티 화면 구성 알아보기
1.3-2 유니티 기본 기능 알아보기
➜ 기본 도형 만들기
➜ 씬 창에서 화면 움직임 알아보기
➜ 오브젝트 포커스
➜ Transform 툴 알아보기
➜ 버텍스 스냅핑(Vertex Snapping) 알아보기

1.4 오브젝트 다루기
1.4-1 의자 만들기
➜ 씬 만들기
➜ 의자 앉는 부분 만들기
➜ 의자 등받이 만들기
➜ 의자 다리 만들기(1)
➜ 의자 다리 만들기(2)
➜ 의자 다리 만들기(3), (4)
 1.4-2 아파트 평면도 만들기
➜ 아파트 바닥 만들기
➜ 아파트 발코니 만들기
➜ 아파트 큰방 만들기
➜ 아파트 작은방 만들기
➜ 아파트 화장실 만들기
➜ 아파트 베란다 만들기
➜ 아파트 뚫린 벽면 막기
➜ 아파트 평면도 완성


Chapter • 2
 C# 스크립트 코딩

2 C# 스크립트 코딩
2.1 코딩의 특징
2.1-1 언어적인 특징
2.1-2 논리적인 특징
2.1-3 알고리즘

2.2 유니티와 C# 스크립트
2.2-1 C#이란?
2.2-2 유니티에서 코딩 준비
2.2-3 C# 스크립트의 구성

2.3 기초 문법 익히기
2.3-1 HelloWorld 출력하기
2.3-2 자료형과 변수
2.3-3 조건문 if
 2.3-4 반복문 for
 2.3-5 함수
➜ 함수의 구현과 호출
➜ Plus 함수 구현
➜ 지역 변수와 전역 변수
2.3-6 클래스(Class)와 객체
➜ 클래스
➜ 객체
2.3-7 객체지향의 특징
➜ 추상화
➜ 상속성
➜ 캡슐화
➜ 다형성

2.4 마무리

 

Chapter • 3
슈팅 게임 제작

3 슈팅 게임 제작
3.1 프로토타입 버전 제작
3.1-1 프로젝트 생성과 환경 설정
➜ 슈팅 게임 프로젝트 생성하기
➜ 제작 환경 설정하기
3.1-2 플레이어 이동 제작
➜ 플레이어 GameObject 생성하기
➜ 이동 스크립트 생성해 할당하기
➜ 이동 스크립트 구현
3.1-3 총알 이동 제작
➜ 총알 GameObject 생성하기
➜ 이동 스크립트 생성해 할당하기
➜ 이동 스크립트 구현
3.1-4 총알 발사 제작
➜ 총알 발사 스크립트 만들어 할당하기
➜ 총알 발사 스크립트 구현
3.1-5 적 이동 제작과 충돌
➜ 적 GameObject 생성하기
➜ 이동 스크립트 생성해 할당하기
➜ 이동 스크립트 구현
➜ 다른 물체와 충돌시키기
3.1-6 적 자동 생성
➜ Enemy를 Prefab으로 만들기
➜ EnemyManager 게임 오브젝트 생성하기
➜ EnemyManager 스크립트 생성해 할당하기
➜ 적 생성 스크립트 구현
➜ 적 생성 시간을 랜덤하게
3.1-7 적의 인공지능(플레이어 방향 찾기)
➜ 30% 확률로 플레이어 방향, 나머지 확률로 아래 방향
➜ 태어날 때 방향을 정하고 그 방향으로 계속 이동하고 싶다
3.1-8 DestroyZone과 충돌 감지
➜ 영역 감지 GameObject 생성하기
➜ 영역 감지 스크립트를 생성해 할당하기
➜ 영역 감지 스크립트 구현

3.2 알파 타입 버전
3.2-1 플레이어를 알파 버전으로 업그레이드
➜ 애셋 스토어(Asset Store)에서 사용할 애셋 다운로드하기
➜ 프로젝트에 애셋(asset) 가져오기
➜ 프로젝트에 해당 애셋 적용하기
3.2-2 에너미 알파 버전으로 업그레이드
➜ 에너미에 해당 애셋 적용하기
3.2-3 총알(Bullet)을 알파 버전으로 업그레이드
➜ 애셋 스토어에서 사용할 애셋 다운로드
➜ 프로젝트에 애셋 가져오기
➜ 총알에 해당 애셋 적용하기
3.2-4 폭발 효과 추가
➜ 애셋 스토어에서 사용할 애셋 다운로드
➜ 프로젝트에 애셋 가져오기
➜ 물체 충돌 시에 폭발 효과 발생시키기
3.2-5 배경 추가
➜ 애셋 스토어에서 사용할 애셋 다운로드
➜ 프로젝트에 애셋 가져오기
➜ 스크롤되는 배경 추가하기
➜ 배경 게임오브젝트 제작
3.2-6 사운드 추가
3.2-7 점수 추가
➜ 현재 점수와 최고 점수 UI를 표시하고 싶을 때
➜ 에너미를 잡을 때마다 현재 점수를 표시하고 싶을 때
➜ 최고 점수를 표시하고 싶을 때
➜ 값을 저장하고 불러오기 하고 싶을 때

3.3 베타 타입 버전
3.3.1 싱글턴 디자인 패턴으로 관리자 만들기
3.3-2 오브젝트 풀(Object Pool)을 이용한 메모리 관리
➜ 오브젝트 풀의 개념
➜ 총알 오브젝트 풀 제작하기
➜ 에너미 오브젝트 풀 제작하기
➜ 리스트(List)를 사용한 오브젝트 풀 제작하기
➜ 에너미 오브젝트 풀 리스트로 교체
3.3-3 모바일 조이스틱 입력 대응하기
➜ 애셋 스토어에서 플러그인 다운로드해 가져오기
➜ 모바일 조이스틱 입력 대응하기
3.3-4 PC 및 모바일 빌드
➜ PC 환경 빌드
➜ 모바일 환경 빌드


Chapter • 4
 FPS 게임 제작하기

4.1 프로토타입 버전
4.1-1 캐릭터 회전
4.1-2 캐릭터 이동
4.1-3 점프

4.2 무기 제작
4.2-1 투척 무기
4.2-2 발사 무기

4.3 에너미(Enemy) 제작
4.3-1 FSM 설계
4.3-2 상태 함수 구현

4.4 UI 제작
4.4-1 체력 바 UI
 4.4-2 피격 효과 UI 415
 4.4-3 Game Manager 제작

4.5 모델링 교체와 애니메이션
4.5-1 에너미 모델링 교체
4.5-2 에너미 애니메이션
4.5-3 플레이어 모델링 교체
4.5-4 플레이어 애니메이션

4.6 길 찾기
4.6-1 길 찾기 알고리즘
4.6-2 내비게이션 기능 적용하기

4.7 무기 모드 추가 및 효과 적용
4.7-1 스나이퍼 모드 추가
4.7-2 무기 효과 적용

4.8 옵션 UI 제작
4.8-1 옵션 UI 레이아웃 구성
4.8-2 옵션 기능 구현

4.9 로그인 화면과 비동기 씬 로드
4.9-1 로그인 화면 구성
4.9-2 로그인 기능 구성
4.9-3 비동기 씬 로딩하기

4.10 UI 디자인 레이아웃
4.10-1 유니티 UI 시스템 개념 정리
➜유니티 UI 시스템 구조
➜캔버스(Canvas) 속성
➜ 앵커(Anchor)와 피벗(Pivot)
➜ UI 작업을 위한 준비
4.10-2 크로스헤어
4.10-3 플레이어 체력 바
4.10-4 적 체력 바
4.10-5 무기 변경 UI

 4.11 그래픽 꾸미기
4.11-1 머티리얼
➜ PBR 렌더링 시스템
➜ 알베도(Albedo)와 디퓨즈(Diffuse)
➜ PBR의 금속 성질 파라미터, 메탈릭(Metalic)
➜ PBR의 매끄러움 파라미터, 스무드니스(Smoothness)
➜ 디테일을 위한 노멀 맵(Normal map)
➜ 자체 발광 효과, 이미션(Emission)
 4.11-2 파티클 시스템(Particle System)
➜ 불꽃 이펙트 만들기
➜ 연기 이펙트 만들기
4.11-3 라이트 맵핑(Light Mapping)
➜ 스태틱(Static) 처리 ➜ 라이트(Light)
➜ 스카이박스 셋팅(Skybox Setting)
➜ 라이트맵 셋팅(Lightmapping Settings)
➜ 라이트맵 옵션
➜ 프로브(Probe)의 활용
4.11-4 포스트 프로세싱(Post Processing)
➜ 패키지 매니저에서 다운로드하기 ➜ 포스트 프로세싱 셋팅하기 ➜ 안티에일리어싱(Anti-Aliasing) 효과
➜ 앰비언트 오쿨루전(Ambient Occlusion) 효과
➜ 블룸(Bloom) 효과
➜ 뎁스 오브 필드(Depth Of Field) 효과 적용하기

4.11-5 씨네머신(Cinemachine)
➜ 씨네머신의 구조 이해하기 ➜ Playable Director 컴포넌트와 Timeline 애셋
➜ 카메라와 씨네머신브레인(CinemachineBrain)
➜ 버추얼 카메라(Virtual Camera)의 기본 셋팅
➜ 버추얼 카메라 응용
➜ 애니메이션 트랙
➜ 액티베이션 트랙
➜ 스크립트를 통한 제어

4.11-6 애니메이션 사용 시 주의사항(MIXAMO)

 Appendix 부록 애셋 스토어와 패키지 매니저 활용
➜ 애셋 스토어 변경 사항
➜ 패키지 매니저 활용  

 

역자 소개

01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우