확장메뉴
주요메뉴


소득공제
미리보기 공유하기

유니티 게임 AI 프로그래밍

: 유니티 5로 구현하는 게임 제작에 필요한 인공지능 기술

[ 2판 ]
첫번째 리뷰어가 되어주세요 | 판매지수 336
베스트
게임 top20 6주
정가
26,000
판매가
23,400 (10% 할인)
YES포인트
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
8월 얼리리더 주목신간 : 귀여운 방해꾼 배지 증정
월간 개발자 2022년 8월호
박해선 저자의 머신러닝/딥러닝 패스
[단독]『혼자 공부하는 파이썬』 개정판 출간
내일은 개발자! 코딩테스트 대비 도서전
[단독] 에듀윌 IT 자격증 기획전 - 가장 빠른 합격출구 EXIT
YES24 트윈링 분철 : 인서트라벨/스티커 택1 증정
8월 전사
쇼핑혜택
1 2 3 4 5

품목정보

품목정보
출간일 2016년 05월 27일
쪽수, 무게, 크기 240쪽 | 581g | 188*235*15mm
ISBN13 9788960778627
ISBN10 8960778621

이 상품의 태그

책소개 책소개 보이기/감추기

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

목차 목차 보이기/감추기

1. 게임에서의 인공지능 기초
__가상의 삶 구현
__인공지능을 사용한 게임성 강화
__유니티에서 인공지능 사용
__에이전트 정의
__유한 상태 기계
__에이전트의 눈으로 월드 바라보기
__길 찾기와 조향
____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. 통합
__규칙 설정
__타워 생성
____타워 발사 처리
__탱크 설정
__환경 설정
__예제 테스트
__요약

저자 소개 관련자료 보이기/감추기

저 자 소 개
레이 바레라(Ray Barrera)
어린 시절에 뭐든 만들고 고치는 것을 좋아했다. 〈스타크래프트(StarCraft)〉나 〈언리얼 토너먼트(Unreal Tournament)〉의 변형이나 커스텀 맵 등을 만드는 것부터 RPG 메이커를 사용해 오픈소스 롤플레잉 게임을 개발하는 것까지 항상 게임 개발에 열정을 가지고 있다. 열정을 취미 생활로 승화하며 몇 년을 지낸 후 전문 개발자로서의 삶을 살기로 결정했다.
초기에 방위 산업에서 메이저 계약자로서 교육과 연구 프로젝트에서 충분한 경험을 쌓았고, 이를 통해 원래부터 하고 싶었던 게임으로 열정을 이어갔다. 이때부터는 엔터테인먼트와 교육 사이를 넘나들면서 활약했다. 유니티는 게임과 애플리케이션 개발을 유연하고 빠르게 도와주는 좋은 무기가 됐다. 로스앤젤리스 유니티(Los Angeles Unity) 미팅의 원년 멤버로 지역 교육기관과 고등학교에서 진행된 유니티 워크숍을 도와가며 유니티 커뮤니티에서 매우 활발하게 활동했다. 트위터 계정은 @ray_barrera다.

아웅 시투 키야우(Aung Sithu Kyaw)
십 년 이상 기술 분야에서 일해 왔다. 그래픽 프로그래밍에 특히 열정적이며 비디오 게임을 개발하거나 글을 쓰고 이 지식을 다른 사람과 나누는 것을 즐긴다. 싱가포르 난양 기술 대학(NTU, Nanyang Technological University)에서 디지털 미디어 기술 석사학위를 수여했다. 지난 몇 년간 연구 프로그래머, 시니어 게임 프로그래머 등 다양한 역할을 수행했으며, 마지막으로 언리얼 개발 키트(Unreal Development Kit)를 사용한 센서 기반 실시간 무비 시스템 구현 연구원으로 일했다. 2011년 기술 기반 스타트업을 설립했으며 인터랙티브 미디어 생산과 백엔드 서버 측 기술에 집중했다. 현재는 미얀마에 머물면서 최근 자신의 회사 제품인 미얀마용 게임화 소셜 오피니언 네트워크 개발에 힘쓰고 있다.
트위터는 @aungsithu이며 링크드인은 http://linkedin.com/in/aungsithu다.

클리포드 피터스(Clifford Peters)
프로그래머이자 컴퓨터 과학자다. 팩트출판사가 출간한 『Unity Game Development Essentials』, 『Unity 3D Game Development by Example Beginner’s Guide』, 『Unity 3 Game Development HOTSHOT』, 『Unity 3.x Game Development by Example Beginner’s Guide』, 『Unity iOS Game Development Beginner’s Guide』, 『Unity iOS Essentials』를 리뷰했다.

