장바구니 담기 close

장바구니에 상품을 담았습니다.

유니티 게임 AI 프로그래밍

유니티 게임 AI 프로그래밍

  • 아웅시투키야우
  • |
  • 에이콘출판
  • |
  • 2015-03-17 출간
  • |
  • 260페이지
  • |
  • 188 X 235 X 15 mm /636g
  • |
  • ISBN 9788960774063
★★★★★ 평점(10/10) | 리뷰(1)
판매가

26,600원

즉시할인가

23,940

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
23,940

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 요약 ★
이 책은 유니티 개발 환경에서 인공지능을 다루는 방법을 기초부터 차근차근 알려준다. 게임에서 인공지능을 구현할 때 필수적으로 알아야 하는 유한 상태 기계(FSM)의 개념이라든가 랜덤과 확률의 활용 방법, 센싱 기술의 구현 방식, 길 찾기 알고리즘의 적용, 행동 트리의 활용 등을 어떻게 하면 유니티가 제공하는 기능을 활용해 쉽게 구현할 수 있는지를 쉽고도 명쾌하게 설명한다.

★ 이 책에서 다루는 내용 ★
■ 유한 상태 기계(FSM) 구성
■ 센서 시스템 구현
■ 비행 오브젝트를 위한 군집 행동 적용
■ 유니티3D에서 직접 구현한 A* 길 찾기 알고리즘 실행
■ 베팅 게임에서 난수와 확률 적용
■ 유니티3D Pro의 기능인 내비게이션 그래프를 길 찾기에 활용
■ 동작 트리 학습 및 Behave 플러그인 활용법
■ 인공지능 차량 전투 게임을 구현한 실전 프로젝트

★ 이 책의 대상 독자 ★
유니티3D에 대한 기본 지식은 갖춘 상태에서 게임에 인공지능 요소를 추가하고 싶은 프로그래머, 그리고 따라 하기 쉬운 예제 설명과 다양한 샘플 코드, 프로젝트를 원하는 프로그래머가 이 책의 주요 대상 독자다. 이 책은 C# 스크립트를 사용하므로 약간의 C# 언어에 대한 배경 지식이 필요하다. 하지만 설령 C# 언어를 잘 모른다고 해도 프로그래밍 언어를 하나 이상 알고 있다면 이 책에 나온 코드를 이해하는 데 별다른 어려움이 없을 것이다.

★ 이 책의 구성 ★
1장, ‘인공지능 소개’에서는 인공지능이란 무엇인가에 대해 살펴보고 게임에서 사용하는 형태를 알아본다. 또한 게임에서 인공지능을 구현할 때 사용하는 다양한 기술에 관해서도 이야기한다.

2장, ‘유한 상태 기계’에서는 인공지능에서 의사결정이 필요할 때 결정을 단순화하는 방법을 살펴본다. 인공지능이 특정 상태에서 어떻게 동작하는지, 그리고 다른 상태로 어떻게 넘어가는지를 정의하기 위해 유한 상태 기계(FSM)을 사용한다.

3장, ‘난수와 확률’에서는 확률의 기본에 대해 살펴보고 어떻게 하면 특정 결과의 확률을 변경할 수 있는지 살펴본다. 그리고 게임에 임의성을 추가해서 다소 예측하기 어려운 행동을 보이는 인공지능의 구현 방법을 살펴본다.

4장, ‘센서 구현’에서는 인공지능 캐릭터가 주변을 인지하게 하는 방법을 살펴본다. 캐릭터는 보고 들을 수 있으므로 적이 근처에 오면 알아채고 언제 공격을 해야 하는지 알 수 있다.

5장, ‘군집 처리’에서는 다수의 오브젝트가 함께 이동하는 상황에 대해 설명한다. 군집 처리를 구현하는 두 종류의 방법을 살펴보면서 다수의 오브젝트를 어떻게 동시에 이동시키는지 알아본다.

6장, ‘경로 따라가기와 조향 행동’에서는 인공지능 캐릭터가 어떻게 경로를 따라 목적지에 도달하는지 살펴본다. 그런 다음 인공지능 캐릭터가 주어진 경로 없이 목적지를 찾는 방법을 살펴보고, 장애물을 피해가며 목적지로 이동하는 방법도 알아본다.

