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

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

$40.00
Description
유니티 코리아의 유니티 에반젤리스트 출신이자 전문 유니티 강의로 유명했던 이영호 대표 저자가 유니티 강의 그룹 아라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)에 지속적으로 업로드하고 있다.
본문에서는 유니티 문법 소개부터 다양한 개발 버전별(프로토타입, 알파, 베타 타입) 유니티 게임 개발 단계를 통해 실전 소스와 코딩 방법을 설명하여 진정한 유니티 전문가의 길로 안내한다. 지난 4쇄부터는 최신 2021 호환 버전으로 안내 설명이 바뀌었고 5쇄에서 수정 사항을 반영하였다.
선정 및 수상내역
- 2021 세종도서 학술 부문 우수 도서 선정
저자

이영호

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

목차

Preface7인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툴알아보기
➜버텍스스냅핑(VertexSnapping)알아보기

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

Chapterㆍ2
C#스크립트코딩

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

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

2.3기초문법익히기
2.3-1HelloWorld출력하기
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-8DestroyZone과충돌감지
➜영역감지GameObject생성하기
➜영역감지스크립트를생성해할당하기
➜영역감지스크립트구현

3.2알파타입버전
3.2-1플레이어를알파버전으로업그레이드
➜애셋스토어(AssetStore)에서사용할애셋다운로드하기
➜프로젝트에애셋(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오브젝트풀(ObjectPool)을이용한메모리관리
➜오브젝트풀의개념
➜총알오브젝트풀제작하기
➜에너미오브젝트풀제작하기
➜리스트(List)를사용한오브젝트풀제작하기
➜에너미오브젝트풀리스트로교체
3.3-3모바일조이스틱입력대응하기
➜애셋스토어에서플러그인다운로드해가져오기
➜모바일조이스틱입력대응하기
3.3-4PC및모바일빌드
➜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-1FSM설계
4.3-2상태함수구현

4.4UI제작
4.4-1체력바UI
4.4-2피격효과UI415
4.4-3GameManager제작

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.10UI디자인레이아웃
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)
➜디테일을위한노멀맵(Normalmap)
➜자체발광효과,이미션(Emission)
4.11-2파티클시스템(ParticleSystem)
➜불꽃이펙트만들기
➜연기이펙트만들기
4.11-3라이트맵핑(LightMapping)
➜스태틱(Static)처리 ➜라이트(Light)
➜스카이박스셋팅(SkyboxSetting)
➜라이트맵셋팅(LightmappingSettings)
➜라이트맵옵션
➜프로브(Probe)의활용
4.11-4포스트프로세싱(PostProcessing)
➜패키지매니저에서다운로드하기 ➜포스트프로세싱셋팅하기 ➜안티에일리어싱(Anti-Aliasing)효과
➜앰비언트오쿨루전(AmbientOcclusion)효과
➜블룸(Bloom)효과
➜뎁스오브필드(DepthOfField)효과적용하기

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

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

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