장바구니 담기 close

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

유니티3D 게임 스크립트

유니티3D 게임 스크립트 acorn+PACKT 시리즈

  • 카일 다우스트
  • |
  • 에이콘출판
  • |
  • 2015-05-29 출간
  • |
  • 232페이지
  • |
  • 188 X 235 X 14 mm /579g
  • |
  • ISBN 9788960777040
★★★★★ 평점(10/10) | 리뷰(1)
판매가

24,000원

즉시할인가

21,600

배송비

무료배송

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

수량
+ -
총주문금액
21,600

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

출판사서평

★ 요약 ★

요즘 단연 첫손에 꼽히는 모바일 게임 개발 툴인 유니티3D로 게임을 개발할 때 필요한 스크립트 작성 방법을 알려주는 책이다. 다양한 예제를 통해 사용자의 입력 처리, GUI, 아이템, 인벤토리, 인공지능, 통계, 세이브, 소리, 설정 등 2D, 3D를 막론하고 게임을 만들 때 꼭 필요한 기본적인 요소를 만드는 방법과 테스트하는 방법을 소개한다.

★ 이 책에서 다루는 내용 ★

■ 키보드, 마우스와 게임패드의 입력 처리
■ 세 종류의 확장 가능한 아이템 생성
■ 단축키 시스템을 포함한 인벤토리 구현
■ 게임의 비디오, 오디오 설정 최적화
■ 버튼, 체력 바, 피해량 알림을 GUI HUD로 구현하는 방법
■ 복합적인 인공지능 시스템 구현
■ 다양한 방식으로 게임 데이터를 세이브하는 방법
■ 플레이어의 통계와 점수를 추적하는 방법

★ 이 책의 대상 독자 ★

이 책은 프로그래밍과 스크립트 작성에 관한 지식을 어느 정도 갖추고 있으며 유니티3D를 사용해서 게임 개발을 시작하려는 독자를 대상으로 한다. 이미 유니티3D를 사용하고 있더라도 게임 플레이 요소를 모듈화하는 방법을 다루는 이 책은 여전히 유용할 수 있다.

★ 이 책의 구성 ★

1장, ‘입력’에서는 Xbox 360 컨트롤러용 컨트롤과 마우스, 키보드용 컨트롤을 생성하는 방법을 상세하게 살펴본다. 또 플레이어가 원하는 방식으로 게임을 플레이할 수 있게 커스터마이징이 가능한 컨트롤 프로파일도 만들어본다.

2장, ‘GUI’는 2D와 3D GUI 요소를 만드는 방법을 소개한다. 체력 바, 플레이어 정보, 3D 체력 바, 3D 피해량 알림, 적 이름표 등을 만들어본다.

3장, ‘확장 가능한 아이템 클래스’는 셀프 아이템, 근접 아이템, 발사 아이템에 사용할 아이템 클래스를 만드는 방법을 알려준다. 그런 다음, 이런 아이템을 역할에 따라 체계적으로 분류해본다.

4장, ‘인벤토리’는 게임의 인벤토리 시스템을 만드는 방법을 가르쳐준다. 아이템 추가, 아이템 제거, 퀵 아이템 등 기본적인 인벤토리의 구성 요소를 만들어본다. 마지막으로 GUI에 인벤토리를 표시하는 방법도 소개한다.

5장, ‘인공지능’에서는 살아 움직이는 듯한 인공지능을 만드는 방법을 보여준다. 유한 상태 머신과 행동 트리를 소개하고 이런 인공지능 시스템을 사용해서 행동, 효과, 애니메이션, 길 찾기, 경유지 시스템 등을 처리한다.

6장, ‘점수와 통계’에서는 플레이어에게 필요한 통계를 생성하고, 추적하고, 저장하는 방법을 소개한다. 또 통계와 연계해서 업적 시스템도 만들어본다.

7장, ‘세이브와 로드’에서는 플랫 파일과 XML 파일을 사용해서 데이터를 세이브, 로드하는 시스템을 만드는 방법을 소개한다. 그런 다음에 이런 시스템을 사용해서 체크 포인트를 기준으로 하는 세이브 시스템과 언제 어디서든 세이브할 수 있는 시스템을 구현해본다.

