책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 게임 프로그래밍
· ISBN : 9791161758664
· 쪽수 : 456쪽
· 출판일 : 2026-02-26
책 소개
이 책은 초중급 개발자를 대상으로 AI의 기본 개념부터 내비게이션 시스템, 비헤이비어 트리, 인지 시스템, EQS, 스테이트 트리, 매스 시스템, 스마트 오브젝트까지 언리얼 엔진의 최신 AI 기능을 다룬다. 단계별 실습을 통해 실제 프로젝트에 적용할 수 있는 기법을 익혀, 보다 흥미롭고 몰입감 있는 게임 AI를 구현해보자.
◈ 이 책에서 다루는 내용 ◈
◆ 비디오 게임을 위한 AI 개발의 기초 이해
◆ 언리얼 엔진 AI 프레임워크의 핵심 액터 심층 분석
◆ 매력적이고 몰입감 있는 AI 캐릭터의 설계 및 구현
◆ 비헤이비어 트리, 내비게이션 시스템, 매스 엔티티 등 다양한 AI 기능을 활용한 생동감 넘치는 AI 경험 구축
◆ 언리얼 엔진 전용 디버깅 도구를 활용한 AI 시스템 디버깅 기법
◆ 사용자 정의 노드와 함수를 통한 AI 시스템 확장 방법
◆ 블루프린트와 C++를 사용한 AI 시스템 활용법
◆ 전술, 움직임 등 다양한 요소에 초점을 맞춘 게임 제작
목차
1부 - 게임에 AI 도입
1장 AI 게임 개발 시작
__기술적인 요구 사항
____사전 지식
____하드웨어 사양
____소프트웨어 사양
__AI 소개
__게임 개발에 사용되는 AI의 이해
__비디오 게임의 AI 기술 설명
____경로 탐색
____규칙 기반
____유한 상태 머신
____비헤이비어 트리
____머신러닝 AI
____강화학습
____생성형 AI
__요약
__크레디트
2장 언리얼 엔진 AI 시스템 소개
__기술적인 요구 사항
__언리얼 엔진 게임플레이 프레임워크 이해
____액터와 컴포넌트
____GF의 주요 요소
____GameplayStatics
__언리얼 엔진 AI 시스템 소개
____내비게이션 시스템
____비헤이비어 트리
____매스 엔티티
____스테이트 트리
____스마트 오브젝트
____인바이런먼트 쿼리 시스템
____AI 인지 시스템
____AI 디버깅
__고급 AI 기능 이해
____러닝 에이전트
____신경망 엔진
____ML 디포머
____ML 클로스 시뮬레이션
__요약
2부 - 내비게이션 시스템 이해하기
3장 언리얼 엔진 내비게이션 시스템 소개
__기술적인 요구 사항
__AI 이동 소개
____내비게이션 메시 이해
____내비메시 수정
____AI 에이전트
__회피
__경로 탐색 이해하기
__프로젝트 템플릿으로 내비게이션 시스템 테스트하기
____프로젝트 설정하기
____내비메시 분석하기
____캐릭터 컨트롤러 분석하기
____프로젝트 테스트하기
__요약
4장 내비게이션 메시 설정
__기술적인 요구 사항
__언리얼 애질리티 아레나 소개
____프로젝트 개요 설명
____프로젝트 시작
__AI 에이전트 생성
____에이전트 생성
____내비게이션 로직 추가
__기본 레벨 설정
____레벨 생성
____내비메시 추가
____에이전트 추가
____짐 테스트하기
__내비게이션 모디파이어 추가
____레벨 생성
____모디파이어 추가
____레벨 개선
____사용자 정의 모디파이어 생성
____사용자 정의 모디파이어 적용하기
____레벨 테스트하기
__내비게이션 링크 프록시 작업
____레벨 생성
____내비 링크 프록시 추가
____짐 테스트하기
__요약
5장 에이전트 내비게이션 개선
__기술적인 요구 사항
__런타임에 내비게이션 메시 생성
____레벨 생성
____움직이는 플랫폼 추가
____동적 내비메시 생성
__쿼리 필터를 사용한 내비게이션 조정
____레벨 생성
____쿼리 필터 클래스 생성
____에이전트 수정
__에이전트 회피 구현
____레벨 생성
____에이전트 추가
____회피 기능 활성화
____최악의 시나리오 테스트
__요약
6장 내비게이션 시스템 최적화
__기술적인 요구 사항
__내비메시 디버깅 도구 이해
____AI 디버깅 도구 활성화하기
____AI 디버깅 도구 검사하기
__내비메시 해상도 분석
__내비메시 생성 개선
____내비메시 해상도 조정
____내비메시 해상도 변경
____타일 크기 변경
__추가적인 개선 사항
____해상도 조정
____메시 영향 비활성화하기
__요약
3부 - 의사결정 다루기
7장 비헤이비어 트리 소개
__기술적인 요구 사항
__비헤이비어 트리 설명
____비헤이비어 트리 구조
____언리얼 엔진에서의 비헤이비어 트리란?
____비헤이비어 트리 노드 인스턴싱
____실행 순서
__언리얼 엔진의 비헤이비어 트리 이해하기
____루트 노드
____태스크 노드
____컴포넌트 노드
____데코레이터
____서비스
__블랙보드 이해하기
__요약
8장 비헤이비어 트리 설정
__기술적인 요구 사항
__언리얼 애질리티 아레나 확장하기
____프로젝트 개요 업데이트
____프로젝트 생성
____캐릭터 생성
____배터리 상태 처리하기
____캐릭터 구현
__비헤이비어 트리 생성
____AI 컨트롤러 생성
____블랙보드 생성
____비헤이비어 트리 생성
__비헤이비어 트리 태스크와 서비스 구현
____FindRandomLocation 태스크 구현
____SpeedControl 서비스 구현
____BatteryCheck 서비스 구현
__에이전트에 비헤이비어 트리 설정하기
____비헤이비어 트리 편집하기
____AI 에이전트 블루프린트 생성
____짐에서 에이전트 테스트하기
__요약
9장 비헤이비어 트리 확장
__기술적인 요구 사항
__비헤이비어 트리 구성을 위한 모범 사례 소개
____모범 사례
____거너 캐릭터 로직 구현
____BaseTarget 클래스 구현
____블루프린트 생성
__데코레이터 이해하기
____BTAuxiliaryNode 클래스
____C++ 데코레이터 생성
____블루프린트 데코레이터 생성
____CheckTagOnActor 데코레이터 구현하기
__서비스 이해하기
____C++ 서비스 생성하기
____블루프린트 서비스 생성하기
____SetAmmo 서비스 구현하기
__태스크 이해하기
____C++ 태스크 생성하기
____블루프린트 태스크 생성하기
____PlayMontage 태스크 구현하기
____FindAvailableTarget 태스크 구현하기
__비헤이비어 트리 디버깅하기
____블랙보드 생성
____비헤이비어 트리 생성
____AI 컨트롤러 생성
____짐에서 비헤이비어 트리 디버깅하기
__요약
10장 인지 시스템으로 에이전트 향상시키기
__기술적인 요구 사항
__인지 시스템 소개
____AI 인지 시스템의 구성 요소
____AIPerceptionSenseConfig 타입
____자극 소스
__에이전트에 인지 기능 추가하기
____BaseSecurityCam 클래스 생성
____BaseSecurityCamAIController 클래스 생성
__인지 디버깅하기
____로머 비헤이비어 트리 개선
____BaseDummyAIController 개선
____보안 카메라 블루프린트 생성
____짐 생성
____인지 디버깅 활성화하기
__인지 자극 생성하기
____타깃 액터 생성
____짐 테스트하기
__요약
11장 인바이런먼트 쿼리 시스템 이해하기
__기술적인 요구 사항
__인바이런먼트 쿼리 시스템 소개
____제너레이터
____컨텍스트
____테스트
__인바이런먼트 쿼리 설정
____짐 생성
____AI 컨트롤러 생성
____인바이런먼트 쿼리 생성
__비헤이비어 트리 내에서 인바이런먼트 쿼리 다루기
__EQS 정보 표시
__요약
4부 - 고급 주제 탐구
12장 스테이트 트리를 활용한 계층형 스테이트 머신 사용
__기술적인 요구 사항
__스테이트 트리 소개
____스테이트 트리 확장하기
____스테이트 트리 흐름 이해하기
____데이터 바인딩
__스테이트 트리 생성 및 관리
____스테이트 트리 플러그인 활성화하기
____소음 발생 액터 구현하기
__고급 스테이트 트리 기능 사용하기
____C++ AI 컨트롤러 생성
____AI 컨트롤러 블루프린트 구현하기
____스테이트 트리 구현하기
____AI 컨트롤러에 스테이트 트리 할당하기
____경비원 블루프린트 생성하기
____짐에서 테스트하기
__요약
13장 매스를 활용한 데이터 지향 계산 구현하기
__기술적인 요구 사항
__매스 프레임워크 소개
____매스 프레임워크 플러그인
____매스 요소 이해하기
____매스 게임플레이
__매스 설정
____플러그인 활성화
____매스 엔티티 환경설정 에셋 생성
____스폰 EQS 생성하기
____짐 생성
____짐 테스트하기
__블루프린트 스폰
____관객 블루프린트 생성
____매스 엔티티 환경설정 에셋 생성
____프로세서 자동 등록 활성화하기
____짐 생성
__요약
14장 스마트 오브젝트를 활용한 상호작용 요소 구현하기
__기술적인 요구 사항
__스마트 오브젝트 소개
____스마트 오브젝트 프레임워크의 주요 요소 소개
__스마트 오브젝트 정의 데이터 에셋 생성
____플러그인 활성화하기
____작업대 정의 에셋 생성하기
__스마트 오브젝트 로직 구현
__스마트 오브젝트와 상호작용하기
____동전 던지기 태스크 생성하기
____인바이런먼트 쿼리 생성하기
____블랙보드 생성하기
____비헤이비어 트리 생성하기
____캐릭터 블루프린트 생성하기
____짐에서 스마트 오브젝트 테스트하기
__요약
__에필로그
부록 언리얼 엔진에서의 C++ 이해하기
__기술적인 요구 사항
__기본 개념 소개
____C++ 클래스 이해하기
____프로퍼티
____함수
____C++ 헤더 프리뷰
__고급 기능 살펴보기
____캐스팅
____인터페이스
____델리게이트
__핵심 메카닉 탐구하기
____가비지 컬렉션
____리플렉션 시스템
__요약
한국어판 부록




