7장, ‘A* 경로 탐색’에서는 주어진 위치에서 목적 지점까지의 최적 경로를 찾는 유명한 알고리즘을 살펴본다. A*(에이스타)를 사용하면 지형을 탐색하고 목적 지점까지의 최단거리를 찾을 수 있다.

8장, ‘내비게이션 메시’에서는 경로 탐색을 좀 더 쉽게 구현하기 위해 유니티가 제공하는 기능을 살펴본다. 내비게이션 메시(Navigation Mesh, 유니티 프로에서만 지원)를 생성하면 타일과 A* 알고리즘을 사용할 때보다 씬을 좀 더 잘 표현할 수 있다.

9장, ‘행동 트리’는 유한 상태 기계를 발전시킨 모델로, 아주 복잡한 게임에서도 사용할 수 있다. 유니티에서 행동 트리를 생성하고 관리하기 위해 이 책에서는 무료 플러그인 Behave를 사용할 예정이다. (※Behave는 애셋 버전 1.4를 마지막으로 무료 정책이 종료됐으며, Behave 2의 출시와 함께 애셋 개발사인 AngryAnt에서 유료로 정책을 변경하여 2015년 8월 현재 유료로 배포하고 있습니다. 따라서, 개발사의 정책 변경에 따른 부득이한 환경 변화로 인해, 이 책의 9장 내용은 원서가 출간될 당시와는 다르게 책에서 설명한 것과 동일하게 구현하기가 어려운 점, 양해해주시기 부탁드립니다.)

10장, ‘실전 프로젝트’에서는 이 책에서 다룬 다양한 주제를 모아 마지막 프로젝트를 구현한다. 이 프로젝트를 기반으로 지금까지 배운 다양한 인공지능 요소를 추가로 적용해 멋진 차량 전투 게임을 만들 수도 있다.

★ 저자 서문 ★
이 책은 순수하게 인공지능 알고리즘을 설명하는 책과 기본적인 씬 설정 및 스크립트 등을 설명하는 일반적인 유니티3D 책이 동시에 다루지 못하는 둘 사이의 가교 역할을 수행한다.

이 책은 유니티3D로 다양한 인공지능 기술을 구현하는 방법을 다루고 있는데 C#을 사용해서 처음부터 직접 구현하는 방법부터 유니티3D가 제공하는 내장 기능을 활용하는 방법 또는 유니티 에셋 스토어(Unity Asset Store)에서 제공하는 스크립트와 플러그인을 활용하는 방법 등을 설명한다. 인공지능 기술을 본질적인 구현보다는 샘플 프로젝트를 통한 인공지능 기술의 적용과 활용 방법을 설명하는 데 좀 더 중점을 두고 있다. 다루는 기술은 유한 상태 기계(FSM)와 길 찾기, 조향, 내비게이션 그래프, 행동 트리 등이 있다.


목차


1 인공지능 소개
__인공지능
__게임 인공지능
__인공지능 기술
____유한 상태 기계
____인공지능에서의 난수와 확률
____센서 시스템
________폴링
________메시징 시스템
____군집 처리
____경로 따라가기와 조종하기
____A* 경로 탐색
____내비게이션 메시
____행동 트리
____이동
____다익스트라의 알고리즘
__정리

2 유한 상태 기계
__플레이어 탱크
____PlayerTankController 클래스
____초기화
________탄환 발사
________탱크 조종
__탄환 클래스
__웨이포인트 설정
__추상 FSM 클래스
__적 탱크 인공지능
____정찰 상태
____추격 상태
____공격 상태
____죽은 상태
________피해 처리
__FSM 프레임워크 사용
____AdvanceFSM 클래스
____FSMState 클래스
____상태 클래스
________PatrolState 클래스
____NPCTankController 클래스
__정리

3 난수와 확률
__난수
____Random 클래스
________간단한 난수 주사위 게임
__확률의 정의
____독립 사건과 연관 사건
____조건 확률
________조작된 주사위
__캐릭터 특성
__확률을 적용한 유한 상태 기계
__동적 인공지능
__데모 슬롯머신
____난수 슬롯머신
____가중 확률
________아까운 실패
__정리