8장, ‘소리’에서는 배경음악, 주변 소리, 음향 효과를 처리하는 시스템을 만드는 방법을 소개한다. 플레이 리스트 시스템, 임의 재생 시스템, 이벤트 기반 시스템이 여기에 속한다.

9장, ‘게임 설정’에서는 오디오, 비디오 설정을 입맛에 맞게 바꾸는 방법을 소개한다. 또 PlayerPrefs를 사용해서 설정을 저장하고 로드하는 기능을 만들어본다.

10장, ‘실전 게임 프로젝트’에서는 앞서 배운 거의 모든 내용을 작은 게임으로 취합한다. 앞서 소개한 다양한 요소를 사용해서 간단한 1인칭 액션 RPG 게임을 만들어본다.

★ 저자 서문 ★

직관적이고 강력한 유니티 게임 엔진은 가장 널리 쓰이며 큰 사랑을 받고 있는 게임 개발용 패키지 중 하나다. 유니티 스크립트 작성은 매우 중요한 작업이지만 필요한 게임 요소를 입맛에 맞게 만드는 수준까지 도달하긴 쉽지 않다. 스크립트를 모듈화하는 방법을 배우면 스크립트를 다른 프로젝트에 사용할 때 다시 작성할 코드의 양을 최소화할 수 있고 또 전보다 훨씬 쉽고 빠르며, 더 효율적으로 작업할 수 있다.

이 책은 각 장마다 새로운 게임 요소의 스크립트를 작성하는 방법을 소개한다. 키보드와 마우스, Xbox 360 컨트롤러에 사용할 독자적인 컨트롤 제작을 시작으로, 인벤토리, 데이터 저장, 인공지능처럼 복잡한 시스템에도 대처한다. 이런 요소를 만들면서 스크립트를 더욱 간단하고 사용하기 쉽게 만드는 방법도 배운다. 즉 프로그래머가 아니어도 드래그앤드롭만으로 바로 사용할 수 있는 스크립트를 만들어보려 한다. 마지막으로 새로 배운 모든 기법을 총망라해서 온전한 실전 게임 프로젝트를 만들어본다.

★ 옮긴이의 말 ★

2009년 즈음 마주한 유니티3D의 첫인상은 솔직히 썩 좋지 않았다. 유니티가 원래 게임 엔진으로 만들어진 툴도 아니었고, 유니티로 개발했다고 광고하던 게임이 하나같이 조악했던 탓도 있었겠지만, 단순히 낮은 품질의 3D 게임을 빨리 찍어낼 수 있는 툴 정도라고 생각했기 때문이다. 하지만 섣부른 판단으로 한쪽 눈을 감고 있던 사이에 점점 게임 엔진의 기능을 갖추며 성능을 개선해온 유니티는 어느새 모바일 게임 개발에 가장 널리 쓰이는 개발 툴의 자리를 차지했다.
쉽게 배우고 빠르게 개발할 수 있으며 다양한 플랫폼을 지원한다는 장점과 더불어 전 세계의 개발자와 리소스를 공유할 수 있는 에셋 스토어 역시 빼놓을 수 없는 유니티만의 장점이다. 아직 다소 빈약한 2D 지원과 대규모 게임을 개발하기에는 부족한 기능 등 넘어야 할 산이 있긴 하지만, 유니티는 한동안 모바일 게임 개발 툴 왕좌의 자리를 내주지 않을 것이라고 생각한다.
이 책은 유니티3D로 게임을 개발하는 과정 중에서도 순수하게 프로그래밍의 영역에 해당하는 C# 스크립트 작성 방법을 소개한다. 책이 안내하는 대로 사용자의 입력 처리, GUI, 아이템, 인벤토리, 인공지능, 통계, 세이브, 소리, 설정 등의 다양한 기능을 스크립트로 만들고 또 테스트하다 보면 자신의 게임에 꼭 필요한 스크립트 작성 방법을 찾게 될 것이다. 스크립트 작성이 게임 개발의 전부는 아니므로 게임을 완성하려면 아직 가야 할 길이 많이 남아있겠지만, 언젠가 모바일 앱 마켓이라는 망망대해 어디선가 여러분을 만나게 되길 기대한다.

