유니티 게임 AI 프로그래밍(2판)(acorn+PACKT 시리즈)
유니티 5로 구현하는 게임 제작에 필요한 인공지능 기술
[유니티 게임 AI 프로그래밍]은 유니티 개발 환경에서 인공지능을 다루는 방법을 기초부터 차근차근 설명한다. 게임에서 인공지능을 구현할 때 필수적으로 알아야 하는 유한 상태 기계의 개념이라든지 랜덤과 확률의 활용 방법, 센싱 기술의 구현 방식, 길 찾기 알고리즘의 적용, 행동 트리의 활용, 퍼지 로직 등을 어떻게 하면 유니티가 제공하는 기능을 활용해 쉽게 구현할 수 있는지를 명쾌하게 설명한다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
■ 게임 인공지능과 관련한 기본적인 용어와 개념 이해
■ 유니티 5의 상태 기계 행동을 사용한 간단한 유한 상태 기계 구현
■ 가장 일반적으로 사용되는 기술을 활용한 센서 시스템 구현
■ 가장 일반적인 형태의 길 찾기 시스템과 유니티 5 NavMesh 기능을 사용한 내비게이션 메시 구현
■ 높은 신뢰도와 효율성을 갖는 인공지능 군집 처리 구현
■ 캐릭터의 행동을 유도하는 간단한 행동 트리 생성
■ 인공지능 의사 결정에 퍼지 로직 개념을 구현해 좀 더 매력적인 캐릭터 생성
■ 배운 내용을 종합해 실전 예제 생성
★ 이 책의 대상 독자 ★
이 책은 C#과 유니티 편집기의 기본적인 내용을 이해하고 있는 유니티 개발자를 대상으로 한다. 게임을 처음 만들거나 게임 프로그래머로서의 지식을 넓히려고 한다면 게임 인공지능 관련 개념과 예제 구현을 통해 다양하고 흥미로운 정보를 얻을 수 있다. 이 책은 게임 인공지능과 관련한 특별한 사전 지식은 요구하지 않는다.
★ 이 책의 구성 ★
1장, '게임에서의 인공지능 기초'에서는 매우 방대하고 어려운 주제인 인공지능의 가장 기본적인 개념을 명확하게 알아본다.
2장, '유한 상태 기계'에서는 인공지능에서 가장 널리 사용되는 유한 상태 기계에 대한 개념을 설명한다.
3장, '센서 구현'에서는 게임 인공지능 에이전트가 주변 환경을 인지하는 데 있어 가장 중요한 방법이 무엇인지 알아본다. 인공지능 에이전트의 현실성은 주변 환경에 어떻게 반응하느냐에 따라 크게 달라진다.
4장, '길 찾기'에서는 인공지능 에이전트가 길을 찾아갈 때 가장 널리 사용되는 패턴을 설명한다. 게임 내의 에이전트는 장애물을 피해가며 게임에서 제공하는 지형을 탐색할 수 있어야 한다.
5장, '군집 처리'에서는 군집 처리 시뮬레이션 알고리즘에 대해 살펴보며, 이를 통해 개별 에이전트의 로직보다는 전체 군집의 이동과 관련된 로직을 처리하는 방법을 알아본다.
6장, '행동 트리'에서는 복잡한 인공지능 행동을 구현할 때 가장 널리 사용되는 방식인 행동 트리를 직접 구현해본다.
7장, '퍼지 로직을 사용한 인공지능 개선'에서는 바이너리 방식을 사용하지 않고 다양한 요소를 고려한 인공지능 에이전트의 의사결정 방법을 알아본다. 퍼지 로직은 사람이 의사 결정을 내리는 방식을 흉내낸다.
8장, '통합'에서는 다양한 시스템을 사용해서 하나의 간단한 게임 템블릿을 만들어 본다. 이를 확장할 수도 있다.
목차
목차
__가상의 삶 구현
__인공지능을 사용한 게임성 강화
__유니티에서 인공지능 사용
__에이전트 정의
__유한 상태 기계
__에이전트의 눈으로 월드 바라보기
__길 찾기와 조향
____A* 길 찾기
____내비게이션 메시 사용
__군집 처리
__행동 트리
__퍼지 로직
__요약
2. 유한 상태 기계
__FSM 활용
__상태 기계 행동 생성
____AnimationController 애셋 생성
____레이어와 매개변수
____애니메이션 컨트롤러 인스펙터
____행동 적용
____첫 상태 생성
____상태 간 전이
__플레이어 탱크 설정
__탱크 생성
____상태 전이 선택
____기능 연결
________조건 설정
________코드로 매개변수 제어
________적 탱크 이동
________테스팅
__요약
3. 센서 구현
__기본 센서 시스템
____콘 형태의 시야
____구를 사용해서 듣기, 느끼기, 냄새 맡기
____전지적 능력을 활용한 인공지능 확장
____센싱으로 창의력 개선
__씬 설정
__플레이어 탱크와 특성 설정
____플레이어 탱크 구현
____Aspect 클래스 구현
__인공지능 캐릭터 생성
__Sense 클래스 사용
__약간의 시각 부여
__촉각 활용
__결과 검사
__요약
4. 길 찾기
__경로 따라가기
____경로 스크립트
____경로 추종자 사용
____장애물 회피
____커스텀 레이어 추가
____장애물 회피 로직 구현
__A* 길 찾기
____A* 알고리즘 재확인
____구현
________노드
________우선순위 큐 구성
________그리드 매니저 설정
________A* 구현 심화
________TestCode 클래스
________씬 설정
________모든 컴포넌트 테스팅
__내비게이션 메시
____맵 설정
____Navigation Static
____내비게이션 메시 베이킹
____NavMesh 에이전트 사용
____대상 설정
____Target 클래스
____경사 테스트
____영역 탐색
____Off Mesh Link 의미
____생성된 Off Mesh Link 사용
____수동 Off Mesh Link 설정
__요약
5. 군집 처리
__군집 처리의 기원
__군집 처리 개념의 배경 이해
__유니티 예제를 사용한 군집 처리
____개별 행동 흉내내기
____컨트롤러
__대체 구현 사용
____FlockController 구현
__군중 처리
____간단한 군중 시뮬레이션 구현
____CrowdAgent 컴포넌트 사용
____재미있는 장애물 추가
__요약
6. 행동 트리
__행동 트리의 기초
____다양한 노드 타입의 이해
________합성 노드 정의
________데코레이터 노드의 이해
________리프 노드 표현
__기존 솔루션 평가
__간단한 행동 트리 프레임워크 구현
____기반 Node 클래스 구현
____노드를 셀렉터로 확장
____시퀀스
____인버터 데코레이터 구현
____일반 액션 노드 생성
__프레임워크 테스트
____계획 수립
____씬 설정
____MathTree 코드
____테스트 실행
__요약
7. 퍼지 로직을 사용한 인공지능 개선
__퍼지 로직 정의
____바이너리 시스템 대신 퍼지 시스템 얻기
__퍼지 로직 사용
____간단한 퍼지 로직 시스템 구현
____세트 확장
____데이터 명확하게 하기
__최종 데이터 사용
____좀 더 간단한 접근법 사용
__퍼지 로직의 다른 사용 사례
____다른 개념과의 결합
____완전히 고유한 경험 생성
__요약
8. 통합
__규칙 설정
__타워 생성
____타워 발사 처리
__탱크 설정
__환경 설정
__예제 테스트
__요약
저자
저자
초기에 방위 산업에서 메이저 계약자로서 교육과 연구 프로젝트에서 충분한 경험을 쌓았고, 이를 통해 원래부터 하고 싶었던 게임으로 열정을 이어갔다. 이때부터는 엔터테인먼트와 교육 사이를 넘나들면서 활약했다. 유니티는 게임과 애플리케이션 개발을 유연하고 빠르게 도와주는 좋은 무기가 됐다. 로스앤젤리스 유니티(Los Angeles Unity) 미팅의 원년 멤버로 지역 교육기관과 고등학교에서 진행된 유니티 워크숍을 도와가며 유니티 커뮤니티에서 매우 활발하게 활동했다. 트위터 계정은 @ray_barrera다.
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