4 센서 구현
__기본 센서 시스템
__씬 설정
__플레이어 탱크와 종류
____플레이어 탱크
____종류
__인공지능 캐릭터
____감각
____시각
____촉각
__테스트
__정리

5 군집 처리
__유니티의 Island 데모로 살펴보는 군집 처리
____개별 행동
____컨트롤러
__대체 구현
____FlockController
__정리

6 경로 따라가기와 조향 행동
__경로 따라가기
____경로 스크립트
____경로 추종자
__장애물 회피
____커스텀 레이어 추가
____장애물 회피
__정리

7 A* 경로 탐색
__A* 알고리즘 재확인
__구현
____Node
____PriorityQueue
____GridManager
____AStar
____TestCode 클래스
__씬 설정
__테스트
__정리

8 내비게이션 메시
__소개
__맵 설정
____Navigation Static
____내비게이션 메시 베이크
____Nav Mesh Agent
________에이전트의 목적지 변경
__경사가 있는 씬
__NavMeshLayers
__Off Mesh Links
____Off Mesh Links 생성
____Manual Off Mesh Links
__정리

9 행동 트리
__Behave 플러그인
__작업 순서
__액션
__스크립트 연동
__데코레이터
__Behave 디버거
__시퀀스
__Behave 결과 탐색
__셀렉터
__우선순위 셀렉터
__패럴렐
__레퍼런스
__로봇 대 외계인 프로젝트
__정리

10 실전 프로젝트
__씬 설정
____태그와 레이어
__차량
____플레이어 자동차 컨트롤러
____인공지능 자동차 컨트롤러
____유한 상태 기계
________정찰 스테이트
________추격 스테이트
________공격 스테이트
__무기
____총
____탄환
____런처
____미사일
__정리

도서소개

★ 요약 ★
이 책은 유니티 개발 환경에서 인공지능을 다루는 방법을 기초부터 차근차근 알려준다. 게임에서 인공지능을 구현할 때 필수적으로 알아야 하는 유한 상태 기계(FSM)의 개념이라든가 랜덤과 확률의 활용 방법, 센싱 기술의 구현 방식, 길 찾기 알고리즘의 적용, 행동 트리의 활용 등을 어떻게 하면 유니티가 제공하는 기능을 활용해 쉽게 구현할 수 있는지를 쉽고도 명쾌하게 설명한다.

★ 이 책에서 다루는 내용 ★
■ 유한 상태 기계(FSM) 구성
■ 센서 시스템 구현
■ 비행 오브젝트를 위한 군집 행동 적용
■ 유니티3D에서 직접 구현한 A* 길 찾기 알고리즘 실행
■ 베팅 게임에서 난수와 확률 적용
■ 유니티3D Pro의 기능인 내비게이션 그래프를 길 찾기에 활용
■ 동작 트리 학습 및 Behave 플러그인 활용법
■ 인공지능 차량 전투 게임을 구현한 실전 프로젝트

★ 이 책의 대상 독자 ★
유니티3D에 대한 기본 지식은 갖춘 상태에서 게임에 인공지능 요소를 추가하고 싶은 프로그래머, 그리고 따라 하기 쉬운 예제 설명과 다양한 샘플 코드, 프로젝트를 원하는 프로그래머가 이 책의 주요 대상 독자다. 이 책은 C# 스크립트를 사용하므로 약간의 C# 언어에 대한 배경 지식이 필요하다. 하지만 설령 C# 언어를 잘 모른다고 해도 프로그래밍 언어를 하나 이상 알고 있다면 이 책에 나온 코드를 이해하는 데 별다른 어려움이 없을 것이다.

★ 이 책의 구성 ★
1장, ‘인공지능 소개’에서는 인공지능이란 무엇인가에 대해 살펴보고 게임에서 사용하는 형태를 알아본다. 또한 게임에서 인공지능을 구현할 때 사용하는 다양한 기술에 관해서도 이야기한다.

2장, ‘유한 상태 기계’에서는 인공지능에서 의사결정이 필요할 때 결정을 단순화하는 방법을 살펴본다. 인공지능이 특정 상태에서 어떻게 동작하는지, 그리고 다른 상태로 어떻게 넘어가는지를 정의하기 위해 유한 상태 기계(FSM)을 사용한다.