목차

1장 입력
__컨트롤 선택
____필요한 컨트롤 매핑
____입력 관리자 확인
____Xbox 360 컨트롤러의 입력 확인
____컨트롤러 입력 추가
____시작 버튼과 트리거 입력 추가
____방향 패드 입력 추가
____PC 컨트롤 입력 추가
__컨트롤 스크립트 작성
____스크립트를 생성하고 이름 변경
____스크립트 초기화
__장치 인식 기능 구현
____필요한 변수 추가
____장치 인식 함수 생성
____식별 함수 생성
__준비한 걸 보여주지!
____각 컨트롤이 사용할 변수 추가
____변수를 표시하는 함수 추가
__바꿔!
____컨트롤 프로파일 생성
____프로파일 전환 함수 추가
____GUI와 상호작용할 함수 추가
__커스터마이징이 핵심이다
____컨트롤 스킴 전환
____GUI에 컨트롤 스킴 전환 버튼 추가
____컨트롤 입력을 돌려가면서 사용
____GUI에 컨트롤 팝업 추가
____컨트롤 리셋
____리셋 함수 추가
____리셋 입력 추가
__플레이 테스트
__요약

2장 GUI
__전통적인 2D UI
____신 설정
____2D UI 스크립트 작성
____GUI 버튼 생성
____체력 바 생성
____레벨 표시
____경험치 바 생성
__3D UI 스크립트 작성
____3D 체력 바 생성
____3D 피해량 알림 생성
____업데이트 함수 수정
____피해량 알림 마무리
____3D 이름표 생성
____플레이 테스트
__요약

3장 확장 가능한 아이템 클래스
__셀프 아이템 클래스
____필요한 변수 추가
____능력치 변경 함수
______체력 변경 함수
______방어력 변경 함수
______아이템 효과 발동 함수
__근접 아이템 클래스
____필요한 변수 추가
____능력치 변경 함수
______체력 변경 함수
______주위 오브젝트와 상호작용
______트리거 감지
__발사 아이템 클래스
____필요한 변수 추가
______능력치 변경 함수
______체력 변경 함수
______움직임 추가
______트리거 감지
__플레이 테스트
__요약

4장 인벤토리
__인벤토리의 특징
____인벤토리의 허용치
____인벤토리의 사용법
____인벤토리 정리 방법
__아이템의 수량 변화
____아이템 거래
____아이템을 줍거나 버린다
____아이템의 파괴와 사용
__인벤토리 표시
__인벤토리 스크립트 생성
____스크립트를 만들고 이름 변경
____필요한 변수 추가
____인벤토리 초기화
____초기화 함수 생성
__아이템 추가
____기능 구상
____아이템 추가 함수 생성
__아이템 제거
____기능 구상
____아이템 제거 함수
__퀵 아이템 설정
____간단한 퀵 아이템 설정
____인벤토리 표시
____인벤토리 전용 입력
____GUI 표시
____GUI 구현
__플레이 테스트
____테스트 신 생성
____아이템 추가 테스트
____아이템 제거 테스트
__기타 테스트 방법
__요약

5장 인공지능
__AI 기법
____유한 상태 머신
____행동 트리 형태의 AI 시스템
______AI 기법의 결합
______스크립트 작성
__내부 효과와 외부 효과
____외부 효과
____내부 효과
____효과 스크립트 작성
__길 찾기
____경유지를 사용해서 경로 생성
____유니티의 NavMesh 시스템
____테스트 환경 설정
______NavMesh 생성
______변수 추가
______길 찾기를 적용할 함수의 스크립트 작성
__캐릭터 애니메이션
____모델 메시 추가
____애니메이션 스크립트 작성
__AI 패키지 제작
____코드 마무리
____인스펙터 마무리
__플레이 테스트
__요약

