책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 게임 프로그래밍
· ISBN : 9791161757230
· 쪽수 : 1028쪽
· 출판일 : 2025-12-10
책 소개
◆ 플레이어 이동, 점프, 공격 등 기본 캐릭터 기능 구현 과정을 유한 상태 기계를 활용해 단계적으로 설명
◆ 몬스터 제작 및 추격, 공격 기능을 통해 적 AI 동작 구현
◆ 전투 및 대미지 시스템 구현을 통해 RPG 게임의 핵심 시스템 구축
◆ Scriptable Object를 활용한 플레이어, 몬스터, 퀘스트, NPC 데이터 등 게임 데이터의 효율적 관리
◆ 사용자 인터페이스UI와 인벤토리 시스템 구축
◆ 퀘스트 시스템과 NPC 설정으로 스토리와 상호작용 요소 추가
◆ 캐릭터 레벨 시스템을 통한 보상 시스템 구축
◆ 보스 몬스터 제작
◆ 게임 시작 씬과 빌드 과정을 통해 최종 게임 배포 준비
◈ 이 책의 대상 독자 ◈
◆ Unity를 처음 접하거나 RPG 게임 개발에 입문하려는 학생
◆ RPG 게임의 구조와 구현 과정을 체계적으로 배우고 싶은 개발자
◆ 게임 개발 실무 경험을 쌓고자 하는 개발자
◆ Unity를 활용한 캐릭터 시스템, 전투 시스템, UI 등 다양한 기능 구현을 익히려는 독자
◆ Scriptable Object를 활용해 게임 데이터를 효율적으로 관리하는 방법을 배우려는 개발자
목차
1장. 개발 환경 설정
1.1 개요
1.2 기본 프로그램 설치
1.2.1 유니티 설치
1.2.2 비주얼 스튜디오 설치
1.3 유니티 프로젝트 생성
1.3.1 프로젝트 생성
1.3.2 유니티 에디터 구성
1.3.2 유니티 프로젝트 폴더 구조
1.4 주요 용어 정리
1.4.1 씬
1.4.2 애셋
1.4.3 게임 오브젝트
1.4.4 컴포넌트
1.5 씬 카메라와 게임 오브젝트 조작
1.5.1 씬 카메라 제어하기
1.5.2 씬 기즈모
1.5.4 툴 오버레이
1.6 유니티의 회전 및 방향
1.6.1 오일러 각
1.6.2 쿼터니언(4원수)
1.7 프로젝트 준비
1.7.1 애셋 임포트하기
1.7.2 씬 생성하기
1.8 정리
2장. 플레이어 이동
2.1 개요
2.2 플레이어 캐릭터 게임 오브젝트 구성
2.2.1 바닥 만들기
2.2.2 플레이어 게임 오브젝트 구성하기
2.2.3 WASD/방향키 키를 활용한 이동 기능 추가하기
2.2.4 이동하는 방향으로 캐릭터 회전시키기
2.3 유니티 애니메이션 시스템과 유한 상태 기계
2.3.1 애니메이션 워크플로
2.3.2 플레이어 캐릭터 애니메이션
2.4 플레이어 유한 상태 기계 구성
2.4.1 캐릭터 컨트롤러
2.4.2 애니메이션 루트 모션
2.4.3 PlayerStateBase 스크립트 추가하기
2.4.4 PlayerIdleState/PlayerMoveState 스크립트 추가하기
2.4.5 PlayerStateManager 스크립트 추가하기
2.4.6 입력 관리자 스크립트 추가
2.4.7 플레이어의 유한 상태 기계 구성을 위한 컴포넌트 구성하기
2.4.8 PlayerAnimationController 추가
2.5 캐릭터를 따라다니는 카메라
2.5.1 Camera Rig 제작
2.6 정리
3장. 플레이어 점프 및 공격
3.1 개요
3.2 플레이어 점프 애니메이션 구성
3.2.1 애니메이션 스테이트 머신 구성
3.2.2 애니메이션 컨트롤러 업데이트
3.3 플레이어 점프 스테이트 추가
3.3.1 입력 관리자 업데이트
3.3.2 플레이어 스테이트 관리자 업데이트
3.3.3 플레이어 점프 스테이트 추가
3.3.4 점프를 위한 플레이어의 유한 상태 기계 구성
3.4 플레이어 공격 스테이트를 위한 애니메이션 설정
3.4.1 애니메이션 스테이트 머신 구성
3.5 플레이어 공격 스테이트 추가
3.5.1 입력 관리자 업데이트
3.5.2 애니메이션 컨트롤러 업데이트
3.5.3 플레이어 공격 스테이트 추가
3.5.4 플레이어 스테이트 관리자 업데이트
3.5.5 공격을 위한 플레이어의 유한 상태 기계 구성
3.6 정리
4장. 무기 아이템 및 공격 스테이트 업데이트
4.1 개요
4.2 사운드 효과
4.2.1 오디오 소스와 오디오 클립
4.2.2 사운드 효과 재생 기능 추가
4.3 스크립터블 오브젝트
4.4 아이템
4.4.1 아이템 클래스
4.4.2 무기 아이템 데이터
4.4.3 획득 가능한 아이템
4.5 플레이어 무기 아이템
4.5.1 Weapon 추가
4.5.2 무기 관리자 추가
4.5.3 무기 아이템 제작
4.5.4 무기 아이템 완성
4.6 공격 스테이트 완성
4.6.1 무기 장착 여부에 따른 공격 스테이트 전환 처리
4.6.2 공격 콤보 애니메이션 효과 적용
4.7 정리
5장. 게임 데이터
5.1 개요
5.2 플레이어 데이터
5.2.1 플레이어 데이터 준비(CSV)
5.2.2 플레이어 데이터 생성(스크립터블 오브젝트)
5.2.3 플레이어 데이터 적용
5.3 몬스터 데이터
5.3.1 몬스터 데이터 준비(CSV)
5.3.2 몬스터 데이터 생성(스크립터블 오브젝트)
5.4 데이터 관리자
5.4.1 데이터 관리자 구축
5.5 정리
6장. 몬스터 제작
6.1 개요
6.2 몬스터 캐릭터 제작
6.2.1 몬스터 게임 오브젝트 구성
6.3 몬스터 유한 상태 기계 구성
6.3.1 MonsterStateBase 스크립트 추가
6.3.2 몬스터 스테이트 관리자 추가
6.3.3 유틸리티 클래스 추가
6.3.4 몬스터 기본 스테이트 및 정찰 스테이트 추가
6.3.5 유한 상태 기계 구성을 위한 컴포넌트 추가
6.4 몬스터 애니메이션 구성
6.4.1 애니메이터 컨트롤러 추가
6.4.2 몬스터 애니메이션 컨트롤러 추가
6.5 내비게이션 시스템 설정
6.5.1 내비게이션 패키지 설치
6.6 정리
7장. 몬스터의 추격 및 공격 스테이트
7.1 개요
7.2 시야 시스템
7.2.1 시야 계산을 위한 벡터 이론
7.2.2 Util 클래스
7.3 몬스터 정찰 기능 업데이트 및 추격 스테이트 추가
7.3.1 애니메이터 컨트롤러 업데이트
7.3.2 추격 스테이트 추가
7.4 공격 스테이트
7.4.1 애니메이터 컨트롤러 업데이트
7.4.2 공격 스테이트(MonsterAttackState) 추가
7.5 정리
8장. 전투 및 대미지 시스템
8.1 개요
8.2 플레이어 공격 판정
8.2.1 충돌 판정 기능 추가
8.2.2 충돌 판정을 위한 레이어 설정
8.3 대미지 처리 시스템 구축
8.3.1 Damageable 스크립트 추가
8.4 체력 관리 시스템 구축
8.4.1 HPController 스크립트 추가
8.4.2 HPController 컴포넌트 구성 및 이벤트 연동
8.5 몬스터 죽음 스테이트 추가
8.5.1 애니메이터 컨트롤러 업데이트
8.5.2 죽음 스테이트(MonsterDeadState) 추가
8.6 몬스터 죽음 효과
8.6.1 죽음 사운드 효과 추가
8.6.2 죽음 효과 추가
8.7 몬스터 피격 효과
8.7.1 몬스터 피격 애니메이션 설정
8.7.2 몬스터 피격 사운드 효과 추가
8.8 몬스터 공격 판정
8.8.1 MonsterAttackController 추가
8.9 플레이어 대미지 처리 기능 추가
8.9.1 Damageable 컴포넌트 설정
8.9.2 HPController 추가
8.10 플레이어 죽음 스테이트 추가
8.10.1 애니메이터 스테이트 머신 업데이트
8.10.2 죽음 스테이트(PlayerDeadState) 추가
8.10.3 플레이어의 죽음에 따른 몬스터 스테이트 업데이트
8.11 플레이어 피격 효과 추가
8.11.1 피격 사운드 효과 추가
8.11.2 피격 머티리얼 효과 추가
8.11.3 카메라 흔들기 효과 추가
8.12 정리
9장. 사용자 인터페이스
9.1 개요.501
9.2 사용자 인터페이스 개요
9.2.1 주요 컴포넌트 - 캔버스
9.2.2 오버레이 UI
9.2.3 화면 공간 카메라 UI
9.2.4 월드 공간 UI
9.2.5 주요 컴포넌트 - Canvas Scaler
9.3 플레이어 스탯 UI 배치
9.3.1 플레이어 스탯 UI 배치 - 플레이어 아이콘 이미지
9.3.2 플레이어 스탯 UI 배치 - 레벨 텍스트
9.3.3 플레이어 스탯 UI 배치 - 체력 바
9.3.4 플레이어 스탯 UI 배치 - 경험치 바
9.4 플레이어 체력 바 UI 기능 구현
9.4.1 플레이어 체력 바 기능 추가
9.5 플레이어 대미지 효과 텍스트 UI
9.5.1 플레이어 대미지 텍스트 UI 배치
9.5.2 플레이어 대미지 텍스트 기능 구현
9.6 몬스터 체력 바 UI
9.6.1 몬스터 체력 바 UI
9.6.2 빌보드 구현
9.7 몬스터 대미지 텍스트 UI
9.7.1 몬스터 대미지 텍스트 UI 배치
9.8 다이얼로그 시스템
9.8.1 다이얼로그 UI 배치
9.8.2 다이얼로그 기능 구현
9.9 정리
10장. 인벤토리 시스템
10.1 개요
10.2 인벤토리 시스템 구축
10.2.1 인벤토리 관리자
10.3 아이템 추가
10.3.1 CollectableItem 스크립트 업데이트
10.3.2 Item 스크립트 업데이트
10.3.3 체력 아이템 데이터 추가
10.3.4 체력 아이템 오브젝트 생성
10.3.5 방어력 아이템 데이터 추가
10.3.6 방어력 아이템 오브젝트 생성
10.4 인벤토리 UI
10.4.1 인벤토리 버튼 UI 배치
10.4.2 인벤토리 창 UI 배치
10.4.3 인벤토리 목록 UI 배치
10.4.4 인벤토리 목록 UI 기능 구현
10.4.5 인벤토리 창 UI 기능 구현
10.4.6 클릭 입력 예외처리
10.4.7 아이템 프리팹 만들기
10.5 정리
11장. 퀘스트 시스템과 NPC
11.1 개요
11.2 몬스터 생성 시스템
11.2.1 몬스터 프리팹 생성
11.2.3 몬스터 스테이트 관리자 업데이트
11.2.4 몬스터 생성 시스템 추가
11.3 카메라 회전 기능
11.3.1 카메라 회전을 위한 입력 관리자 업데이트
11.3.2 카메라 회전 기능 구현
11.3.3 플레이어 이동 기능 업데이트
11.4 퀘스트 시스템
11.4.1 퀘스트 데이터
11.4.2 퀘스트 관리자
11.4.3 퀘스트 아이템
11.5 NPC
11.5.1 NPC 데이터
11.5.2 NPC 게임 오브젝트 구성
11.5.3 NPCStateBase 스크립트 추가
11.5.4 NPC 스테이트 관리자 추가
11.5.5 대기 스테이트 및 대화 스테이트 구현
11.5.6 NPC 스테이트 컴포넌트 구성
11.5.7 NPC 애니메이션 구성
11.5.8 NPC 애니메이션 컨트롤러 추가
11.5.9 NPC 캐릭터 추가
11.6 퀘스트 아이템 조정
11.6.1 무기 획득 퀘스트 동작을 위한 조정
11.6.2 먹개비 몬스터 처치 퀘스트 아이템 추가
11.7 퀘스트 UI
11.7.1 퀘스트 버튼 UI 배치
11.7.2 퀘스트 창 UI 배치
11.7.3 퀘스트 목록 UI
11.7.4 퀘스트 목록 UI 기능 구현
11.7.5 퀘스트 창 UI 기능 구현
11.8 정리
12장. 레벨 시스템
12.1 개요
12.2 레벨 시스템 구축
12.2.1 플레이어 레벨 관리자 구축 및 UI 업데이트
12.2.2 퀘스트 완료 및 몬스터 처치 시 경험치 획득 기능 추가
12.3 정리
13장. 보스 몬스터 제작
13.1 개요
13.2 보스 몬스터 제작
13.2.1 보스 몬스터 데이터
13.2.2 보스 몬스터 게임 오브젝트 구성
13.3.1 보스 몬스터 애니메이션 스테이트 머신 구성
13.3 보스 몬스터 애니메이션 구성
13.4 보스 몬스터 유한 상태 기계 구성 1
13.4.1 GrenadierStateBase 스크립트 추가
13.4.2 GrenadierStateManager 스크립트 구현
13.4.3 GrenadierIdleState 스크립트 추가
13.5 보스 몬스터 애니메이션 컨트롤러 구현
13.5.1 보스 몬스터 애니메이션 컨트롤러 추가
13.6 보스 몬스터 유한 상태 기계 구성 2
13.6.1 GrenadierRotateState 스크립트 추가
13.6.2 GrenadierAttackState 스크립트 추가
13.6.3 GrenadierDeadState 스크립트 추가
13.6.4 보스 몬스터의 유한 상태 기계 컴포넌트 구성
13.7 보스 몬스터 공격 기능 추가
13.7.1 근접 공격 구현
13.7.2 광역(범위) 공격 구현
13.8 보스 몬스터 대미지 처리 기능 추가
13.8.1 Damageable 컴포넌트 추가 및 설정
13.8.2 HPController 컴포넌트 추가 및 설정
13.9 피격 효과 추가
13.9.1 피격 애니메이션 재생
13.9.2 피격 사운드 효과 재생
13.9.3 피격 파티클 및 머티리얼 효과 재생
13.9.4 피격 시 플레이어를 바라보기
13.10 보스 몬스터 완성
13.10.1 체력 바 추가
13.10.2 보스 몬스터 죽음 연출
13.11 최종 퀘스트 추가
13.11.1 최종 퀘스트
13.12 정리
14장. 스테이지와 게임의 완성
14.1 개요
14.2 스테이지 배치
14.2.1 맵 및 플레이어 배치
14.2.2 몬스터 생성 위치 조정
14.2.3 먹개비 몬스터 테스트 모드 해제
14.3 게임 관리자 시스템 구축
14.3.1 배경 음악 재생 기능 추가
14.3.2 게임 관리자 추가
14.3.3 게임 시작 처리
14.3.4 게임 메뉴 UI 제작
14.3.5 게임 종료 처리
14.3.6 게임 클리어 처리
14.4 정리
15장. 게임 시작 씬 및 빌드
15.1 개요
15.2 게임 시작 씬 제작
15.2.1 게임 메뉴 UI 배치
15.2.2 게임씬 로딩 UI 배치
15.2.3 게임 메뉴 UI 기능 구현
15.2.4 게임씬 로드 기능 구현
15.3 윈도우 빌드
15.3.1 빌드 설정
15.3.2 빌드
15.3.3 테스트 및 포스트모텀
15.4 정리



















