절대강좌! 유니티(2021)
도서명:절대강좌! 유니티(2021)
저자/출판사:이재현/위키북스
쪽수:820쪽
출판일:2021-06-10
ISBN:9791158392611
목차
▣ 01장: 유니티 엔진의 소개
리얼타임 3D 플랫폼
유니티의 장점
____멀티 플랫폼 지원
____통합 개발환경
____유니티 라이선스 정책
____정보 공유를 위한 커뮤니티 활성화
____에셋 스토어
유니티로 만들어진 게임 및 콘텐츠
유니티 설치
____유니티 허브에서 로그인 또는 계정 생성
____라이선스 활성화
____유니티 에디터 설치
유니티 에디터 소개
____유니티 에디터 구조
____뷰
____툴 바의 기능
____단축키 설정
정리
▣ 02장: 게임 개발 준비
이 책에서 개발할 게임 소개 및 개발 순서
프로젝트 생성
유니티 에디터의 환경설정
____레이아웃
____프로젝트 뷰의 칼럼
프로젝트 뷰의 체계적인 관리
캐릭터 모델 임포트하기
____유니티 패키지를 통한 리소스 설치
에셋 스토어
____무료 리소스 내려받기
정리
▣ 03장: 게임 스테이지 제작
바닥 생성 및 배치
텍스처
____텍스처의 해상도 조절
머티리얼
____머티리얼의 자동 적용
____머티리얼 생성
____Albedo, Normal Map 적용
____머티리얼 적용 방법
____타일링 속성
____프리뷰의 다양한 기능
셰이더 및 물리 기반 셰이딩
____렌더링 모드
____알베도
____메탈릭 속성
____노멀 맵
____하이트 맵
____오클루전
____이미션
____디테일 마스크
프리팹
____네스티드 프리팹
____벽 만들기
____프리팹 생성
____프리팹의 복제 및 네이밍
____스내핑 기능
조명
____Directional Light
____Point Light
____Spot Light
____Area Light
실시간 라이트매핑 기능
____Lighting Settings 에셋
____Auto Generate 옵션
하늘 표현 방식
____6방면 스카이박스
____스카이박스 적용
____프로시저럴 스카이박스
____큐브맵 스카이박스
정리
▣ 04장: 주인공 캐릭터 제작
3D 모델 불러오기
유니티 엔진의 개발 방식
____컴포넌트 기반의 개발 방식
C# 스크립트
____스크립트 코드 에디터
____추천하는 코드 에디터
____코드 에디터 변경
____C# 스크립트 생성
____유니티의 주요 이벤트 함수
____이벤트 함수의 호출 순서
키보드 입력값 받아들이기
____InputManager
____GetAxis 메서드
____스크립트 적용 방식
____GetAxisRaw 메서드
캐릭터의 이동
____Vector3 구조체
____정규화 벡터
____컴포넌트 캐시 처리
________Translate 함수
____Time.deltaTime
____public, private 접근 제한자
____인스펙터 뷰에 노출된 변수의 우선순위
____private 변수의 인스펙터 뷰 노출
____벡터의 덧셈 연산
캐릭터 회전 - Rotate
____씬 뷰에서 가상 카메라의 이동
애니메이션
____애니메이션 클립
____애니메이션 적용
____애니메이션 블렌딩
무기 장착
그림자
____실시간 그림자
____메시를 이용한 그림자
Level Of Detail 설정
____LOD Group 컴포넌트
Follow Camera 로직
____Vector3.Lerp, Vector3.Slerp
____Vector3.SmoothDamp
____Target Offset 적용
정리
▣ 05장: 총 발사 로직
총알 모델 준비
Rigidbody 컴포넌트
물리 엔진 속성 설정 - Physics Manager
Collider 컴포넌트
____Box Collider
____Sphere Collider
____Capsule Collider
____Mesh Collider
____Wheel Collider
____Terrain Collider
충돌 감지 조건
충돌 이벤트
Tag 활용
____OnCollisionEnter 콜백 함수
____CompareTag 함수
____Bullet의 프리팹 전환
총알 발사 로직
____총알의 발사 위치
____런 모드에서 수정한 속성
____기즈모의 활용
____스크립트 작성 방식
총알 발사 궤적 효과 만들기 - Trail Renderer
____Trail Renderer
____프리팹의 변경 내용 조회 및 저장
파티클 활용하기
____충돌 지점과 법선 벡터
____쿼터니언(Quaternion)
폭발 효과 및 폭발력 생성
____Scale Factor
____하이러키 뷰의 간략화
텍스처 변경하기 - Mesh Renderer
____폭발력 적용하기 - AddExplosionForce
____OverlapSphereNonAlloc
오디오
____AudioListener, AudioSource 컴포넌트
____오디오 파일 임포트 및 설정
____오디오 임포트 옵션 - Load Type
____오디오 임포트 옵션 - Compression Format
____총소리 구현
총구 화염 효과 - Muzzle Flash
____코루틴 함수
____MuzzleFlash의 블링크 효과
____MuzzleFlash의 텍스처 오프셋 변경
____코루틴의 응용 - 임계치
정리
▣ 06장: 적 캐릭터 제작
유한 상태 머신의 정의
메카님
____적 캐릭터 3D 모델 임포트
____메카님 애니메이션으로 전환
____애니메이션 클립 속성
____애니메이션 리타게팅
____Animator 컴포넌트
애니메이터 컨트롤러
____스테이트 전이와 파라미터
내비게이션 - 적 캐릭터의 순찰 및 추적
____내비게이션 설정 - Navigation Static Flag
____내비메시 베이크
____NavMeshAgent 컴포넌트
유한 상태 머신 구현
____적 캐릭터의 상태 체크
____적 캐릭터의 행동 구현
____애니메이션 동기화
____몬스터 공격 루틴
____몬스터 피격 리액션
혈흔 효과
____Resources 폴더
적 캐릭터의 공격 능력
____OnTriggerEnter 콜백 함수
특정 레이어 간의 충돌 감지
본 구조의 최적화
몬스터 공격 중지
____애니메이션의 재생 속도 조절
사용자 정의 이벤트 - Delegate
____델리게이트
____주인공의 사망 이벤트 처리
몬스터의 사망 처리
____Root Transform Position
정리
▣ 07장: 유니티 UI 시스템
유니티 UI 구현 형태
____IMGUI
____UI Toolkit
____Unity UI
____UI 리소스 준비
Canvas 객체
____EventSystem 객체
____Canvas 객체의 컴포넌트
Canvas 컴포넌트
____Screen Space - Overlay
____Screen Space - Camera
____World Space
Rect Transform 컴포넌트
앵커 프리셋
____기본 앵커 프리셋
____Alt 키 조합의 앵커 프리셋
____Shift 키 조합의 앵커 프리셋
____Alt + Shift 키 조합의 앵커 프리셋
____anchoredPosition 속성
____Anchors 속성
Image 컴포넌트
____Simple
____Sliced
____Tiled
____텍스처의 Wrap Mode
____Filled
RawImage 컴포넌트
Button 컴포넌트
____Transition 속성
____Navigation
____Button Event
Text 컴포넌트
스크립트에서 버튼 이벤트 처리하기
____람다식
TextMesh Pro
____TextMesh Pro의 필수 리소스 설치
____Text - TextMesh Pro
____TextMesh Pro의 한글 처리
____KS X 1001 규격의 한글 2350자
생명 게이지 구현
정리
▣ 08장: 게임 매니저
적 캐릭터의 출현 로직
____SpawnPointGroup 생성
____GameManager 객체 생성
____Invoke, InvokeRepeate 함수
싱글턴 디자인 패턴
오브젝트 풀링
스코어 UI 구현
____PlayerPrefs를 활용한 스코어 저장
정리
▣ 09장: 레이캐스트 활용
레이캐스트
____DrawRay
____Raycast, RaycastHit
정리
▣ 10장: 내비게이션 고급 기법
동적 장애물
____NavMeshObstacle 컴포넌트
Off Mesh Link Generation
사용자 정의 Off Mesh Link
자연스러운 회전 처리
Area Mask의 활용
____경로의 가중치
정리
▣ 11장: 라이트매핑 및 라이트 프로브
전역 조명
조명 모드
____Realtime 모드
____Mixed 모드
____Baked 모드
라이트매핑
____Generate Lightmap UVs 옵션
____Lightmap Static 플래그
____라이팅 뷰
____Progressive 라이트매퍼
____라이팅 뷰의 Environment
____Baked 라이트매핑
____라이트맵 베이크
____Area Light
라이트 프로브
____Light Probe Group
____Anchor Override
정리
▣ 12장: 씬 관리
Scene 분리
Scene 병합
멀티 씬 에디트 기능
정리
▣ 13장: 오클루전 컬링
컬링 방식
____프러스텀 컬링
____거리 비례에 의한 컬링
____오클루전 컬링
오클루전 컬링 실습
____Occluder Static, Occludee Static
정리
▣ 14장: Input System
레거시 Input 클래스
새로운 Input System의 특징
____Input System의 구조
____Input System의 환경 설정
____Input System 패키지 설치
____Active Input Handling
____테스트 환경 제작
____Input Action 에셋
____Control Schemes
____Action Map 및 Action 생성
____바인딩 속성 설정
____이동 동작의 바인딩 추가
____공격 동작의 액션과 바인딩 추가
Player Input 컴포넌트
____Actions 속성
____Behavior 속성
____Behavior - Send Messages 옵션
____Behavior - Invoke Unity Events 옵션
____Behavior - Invoke C Sharp Events
____Direct Binding
Input Debug
정리
▣ 15장: 포톤 클라우드를 활용한 네트워크 게임
____포톤 리얼타임 vs. 포톤 클라우드
포톤 클라우드 환경 설정
____계정 생성
____포톤 클라우드 어플리케이션 생성
____유니티 프로젝트 생성 및 리소스 추가
유니버설 렌더 파이프라인
____URP 프로젝트 생성 방법
____새 프로젝트 생성
____Universal RP 패키지 설치 및 URP 설정
____포스트 프로세싱 설정
____포스트 프로세싱 효과
스테이지 생성
____스테이지 설치와 라이트 매핑
____Bloom, Tonemapping 효과
주인공 캐릭터 설정
____주인공 캐릭터 이동 및 회전
____시네머신을 활용한 카메라 컨트롤
포톤 프로젝트 설정
____PUN 패키지 설치
포톤 서버 접속
주인공 캐릭터의 네트워크 기능 구현
____PhotonView 컴포넌트
____Photon Transform View, Photon Animator View
____네트워크 환경에서 생성하기 위한 준비
____동시 접속을 위한 테스트 환경
____OnPhotonSerializeView 콜백 함수
____RPC를 활용한 총 발사 로직
____피격 및 리스폰
로비 제작
____로비 씬 제작
____로그인 UI 제작
____게임 룸 입장
____룸 목록 UI 구현
____룸 목록 받아오기
베틀 필드 세부기능 구현
____접속 정보 및 룸 나가기 기능 구현
____ActorNumber 활용
정리
▣ 책을 마치며