6장 점수와 통계
__통계 프로토타이핑
____플레이어에게 통계 부여
__통계 추적 기능
____통곗값 설정
____통계 리셋
____PlayerPrefs 리셋
____PlayerPrefs 저장
____PlayerPrefs 설정
____PlayerPrefs의 특정 값 리셋
____화면에 통계 표시
__업적 시스템
____업적 프로토타이핑
____업적에 필요한 변수 추가
____업적 리셋
__업적 추적 기능
____적을 죽인 횟수 추적
____상금 총액 추적
____소비한 돈 추적
____플레이어의 레벨 추적
____승리한 라운드 수 추적
____플레이한 시간 추적
__업적 확인
____특정 업적 확인
____모든 업적 확인
__업적을 화면에 표시
____GUI 함수 추가
__플레이 테스트
__요약

7장 세이브와 로드
__플랫 파일에 데이터 저장
____필요한 변수 추가
____플랫 파일 저장
__플랫 파일 삭제
__플랫 파일 로드
____파일 로드
__XML 저장 시스템
____XML 파일 생성
__XML을 사용해서 데이터 저장
____필요한 변수 추가
____플레이어의 데이터 저장
____적 데이터 저장
__XML을 사용해서 데이터 로드
____플레이어 데이터 로드
____적 데이터 로드
__SaveHandler 스크립트 생성
____체크포인트 세이브 시스템
____항시 세이브 시스템
__플레이 테스트
__요약

8장 소리
__배경음악
____임의 재생 시스템 생성
____플레이리스트 재생 시스템 추가
____배경음악 재생 시스템 마무리
__주변 소리
____스크립트와 변수 생성
____변수 초기화
____주변 소리 재생
__음향 효과
____스크립트와 변수 생성
__플레이 테스트
__요약

9장 게임 설정
__최적화할 설정 검토
__비디오 설정 생성
____기본값 설정
____그림자 변경
____시야각 설정
____해상도 설정
____앤티에일리어싱 속성 변경
____수직 동기화 설정
____기본 품질 설정 변경
____설정 로드
__오디오 설정 생성
____기본값 설정
____볼륨 설정
____스피커 모드 설정
__설정 메뉴 생성
____준비 작업
____GUI 생성
____모든 설정 값 저장
____모든 설정 값 로드
__플레이 테스트
__요약

10장 실전 게임 프로젝트
__레벨 생성
____메인 메뉴
____게임 플레이에 사용할 레벨
__플레이어 상호작용 생성
____사격과 일시 정지
____물약 획득
__사운드 추가
____배경음악 재생
____주변 소리 추가
__GUI 구현
____스크립트 추가
__통계 추적
____스크립트 추가
__세이브와 로드
____스크립트 추가
__마무리 작업
____승리 조건 추가
____AI 적용
____아이템 마무리
____레벨 추가
__플레이 테스트
__요약

저자소개

저자 카일 다우스트(Kyle D’Aoust)는 약 10년의 프로그래밍 경력을 지니고 있다. 14살이었던 2004년에 독학으로 C++ 언어를 깨쳤고, 고등학교를 마칠 무렵에는 비주얼 베이직과 자바스크립트도 습득했다. 대학에서 게임 제작을 전공했으며 C#을 사용하는 유니티 엔진 전문가다. 대학을 졸업한 뒤 소프트웨어 게임화로 경력을 쌓기 시작했다. 지금은 퀴큰 론즈(Quicken Loans)에서 기능성 게임(Serious Game) 개발자로 일하면서 교육용 자재로 쓰이는 게임을 개발하고 있다.

도서소개

[유니티3D 게임 스크립트]는 모바일 게임 개발 툴인 유니티3D로 게임을 개발할 때 필요한 스크립트 작성 방법을 알려주는 책이다. 책에는 키보드, 마우스와 게임패드의 입력 처리, 세 종류의 확장 가능한 아이템 생성, 단축키 시스템을 포함한 인벤토리 구현, 게임의 비디오, 오디오 설정 최적화, 버튼, 체력 바, 피해량 알림을 GUI HUD로 구현하는 방법, 복합적인 인공지능 시스템 구현, 다양한 방식으로 게임 데이터를 세이브하는 방법, 플레이어의 통계와 점수를 추적하는 방법 등을 다루고 있다.

교환 및 환불안내

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