3장, ‘난수와 확률’에서는 확률의 기본에 대해 살펴보고 어떻게 하면 특정 결과의 확률을 변경할 수 있는지 살펴본다. 그리고 게임에 임의성을 추가해서 다소 예측하기 어려운 행동을 보이는 인공지능의 구현 방법을 살펴본다.

4장, ‘센서 구현’에서는 인공지능 캐릭터가 주변을 인지하게 하는 방법을 살펴본다. 캐릭터는 보고 들을 수 있으므로 적이 근처에 오면 알아채고 언제 공격을 해야 하는지 알 수 있다.

5장, ‘군집 처리’에서는 다수의 오브젝트가 함께 이동하는 상황에 대해 설명한다. 군집 처리를 구현하는 두 종류의 방법을 살펴보면서 다수의 오브젝트를 어떻게 동시에 이동시키는지 알아본다.

6장, ‘경로 따라가기와 조향 행동’에서는 인공지능 캐릭터가 어떻게 경로를 따라 목적지에 도달하는지 살펴본다. 그런 다음 인공지능 캐릭터가 주어진 경로 없이 목적지를 찾는 방법을 살펴보고, 장애물을 피해가며 목적지로 이동하는 방법도 알아본다.

7장, ‘A* 경로 탐색’에서는 주어진 위치에서 목적 지점까지의 최적 경로를 찾는 유명한 알고리즘을 살펴본다. A*(에이스타)를 사용하면 지형을 탐색하고 목적 지점까지의 최단거리를 찾을 수 있다.

8장, ‘내비게이션 메시’에서는 경로 탐색을 좀 더 쉽게 구현하기 위해 유니티가 제공하는 기능을 살펴본다. 내비게이션 메시(Navigation Mesh, 유니티 프로에서만 지원)를 생성하면 타일과 A* 알고리즘을 사용할 때보다 씬을 좀 더 잘 표현할 수 있다.

9장, ‘행동 트리’는 유한 상태 기계를 발전시킨 모델로, 아주 복잡한 게임에서도 사용할 수 있다. 유니티에서 행동 트리를 생성하고 관리하기 위해 이 책에서는 무료 플러그인 Behave를 사용할 예정이다. (※Behave는 애셋 버전 1.4를 마지막으로 무료 정책이 종료됐으며, Behave 2의 출시와 함께 애셋 개발사인 AngryAnt에서 유료로 정책을 변경하여 2015년 8월 현재 유료로 배포하고 있습니다. 따라서, 개발사의 정책 변경에 따른 부득이한 환경 변화로 인해, 이 책의 9장 내용은 원서가 출간될 당시와는 다르게 책에서 설명한 것과 동일하게 구현하기가 어려운 점, 양해해주시기 부탁드립니다.)

10장, ‘실전 프로젝트’에서는 이 책에서 다룬 다양한 주제를 모아 마지막 프로젝트를 구현한다. 이 프로젝트를 기반으로 지금까지 배운 다양한 인공지능 요소를 추가로 적용해 멋진 차량 전투 게임을 만들 수도 있다.

★ 저자 서문 ★
이 책은 순수하게 인공지능 알고리즘을 설명하는 책과 기본적인 씬 설정 및 스크립트 등을 설명하는 일반적인 유니티3D 책이 동시에 다루지 못하는 둘 사이의 가교 역할을 수행한다.

이 책은 유니티3D로 다양한 인공지능 기술을 구현하는 방법을 다루고 있는데 C#을 사용해서 처음부터 직접 구현하는 방법부터 유니티3D가 제공하는 내장 기능을 활용하는 방법 또는 유니티 에셋 스토어(Unity Asset Store)에서 제공하는 스크립트와 플러그인을 활용하는 방법 등을 설명한다. 인공지능 기술을 본질적인 구현보다는 샘플 프로젝트를 통한 인공지능 기술의 적용과 활용 방법을 설명하는 데 좀 더 중점을 두고 있다. 다루는 기술은 유한 상태 기계(FSM)와 길 찾기, 조향, 내비게이션 그래프, 행동 트리 등이 있다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.