뗏 네잉 세예(Thet Naing Swe)
싱가포르에 있는 Joy Dash Pte Ltd의 창업자이자 CTO다. 센트롤 랭커셔 대학(University of Central Lancashire)에서 게임 디자인과 개발을 전공했으며, 영국에 기반을 둔 닌텐도 DS(Nintendo DS) 게임 개발 스튜디오에서 게임 프로그래머로서 첫 경력을 시작했다. 2010년 다시 싱가포르로 돌아와서 난양 기술 대학의 시네마틱 연구 프로젝트에서 그래픽 프로그래머로 일했다.
Joy Dash에서 인터랙티브 디지털 미디어 컨설팅 프로젝트를 담당하고 있으며, 특히 유니티 3D를 활용한 교육, 캐주얼 게임, 증강 현실 프로젝트를 맡고 있다. 이메일(thetnswe@gmail.com)로 연락할 수 있다.
역자 : 조경빈
인프라웨어에서 웹 브라우저 엔진 개발에 참여했으며 현재는 게임개발사 셀바스에서 신작 개발에 전념하고 있다. 형식에 얽매이기보다는 자유로움 속에서 효율을 찾는 과정에 관심이 많다. 대학시절부터 다수의 전시회 출품과 공모전 입상 경력이 있으며, SKT T스토어 제1회 공모전 스마트폰 게임 부문에서 입상을 하기도 했고, 개인 자격으로 애플 앱스토어에 10개 이상의 앱을 등록해 미국 앱스토어에서 카테고리 1위에 오르는 등 다양한 실험을 하기도 했다. 국내 최초의 유니티 관련 서적인 『유니티 게임 엔진 한글 메뉴얼』(2010)을 번역했으며, 에이콘출판사에서 출간한 『Flash Game Development by Example 한국어판』(2011)과 『모던 자바스크립트 Modern JavaScript』(2014), 『유니티 게임 AI 프로그래밍』(2015), 『RPG를 만들면서 배우는 유니티 2D 게임 개발』(2015), 『The Gourmet iOS Developer’s Cookbook』(2015)을 번역했다.

출판사 리뷰 출판사 리뷰 보이기/감추기

★ 이 책에서 다루는 내용 ★

■ 게임 인공지능과 관련한 기본적인 용어와 개념 이해
■ 유니티 5의 상태 기계 행동을 사용한 간단한 유한 상태 기계 구현
■ 가장 일반적으로 사용되는 기술을 활용한 센서 시스템 구현
■ 가장 일반적인 형태의 길 찾기 시스템과 유니티 5 NavMesh 기능을 사용한 내비게이션 메시 구현
■ 높은 신뢰도와 효율성을 갖는 인공지능 군집 처리 구현
■ 캐릭터의 행동을 유도하는 간단한 행동 트리 생성
■ 인공지능 의사 결정에 퍼지 로직 개념을 구현해 좀 더 매력적인 캐릭터 생성
■ 배운 내용을 종합해 실전 예제 생성

★ 이 책의 대상 독자 ★

이 책은 C#과 유니티 편집기의 기본적인 내용을 이해하고 있는 유니티 개발자를 대상으로 한다. 게임을 처음 만들거나 게임 프로그래머로서의 지식을 넓히려고 한다면 게임 인공지능 관련 개념과 예제 구현을 통해 다양하고 흥미로운 정보를 얻을 수 있다. 이 책은 게임 인공지능과 관련한 특별한 사전 지식은 요구하지 않는다.


★ 이 책의 구성 ★

1장, ‘게임에서의 인공지능 기초’에서는 매우 방대하고 어려운 주제인 인공지능의 가장 기본적인 개념을 명확하게 알아본다.

2장, ‘유한 상태 기계’에서는 인공지능에서 가장 널리 사용되는 유한 상태 기계에 대한 개념을 설명한다.

3장, ‘센서 구현’에서는 게임 인공지능 에이전트가 주변 환경을 인지하는 데 있어 가장 중요한 방법이 무엇인지 알아본다. 인공지능 에이전트의 현실성은 주변 환경에 어떻게 반응하느냐에 따라 크게 달라진다.

4장, ‘길 찾기’에서는 인공지능 에이전트가 길을 찾아갈 때 가장 널리 사용되는 패턴을 설명한다. 게임 내의 에이전트는 장애물을 피해가며 게임에서 제공하는 지형을 탐색할 수 있어야 한다.

5장, ‘군집 처리’에서는 군집 처리 시뮬레이션 알고리즘에 대해 살펴보며, 이를 통해 개별 에이전트의 로직보다는 전체 군집의 이동과 관련된 로직을 처리하는 방법을 알아본다.

6장, ‘행동 트리’에서는 복잡한 인공지능 행동을 구현할 때 가장 널리 사용되는 방식인 행동 트리를 직접 구현해본다.

7장, ‘퍼지 로직을 사용한 인공지능 개선’에서는 바이너리 방식을 사용하지 않고 다양한 요소를 고려한 인공지능 에이전트의 의사결정 방법을 알아본다. 퍼지 로직은 사람이 의사 결정을 내리는 방식을 흉내낸다.

8장, ‘통합’에서는 다양한 시스템을 사용해서 하나의 간단한 게임 템블릿을 만들어 본다. 이를 확장할 수도 있다.


★ 지은이의 말 ★

