HOME / CATALOG / 게임 개발
게임 개발

절대강좌! 유니티

Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법
지은이 이재현
도서 정보
출간일
2018년 5월 4일
쪽수
772쪽
ISBN
9791158391058
시리즈
게임개발 시리즈_022
정가
48,000원
난이도
도서 소개
저자 소개
목차
예제 코드
정오표

도서 소개

유니티 2018 버전과 더불어 한층 더 충실하게 보강된 내용으로 돌아온 '절대강좌! 유니티'

유니티는 현재 가장 각광받고 있는 게임 개발 엔진으로, 국내외를 막론하고 출시되는 많은 모바일 게임은 물론 비게임 분야인 VR/AR, 영화, 산업 전반에서 유니티를 도입하는 추세다. 이 책에서는 유니티의 최신 버전인 유니티 2018을 이용해 게임 개발에 필요한 기능을 먼저 학습한 후 진행하는 방식이 아닌, 게임을 만들어 나가면서 필요한 기능을 알아보고 직접 구현하는 방식으로 진행한다.

유니티 2018에서 변경된 내용에 맞춰 책의 소스코드를 개정했으며 적 캐릭터의 AI에 시야각 기능을 추가해 개선하고 인벤토리 UI의 구현 및 데이터 저장 기법까지 다루고 있어 더욱 완성도 높은 게임을 구현하는 데 크게 도움될 것이다.

독자는 이 책을 끝까지 읽고 따라 하다 보면 어느새 게임 개발에 필요한 각종 지식을 습득하게 될 것이다.

★ 이 책에서 다루는 내용 ★

  • 유니티 설치 및 인터페이스 소개
  • 게임 스테이지 제작
  • 레거시 애니메이션 및 메카님 애니메이션
  • 적 캐릭터(NPC)의 유한상태머신(FSM; Finite State Machine) 구현
  • 내비게이션 메쉬를 이용한 적 캐릭터 추적 기능
  • 현실적인 폭발 효과 및 Muzzle Flash 구현
  • 실시간 그림자와 모바일용 그림자 처리
  • 레이캐스트(Raycast)를 응용한 발사 처리
  • 능동적인 카메라 워킹 기법 소개
  • 새로운 GUI 시스템인 유니티 UI 소개 및 게임 인터페이스 구현
  • 게임매니저 및 오브젝트 풀 구현
  • 내비게이션 고급 기법(동적 장애물, Off Mesh Link) 소개
  • 라이트매핑 및 라이트 프로브 소개
  • 인벤토리 UI 구현 및 아이템의 드래그, 드롭 기능 구현
  • PlayerPrefs, 파일, ScriptableObject를 활용한 데이터 저장 기법 소개
  • Progressive 라이트매퍼를 이용한 라이트맵 및 라이트 프로브 소개

 

도서 상세 이미지

저자 소개

이재현

