이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
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 개요.5019.2 사용자 인터페이스 개요9.2.1 주요 컴포넌트 - 캔버스9.2.2 오버레이 UI9.2.3 화면 공간 카메라 UI9.2.4 월드 공간 UI9.2.5 주요 컴포넌트 - Canvas Scaler9.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 플레이어 대미지 효과 텍스트 UI9.5.1 플레이어 대미지 텍스트 UI 배치9.5.2 플레이어 대미지 텍스트 기능 구현9.6 몬스터 체력 바 UI9.6.1 몬스터 체력 바 UI9.6.2 빌보드 구현9.7 몬스터 대미지 텍스트 UI9.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 인벤토리 UI10.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 NPC11.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 퀘스트 UI11.7.1 퀘스트 버튼 UI 배치11.7.2 퀘스트 창 UI 배치11.7.3 퀘스트 목록 UI11.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 보스 몬스터 유한 상태 기계 구성 113.4.1 GrenadierStateBase 스크립트 추가13.4.2 GrenadierStateManager 스크립트 구현13.4.3 GrenadierIdleState 스크립트 추가13.5 보스 몬스터 애니메이션 컨트롤러 구현13.5.1 보스 몬스터 애니메이션 컨트롤러 추가13.6 보스 몬스터 유한 상태 기계 구성 213.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 정리
|
장세윤의 다른 상품
|
◈ 이 책에서 다루는 내용 ◈◆ 플레이어 이동, 점프, 공격 등 기본 캐릭터 기능 구현 과정을 유한 상태 기계를 활용해 단계적으로 설명◆ 몬스터 제작 및 추격, 공격 기능을 통해 적 AI 동작 구현◆ 전투 및 대미지 시스템 구현을 통해 RPG 게임의 핵심 시스템 구축◆ Scriptable Object를 활용한 플레이어, 몬스터, 퀘스트, NPC 데이터 등 게임 데이터의 효율적 관리◆ 사용자 인터페이스UI와 인벤토리 시스템 구축◆ 퀘스트 시스템과 NPC 설정으로 스토리와 상호작용 요소 추가◆ 캐릭터 레벨 시스템을 통한 보상 시스템 구축◆ 보스 몬스터 제작◆ 게임 시작 씬과 빌드 과정을 통해 최종 게임 배포 준비◈ 이 책의 대상 독자 ◈◆ Unity를 처음 접하거나 RPG 게임 개발에 입문하려는 학생◆ RPG 게임의 구조와 구현 과정을 체계적으로 배우고 싶은 개발자◆ 게임 개발 실무 경험을 쌓고자 하는 개발자◆ Unity를 활용한 캐릭터 시스템, 전투 시스템, UI 등 다양한 기능 구현을 익히려는 독자◆ Scriptable Object를 활용해 게임 데이터를 효율적으로 관리하는 방법을 배우려는 개발자 ◈ 지은이의 말 ◈지난 10여 년간 게임 개발 지망생들에게 유니티 활용법을 강의해오며 많은 학생들과 소통해왔다. 수업을 통해 학생들이 성장하고 발전하는 모습을 보며 큰 보람을 느꼈다. 그럼에도 책을 쓰려는 마음을 갖지 못했는데, 최근 진행한 게임 개발 수업에서 학생들로부터 여러 차례 좋은 피드백을 받은 것이 책을 집필하는 계기가 되었다.이 책은 게임을 개발하고자 하는 학생 및 유니티를 접하지 못한 개발자들에게 실질적인 도움을 주고자 하는 마음에서 시작되었다. 게임 개발은 복잡한 구조와 다양한 시스템을 필요로 한다. 따라서 초보자들에게는 도전적인 과제가 될 수 있다. 이 책은 그러한 과정에서 발생할 수 있는 여러 어려움을 하나씩 해결하는 과정을 보여주며 게임 개발의 즐거움을 독자분에게 전달하고자 노력하였다.이제는 게임 회사들만 게임을 제작하는 것이 아니라 개인 및 소규모 팀들도 재미있는 게임을 제작하는 시대가 되었다. 높았던 게임 개발의 진입 장법을 낮추는데 유니티가 크게 기여했다고 생각한다. 이런 시기와 맞물려 게임을 개발하고자 하는 모든 분들에게 이 책이 조금이나마 도움이 되었으면 좋겠다.유니티는 다양한 분야에서 콘텐츠 개발의 핵심 도구로 자리 잡았다. 게임뿐만 아니라 다양한 프로젝트에 유니티가 활용되고 있지만, 여전히 게임 개발을 할 때 빛을 발한다. 이 책을 통해 유니티의 강력한 기능과 이를 활용하는 방법을 습득할 수 있기를 바란다.이 책은 유니티 엔진을 활용해 RPG 게임을 제작하는 과정을 다룬다. 기초적인 시스템 설계와 기본적인 게임 메커니즘을 구축하는 방법을 시작으로, 캐릭터 및 몬스터 제작, 전투 시스템, 아이템 관리, 다이얼로그 및 퀘스트 등 고급 주제도 다룬다. 각 단계마다 게임을 개발하는 과정에서 자주 직면하는 문제와 그 해결 방법을 함께 제시한다. 독자들은 이 책을 통해 실무적인 경험과 노하우를 자연스럽게 습득할 수 있을 것이다.
|