이 책에서 우리는 게임 개발과 관련한 인공지능에 대해 살펴볼 것이다. 어떤 장르의 게임을 개발하느냐는 크게 상관없으며 다양한 활용 사례를 찾을 수 있을 것이다.
이 책의 목적은 여러분을 전문가로 만드는 것이 아니다. 전문가가 되기 위해서는 훨씬 더 오랜 기간 동안 많은 양의 자료를 학습해야 한다. 이 책은 인공지능을 배우기 시작하는 독자에게 길잡이가 되어 줄 것이다. 인공지능과 관련된 가장 기본적인 요소를 다루고 있으며, 이 책을 마칠 때쯤이면 자신만의 게임에 인공지능을 구현하는 데 필요한 지식을 갖추게 된다. 책에서 제공하는 게임 예제를 확장해도 좋고 직접 새롭고 흥미로운 것을 만들어 봐도 좋다.
이 책에서 제공하는 예제를 따라 해보고 코드를 고쳐가면서 연습하면 학습에 많은 도움이 될 것이다. 각 장은 개념적인 배경과 약간의 예제를 제공하며 여러분은 이를 각자 개발 중인 게임에 어떻게 적용할지 고민해보면 좋다.

★ 옮긴이의 말 ★

우리는 얼마 전 대한민국 땅에서 인공지능 역사에 한 획을 그은 사건을 생생하게 목격할 수 있었습니다. 온 대중매체가 연일 집중해 생중계와 보도를 쏟아내며 세기의 대결이라 칭했던 구글의 인공지능 알파고와 천재 바둑기사 이세돌 간의 대국이 바로 그 대상이었는데요. 바둑이라고는 아주 기초적인 규칙밖에 모르는 저도 넋을 놓고 지켜볼 만큼 인류 역사에 있어서 매우 흥미로운 인간과 인공지능 간의 대결이었습니다.
이미 출간을 마친 『유니티 게임 AI 프로그래밍』의 옮긴이의 말을 쓸 때 제가 초등학교 시절 8비트 컴퓨터를 가지고 인공지능 바둑 게임을 만들어서 대결을 펼치며 흥분과 환희를 느낀 이야기를 적었는데, 이젠 인공지능이 세계 최고의 천재 바둑 기사를 이기는 시대가 된 것입니다. 인류 역사를 돌이켜볼 때 인공지능 분야는 상대적으로 매우 짧은 시간에 비약적인 발전을 했습니다. 저뿐만 아니라 많은 분들이 알파고와 이세돌의 생중계를 지켜보면서 알파고가 단순한 소프트웨어를 넘어서서 마치 영혼마저 있는 것 같은 느낌을 받았다고 말합니다. 그만큼 인공지능은 앞으로 우리의 삶에 성큼성큼 다가올 것입니다.
이 책은 전작인 『유니티 게임 AI 프로그래밍』의 단순한 후속판으로 보기엔 너무 많은 내용이 변경됐습니다. 일단 가장 눈에 띄는 변화로 책의 모든 내용이 유니티 5를 기본으로 구성됐으며 인공지능에 대한 기본적인 소개부터 시작해 유한 상태 기계의 개념, 랜덤과 확률, 센싱 기술의 구현, 길 찾기 알고리즘, 행동 트리, 퍼지 로직 등 게임 제작에 필요한 인공지능 기법과 이를 유니티가 지원하는 환경에서 어떻게 구현할 수 있는지를 비교적 초보자의 시선에서 차근차근 상세히 설명하고 있습니다. 일부 장르를 제외하면 대부분의 게임은 수준과 정도의 차이는 있지만, 인공지능을 적용해야만 하는 상황이 발생하는데, 이때 이 책에서 다루는 내용만 제대로 익혀놔도 실전에서 별다른 부족함 없이 원하는 의도대로 만들어 낼 수
있을 것으로 생각합니다. 물론 이 책에서 다루고 있는 인공지능이 앞서 이야기한 인류의 삶을 근본적으로 변화시키는 기술과는 지향점이 다르다는 점은 이해해야 합니다. 게임 인공지능의 목표는 인류의 삶에 영향을 주는 것보다는 게임 자체에서 느낄 수 있는 재미를 늘리는 데 있으며 이 책은 그런 목표를 달성하는 데 필요한 기술에 집중하고 있기 때문입니다.
부디 이 책이 인공지능 프로그래밍의 기초를 다지는 데 큰 도움이 되기를 희망합니다.

한줄평 (3건) 한줄평 총점 7.4

혜택 및 유의사항 ?
평점4점
정확한 내용을 보려면 예제를 다 열어서 봐야하는 귀찮음이 있긴하네요
이 한줄평이 도움이 되었나요? 공감 0
| 2017.01.05
평점4점
도움이 됩니다.
이 한줄평이 도움이 되었나요? 공감 0
E**D | 2016.12.10
평점3점
책 내용은 흥미롭습니다. 하지만 번역의 문제인건지 원서 자체가 그런건지 짜임새가 이상합니다
이 한줄평이 도움이 되었나요? 공감 0
YES마니아 : 플래티넘 p******g | 2016.07.31
  •  쿠폰은 결제 시 적용해 주세요.
1   23,400
뒤로 앞으로 맨위로 aniAlarm