SI 업계에서 13년간 프리랜서 개발자로 주로 반도체 분야와 금융권에서 일하다가, 2008년 아이폰 게임 개발에 첫발을 내디뎠다. 이후 유니티로 전향해 1인 개발자로서 다수의 게임을 앱 스토어에 출시했다. 유니티 관련 자료가 거의 없던 2011년에 국내 최초로 유니티 동영상 강좌 사이트(http://www.Unity3dStudy.com)를 개설해 많은 유니티 입문자에게 무료 강좌를 제공해 왔다. 현재 유니티코리아의 공인 마스터즈 2기로 활동 중이며, 오프라인에서도 유니티 기초와 VR/AR 강좌를 진행한다. 또한 1인 개발자로서 좋은 게임을 개발하고자 노력하고 있다.

목차

  • ▣ 01장: 유니티 게임 엔진의 소개
    • 통합 멀티미디어 엔진으로의 진화
    • 유니티의 장점
      • 멀티 플랫폼 지원
      • 통합 개발 환경(IDE)
      • 유니티 라이선스 정책
      • 정보 공유를 위한 커뮤니티 활성화
      • 애셋 스토어
    • 유니티로 만들어진 게임
    • 유니티 설치
      • 유니티 설치과정
      • 유니티 계정 생성 및 로그인
    • 유니티 에디터 소개
      • 유니티 에디터 구조
      • 툴 바 및 타이틀 바
      • 단축키 설정
    • 정리
    •  
  • ▣ 02장: 게임 개발 준비
    • 개발할 게임 소개 및 개발 순서
    • 새 프로젝트 생성
    • 유니티 에디터의 환경설정
    • 프로젝트 뷰의 체계적인 관리
    • 캐릭터모델 임포트하기
    • 애셋 스토어
    • 애셋 스토어에서 리소스 내려받기
    • 정리
    •  
  • ▣ 03장: 게임 스테이지 제작
    • 바닥 생성 및 배치
    • 텍스처
      • 텍스처 임포트
      • 텍스처의 해상도 조절
    • 머티리얼
      • 머티리얼 적용 방법
      • 타일링 속성
    • 셰이더 및 물리 기반 셰이딩
      • 렌더링 모드
      • 알베도
      • 메탈릭 속성
      • 노멀 맵
      • 하이트 맵
      • 오클루전
      • 이미션
      • 디테일 마스크
    • 프리팹
      • 벽 만들기
      • 프리팹 생성
      • 프리팹의 복제
      • 스내핑 기능
    • 조명
      • Directional Light
      • Point Light
      • Spot Light
      • Area Light
    • 하늘 표현 방식
      • 6방면 스카이박스
      • 프로시저럴 스카이박스
      • 큐브맵 스카이박스
    • 정리
    •  
  • ▣ 04장: 주인공 캐릭터 제작
    • 3D 모델 불러오기
    • 컴포넌트
    • 스크립트 생성
    • 키보드 입력값 받아들이기
      • InputManager
      • 스크립트 적용 방식
    • 캐릭터 이동 - Translate
      • 컴포넌트 캐시 처리
      • Private 변수의 Inspector 노출
      • 게임오브젝트의 이동 및 회전
      • Translate 함수
      • 정규화 벡터
      • 벡터의 덧셈연산
    • 캐릭터 회전 - Rotate
    • 카메라 추적 - SmoothFollow
    • 레거시 애니메이션
      • 애니메이션 클립
      • 애니메이션 적용
      • 애니메이션 컨트롤
      • 애니메이션 블렌딩
    • 무기 장착
    • 그림자
      • 실시간 그림자
      • Mesh를 이용한 그림자
    • Level Of Detail 설정
    • 정리
    •  
  • ▣ 05장: 총알 발사 로직
    • 총알 모델 준비
    • Rigidbody 컴포넌트
    • 물리엔진 속성 설정 - Physics Manager
    • Collider 컴포넌트
      • Box Collider
      • Sphere Collider
      • Capsule Collider
      • Mesh Collider
      • Wheel Collider
      • Terrain Collider
    • 충돌 감지 조건
    • 충돌 이벤트
    • Tag 활용
    • 총알 발사 로직
      • 총알의 발사 위치
      • 런 모드에서 수정한 속성
      • 기즈모의 활용
    • 총알 발사궤적 효과 만들기 - Trail Renderer
    • 파티클 활용하기
      • 탄피 효과내기
      • 총구 화염 효과 - Muzzle Flash
      • 스파크와 탄흔 효과
    • 드럼통의 폭발 효과
      • Scale Factor
      • Mesh Collider 활용
      • 드럼통의 외형 변형 - Mesh Filter
      • 텍스처의 변경하기 - Mesh Renderer
      • 폭발력 적용하기 - AddExplosionForce
    • 사운드
      • AudioListener, AudioSource 컴포넌트
      • 오디오 파일 임포트 및 설정
      • 오디오 임포트 옵션 - Load Type
      • 오디오 임포트 옵션 - Compression Format
      • 총소리 구현
      • 드럼통 폭발음 구현
    • 정리
    •  
  • ▣ 06장: 적 캐릭터 제작
    • 유한상태머신의 정의
    • 메카님
      • 적 캐릭터 3D 모델 임포트
      • 메카님 애니메이션으로 전환
      • 애니메이션 리타깃팅
      • 본 구조의 최적화 - 총 장착
    • 애니메이터 컨트롤러
      • 메카님 애니메이션 클립 설정
      • 스테이트 전이와 파라미터
      • 루트 모션
      • Root Transform Position (Y) 속성
      • Root Transform Position (XZ) 속성
      • Root Transform Rotation 속성
    • 내비게이션 - 적 캐릭터의 순찰 및 추적
      • 내비게이션 설정 및 베이크
      • NavMeshAgent 컴포넌트
    • 적 캐릭터의 순찰 기능
      • 순찰 지점 생성
      • 스크립트 컴파일과 어셈블리 정의 파일
      • 순찰 로직 구현
    • 유한상태머신 구현
      • 코루틴 함수
      • 적 캐릭터의 상태 체크
      • 적 캐릭터의 행동 처리
      • 애니메이션 동기화 - Blend Tree
      • NavMeshAgent의 회전 속도
    • 적 캐릭터의 공격 기능
      • Any State 와 Transition Duration
      • 자동 발사 기능 구현
      • 재장전 기능 구현 - 레이어 분리
      • 적 캐릭터의 총알 제작
      • 메쉬로 만드는 총구 화염 - Muzzle Flash
    • 적 캐릭터의 피격 및 혈흔 효과
      • Resources 폴더
      • Sub-State Machine
    • 정리
    •  
  • ▣ 07장: 주인공 캐릭터 피격 및 타격감 구현
    • 타격감 구현
      • 주인공을 따라가는 기능 - FollowCam
      • 셰이크 효과
    • 주인공 피격 및 피격 효과
      • 레이어 간의 충돌 감지
      • Is Trigger 속성
    • 애니메이션 속도 조절 및 오프셋 설정
    • 불규칙적인 순찰
    • 메시지 전달 - SendMessage
    • 사용자 정의 이벤트 - Delegate
    •  
  • ▣ 08장: 유니티 UI 시스템
    • Canvas 객체
      • EventSystem 객체
      • Canvas 컴포넌트
    • Rect Transform 컴포넌트
      • 앵커 프리셋
      • anchoredPosition 속성
      • 앵커 속성
    • Image 컴포넌트
      • Simple
      • Sliced
      • Tiled
      • Filed
    • RawImage 컴포넌트
    • Button 컴포넌트
      • Transition 속성
      • Navigation
      • Button Event
    • Text 컴포넌트
      • Text Effects
    • Bloody Screen 효과
    • 생명 게이지 구현
    • 탄창 정보 UI 및 재장전 로직 구현
      • 탄창 UI 디자인
    • 정리
    •  
  • ▣ 09장: 게임 매니저
    • 적 캐릭터의 출현 로직
      • 하이러키 뷰를 간결하게 유지하기
      • SpawnPointGroup 생성
      • 사용자 정의 기즈모
      • GameManager 객체 생성
    • 싱글턴 디자인 패턴
      • 오브젝트 풀
      • 이벤트 함수의 실행 순서
    • 정리
    •  
  • ▣ 10장: UI 고급
    • 적 캐릭터의 생명 게이지 구현
      • Screen Space - Camera 모드
    • 무기 교체 UI
      • UI 터치 이벤트 감지
    • 일시 정지 기능
      • Canvas Group
    • 인벤토리 UI
      • 인벤토리 UI 제작
      • Grid Layout Group 컴포넌트
      • 드래그 처리
      • 드롭 처리
    • 정리
    •  
  • ▣ 11장: 데이터 저장 및 불러오기
    • PlayerPrefs를 활용한 데이터 저장
    • 바이너리 파일 저장
      • 객체 직렬화(Object Serialization)
      • OnApplicationQuit
      • 아이템 추가 및 삭제
      • 인벤토리에 아이템 로드
    • ScriptableObject
    • 정리
    •  
  • ▣ 12장: 레이캐스트 활용
    • 레이캐스트
    • 총알 자동 발사 로직
    • 장애물 검출에 레이캐스트 응용
      • 장애물 설정
      • 주인공 캐릭터에 물리 엔진 적용
    • 적 캐릭터의 지능화된 AI
      • 원주의 점 좌표 계산
      • 유니티 Editor 클래스
      • 적 캐릭터의 시야각 구현
    • 카메라의 장애물 감지
      • 벽에 가려진 카메라의 높이 변경
      • 장애물에 가려진 카메라의 높이 변경
    • 정리
    •  
  • ▣ 13장: 내비게이션 고급 기법
    • 동적 장애물
    • Off Mesh Link Generation
    • 사용자 정의 Off Mesh Link
    • 정리
    •  
  • ▣ 14장: 라이트매핑 및 라이트 프로브
    • 전역 조명
    • 조명 모드
      • Realtime 모드
      • Mixed 모드
      • Baked 모드
    • 라이트매핑
      • Generate Lightmap UVs 옵션
      • Lightmap Static 플래그
      • 라이팅 뷰
      • Progressive 라이트매퍼
      • 라이팅 뷰의 Environment
      • Baked 라이트매핑
      • Auto Generate 옵션
      • 라이트맵 베이크
      • Area Light
    • 라이트 프로브
      • Light Probe Group
      • Anchor Override
    • 정리
    •  
  • ▣ 15장: 씬 관리
    • Scene 분리
    • Scene 병합
    • 씬 전환 시 Fade In 로직
    • 정리
    • 책을 마치며

정오표

  • 134쪽, 6번째 줄

    이 기능은 유니티에서 제공하는 스크립트를 사용한다. 메뉴에서 [Assets] → [Import Package] → [Utility]를 차례로 선택하거나 프로젝트 뷰에 마우스 커서를 이동시키고 마우스 오른쪽 버튼을 클릭하면 팝업된 컨텍스트 메뉴에서 [Import Package] → [Utility]를 선택한다.

    ==>

    유니티 허브를 이용해 유니티를 설치하면 메뉴에서 [Assets] → [Import Package]가 나오지 않을 수 있습니다. 이때는 에셋 스토어(Asset Store)에서 Standard Assets를 내려받고, 임포트한 후에 이후 과정은 책을 따라하면 됩니다.

  • 203쪽, 3번째 줄

    “Particles/Addictive”로 변경하면

    ==>

    “Particles/Additive”로 변경하면

WHERE TO BUY · 정가 48,000원
WHERE TO BUY · 정가 48,000원