이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 청년패스
C#으로 하는 유니티 게임 개발
페이퍼백
베스트
IT 모바일 top100 1주
가격
30,000
10 27,000
YES포인트?
1,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

이 상품의 태그

책소개

목차

1장 숨겨진 스크립트 기술의 발견
___이 책을 보는 데 필요한 사전지식
___스크립트 공포증의 해결
______GameObject의 비헤비어에 대한 교육
___UnityScript 대신에 C# 선택
______C#을 선택한 이유 1: 인터넷상의 방대한 문서
______C#을 선택한 이유 2: 유니티 스크립트와 일반적인 C# 코드 파일을 사용할 수 있는 유연성
______C#을 선택한 이유 3: 특별한 코딩 규칙
___유니티의 문서
______이 모든 것을 알아야 하는가?
______여기서 보여주는 정보는?
___C# 스크립트 파일로 작업하기
______모노디벨롭 코드 에디터의 소개
______모노디벨롭과 유니티 사이의 C# 파일 동기화
______Watching for a possible "gotcha" when creating script files in Unity
______정상적으로 동작하지 않을 때의 수정
___정리


2장 유니티 스크립트의 빌딩 블록 소개
___함수 대신에 메소드 사용하기
___스크립트에서 변수가 하는 역할에 대한 이해
______변수에 이름 붙이기
______변수의 이름은 단순히 값을 대체한다
___스크립트에서 메소드의 사용
______메소드란?
______이 스크립트 파일 안에 있는 것은 무엇인가?
______메소드의 이름도 코드를 대체한다
___클래스 소개
___유니티의 작은 마법을 사용하면 스크립트는 컴포넌트가 된다
______마법처럼 보이는 기술적인 것들
______그 밖의 유니티 마법
___닷 신택스를 사용한 컴포넌트 간의 통신
______닷이란?
___정리


3장 변수의 자세한 활용
___적절한 C# 문장 작성
___유니티의 Inspector에 있는 컴포넌트 속성의 이해
______변수는 컴포넌트의 속성이 된다.
______유니티는 스크립트와 변수 이름을 약간 변경한다
______Inspector 패널에서 속성 값 변경
___Inspector 패널에서 public 변수 보기
___적절한 변수 이름 작성법
______소문자로 변수 이름 시작하기
______여러 단어로 변수 이름 정하기
___변수와 타입의 선언
______일반적인 내장 변수 타입
______변수를 어디에서 선언하는지가 중요하다
______변수 영역: 변수가 사용되는 위치를 결정한다
___정리


4장 메소드의 활용
___중괄호를 사용한 메소드 정의
___스크립트에서의 메소드 사용
___적절한 메소드 이름 작성법
______대문자로 메소드 이름 시작하기
______여러 단어로 메소드 이름 정하기
______괄호도 메소드 이름의 한 부분이다
___적절한 메소드의 정의
______메소드를 정의하기 위한 최소한의 요구 조건
______괄호의 이해: 괄호가 필요한 이유
______메소드 매개변수의 설정
______메소드는 얼마나 많은 매개변수를 가질 수 있는가?
___메소드의 호출
______메소드의 괄호에서 인수 사용하기
___메소드로부터 값 리턴받기
______메소드 호출은 논리적인 우회다
___유니티의 Update()와 Start() 메소드 사용
______Start() 메소드는 한 번만 호출된다
______Update() 메소드는 반복해서 호출된다
___정리


5장 코드에서 조건 결정하기
___if 문을 사용한 조건 테스트
______if 조건이 참인지 거짓인지 테스트
______조건을 변경하기 위한 NOT 오퍼레이터 사용
______if 문에서 여러 조건 체크하기
___다른 코드를 실행하기 위한 if-else 문 사용
___사용자 입력에 따른 결정
___배열, List, Dictionary에 데이터 저장하기
______배열에 아이템 저장하기
______List에 아이템 저장하기
______Dictionary에 아이템 저장하기
______컬렉션 이니셜라이저를 사용해 List와 Dictionary에 아이템 추가하기
___배열, List, Dictionary 데이터에 루프 사용하기
______foreach 루프
______for 루프
______while 루프
___정리


6장 객체 통신을 위한 닷 신택스의 사용
___닷 신택스를 사용하는 것은 주소를 문자로 표기하는 것과 같다
______닷 신택스에서 닷은 단순화다
______변수와 메소드를 위한 액세스 지정자 사용하기
___객체를 사용해 작업한다는 것은 클래스의 액션을 의미한다
___스크립트에서 닷 신택스 사용하기
______컴포넌트의 변수와 메소드 액세스하기
______현재 GameObject의 다른 컴포넌트를 액세스하기
______다른 GameOjbect의 컴포넌트를 액세스하기
___드래그앤드롭을 사용하거나 코드를 작성해 GameObject 액세스하기
___정리


7장 게임의 한 부분으로 게임플레이 생성하기
___스테이트 머신에 새로 배운 코딩 스킬 적용하기
___스테이트 머신의 개념 이해
______스테이트 머신을 사용했을 때의 장점
___스테이트 머신 로직 플로우
______게임 제어권을 스테이트에 위임하기
______원할 때 다른 스테이트로 스위칭하기
______액티브 스테이트를 계속 파악하기
___컴포넌트 객체와 C# 객체 생성하기
______유니티는 씬 뒤에서 컴포넌트를 생성한다
______객체를 생성하기 위해 클래스를 인스턴스화하기
___C# 인터페이스 소개
______스테이트 머신과 보장된 인터페이스
___정리


8장 스테이트 머신 개발
___4개의 스테이트 클래스 생성하기
___StateManager 컨트롤러 셋업
______상속 예에 대한 학습
______다시 IStateBase 인터페이스 입력하기
______스테이트 추가하기
______StateManager 클래스에 OnGUI 추가하기
___액티브 스테이트의 변경과 씬 제어
______게임 씬 멈춤
___씬 변경
______씬 변경은 기존의 GameObject를 소멸시킨다
______씬 변경하기
______클래스 코드 검증
___정리


9장 게임 구축과 기본 구조 실행
___유니티의 스크립트 문서
______처음으로 유니티 레퍼런스 매뉴얼 읽기
______스크립트 레퍼런스에 있는 필요한 코드 예제 찾기
______스테이트 머신의 셋업과 플레이어 GameObject의 추가
______StateManager의 재시작 메소드 호출
______플레이어 GameObject 추가
______스크립트에 게임 데이터 저장하기
______스플래시 화면 디스플레이
___플레이어 GameObject 제어
______플레이어의 색깔 옵션 추가
______플레이어의 생명 옵션 추가
___정리


10장 움직임, 충돌 그리고 스코어 보관
___완성된 게임 보기
___첫 번째 플레이 스테이트에서 플레이 가능한 씬으로 스위칭하기
______코드를 사용해 Scene1 로드하기
___다른 뷰 옵션을 위한 카메라 추가
______새로운 카메라에 스크립트 연결하기
___Rigidbody 물리를 사용한 플레이어의 이동
___게임을 진행하는 동안 스코어 보관하기
______스코어 시스템의 초기화
______Scene1 플레이 스테이트에서 스코어 보관하기
______승리와 패배를 결정하기
___물체에 총 쏘기
______EnergyPulse 한 발 쏘기
______EnergyPulse를 연속으로 쏘기
______EnergyPulse의 발사
______EnergyPulse 객체 제어
___정리


11장 새로운 코딩 기술 요약
___유니티 프로젝트의 코딩
______객체를 사용해 작업하기
___C# 프로그래밍t의 서피스 스크래치
______더 많은 C# 기능 살펴보기
______더 많은 유니티 기능 살펴보기
___스테이트 머신으로 게임 제어하기
______스테이트 머신을 사용하는 것은 디자인 패턴의 선택이다
______GameObject 레벨에서 스테이트 머신 사용하기
______작은 C# 코드 조각 사용하기
___이 책을 끝낸 후에 더 배워야 할 내용
______C# 웹사이트 방문
______유니티 코딩 웹사이트 방문
___정리


부록 A 초기 스테이트 머신 파일
___BeginState
___SetupState
___PlayStateScene1_1
___PlayStateScene1_2
___WonStateScene1
___LostStateScene1
___PlayStateScene2
___WonStateScene2
___LostStateScene2
___StateManager
___IStateBase


부록 B 9장과 10장의 완성된 코드 파일
___BeginState
___SetupState
___PlayStateScene1_1
___PlayStateScene1_2
___WonStateScene1
___LostStateScene1
___PlayStateScene2
___WonStateScene2
___LostStateScene2
___StateManager
___PlayerControl
___GameData
___LookAtPlayer
___FollowingPlayer
___EnergyPulsePower
___IStateBase


부록 C 깜짝 퀴즈 정답
___1장, 숨겨진 스크립트 기술의 발견
___2장, 유니티 스크립트의 빌딩 블록 소개
___3장, 변수의 자세한 활용
___4장, 메소드의 활용
___5장, 코드에서 조건 결정하기
___6장, 객체 통신을 위한 닷 신택스의 사용
___7장, 게임의 한 부분으로 게임플레이 생성하기
___8장, 스테이트 머신 개발
___9장, 게임 구축과 기본 구조 실행
___10장, 움직임, 충돌 그리고 스코어 보관

저자 소개

저자 : 테리 노턴
캘리포니아에서 태어나고 자랐다. 베트남 전쟁 시기에는 6년 반을 미국 공군으로 복무했다. 군 복무 중에 전자 계측 장치를 다루기 위해 전자공학을 공부했다. 군 제대 후 전자공학 학위를 받았고 나중에 버몬트에 있는 조슬린 디펜스 시스템(Joslyn Defense Systems)에서 미국 해군의 테스트 장비 설계와 개발 업무를 했다.
개인 컴퓨터가 세상에 등장했을 때 컴퓨터 제작에 관심이 많았지만 프로그래밍을 깊게 공부하진 않았다. 2004년까지는 프로그래밍은 그의 관심 밖이었다. 2004년도에 들어서 OS/2 매거진에 C++ 프로그래밍 강좌에 대한 글을 쓰기 시작했다. 불행하게도 2005년에 스노보드를 타다 왼손을 다쳐서 집필을 접어야 했다.
IBM이 OS/2를 포기하자 테리는 2006년 초 애플 컴퓨터를 처음으로 구입했다. 오브젝티브C를 배우고자 여러 번 도전했었지만 다른 일과 가정 생활로 인해 오브젝티브C를 배우는 일이 쉽지만은 않았다. 2010년도에 유니티를 알게 되어 스크립트를 작성하고 드디어 프로그래밍 세계에 합류할 수 있었다. 그 이후 유니티스크립트(UnityScript)에 대해 ‘UnityScript for Noobs’라는 온라인 튜토리얼을 쓰기 시작했다. 이 튜토리얼은 2011년까지 유니티를 처음 접하는 개발자들에게 유용한 기본적인 가이드였다.
튜토리얼을 집필하면서 테리는 유니티에서 스크립트를 작성하기 위해 C#을 공부하기 시작했다. 팩트 출판사가 ‘UnityScript for Noobs’를 보고 테리에게 유니티스크립트 학습에 필요한 내용으로 집필할 생각이 없는지 의사를 타진했으나, 그는 거절했다. 테리가 생각하기에는 C#이 더 나은 언어였고 더 이상 유니티스크립트에는 관심이 없었다. 2주 후 팩트는 다시 유니티를 위한 C# 학습을 주제로 책을 집필할 것을 제안했고, 테리는 그 제안을 받아들였다.
역자 : 이유찬
중학교 때 처음 컴퓨터를 접하고 컴퓨터에 반쯤 미쳐 살다가 대학에서 컴퓨터 공학을 전공하면서 컴퓨터가 얼마나 어려운 분야인지 뼈저리게 깨달은 전형적인 전산쟁이다. 대학 졸업 후 현재까지 모 대기업 UX/UI 최적화 분야의 업무를 담당하고 있는 모바일 개발자이며, 틈틈이 게임을 즐기고 프로그래밍을 공부하는 늦깎이 프로그래머이기도 하다. 좋아하는 분야는 자바와 C#, C++ 같은 객체 지향 프로그래밍이며, 요즘은 자바 8에서 제공하는 람다(Lambda)에 푹 빠져 있다.

관련 분류

품목정보

발행일
2014년 06월 30일
쪽수, 무게, 크기
341쪽 | 823g | 188*235*20mm
ISBN13
9788960775770

출판사 리뷰

★ 이 책에서 다루는 내용 ★

■ 변수의 개념과 동작 원리
■ 메소드와 함수의 개념과 정보 처리를 위한 메소드와 함수 사용법
■ 객체, GameObject 컴포넌트, 클래스의 개념
■ 닷 신택스를 이용한 객체들 간의 통신
■ 코드에서 결정(decision)을 수행하는 방법
■ 유니티 프로젝트를 컨트롤하고 구성하기 위한 스테이트 머신(State Machine) 사용법
■ GameObject를 다루기 위한 스크립트 레퍼런스
■ 유니티 물리 엔진을 사용하여 GameObject 충돌과 트리거를 감지하고 이동하는 방법
■ 게임 화면에 정보 표시하는 방법


★ 이 책의 대상 독자 ★

일반적인 프로그래밍이나 스크립트 작성은 물론이고, 어디서부터 시작해야 할지조차 모르겠다면, 이 책을 집어 든 건 최선의 선택이다. 게임을 만들어보고 싶거나 C# 스크립트나 코드 작성 방법을 배워야 하는 독자들에게 이 책은 좋은 안내서가 될 것이다.


★ 이 책의 구성 ★

1장, 숨겨진 스크립트 기술의 발견: 여러분이 스크립트를 작성할 때 잠재적으로 느끼는 공포심을 극복하는 방법을 설명한다. 스크립트를 작성하는 일은 일상생활과 비슷할 정도로 매우 쉬운 작업임을 알게 된다. 또한 유니티의 스크립트 문서를 살펴볼 것이다. 마지막으로, 유니티에서 C# 스크립트를 생성하는 방법도 배워본다.

2장, 유니티 스크립트의 빌딩 블록 소개: 코드를 작성할 때 필요한 두 가지 중요한 빌딩 블록인 변수와 메소드에 대해 설명한다. 2장에서는 변수와 메소드의 개념을 소개한다. 이 2개의 빌딩 블록을 사용해 유니티 컴포넌트에서 사용하는 변수와 메소드의 컨테이너(container)인 ‘클래스’의 개념을 이해할 수 있다. 마지막으로, 닷 신택스(Dot Syntax)를 소개하면서 GameObjects 간의 통신을 설명한다.

3장, 변수의 자세한 활용: 변수를 사용하는 방법을 좀 더 자세하게 설명한다. 데이터를 저장하는 데 변수를 사용하는 방법과, 유니티의 Inspector 패널에 나타나는 컴포넌트 속성(Component properties)으로 변수를 변환하는 방법도 소개한다.

4장, 메소드의 활용: 메소드가 어떻게 GameObjects에 있는 액션(action)을 수행하는지 설명한다. 메소드를 생성하고 사용하는 방법을 좀 더 자세하게 배우게 된다. 또한 유니티에서 가장 자주 사용하는 메소드인 Start() 메소드와 Update() 메소드에 대해서도 알아본다.

5장, 코드에서 조건 결정하기: 게임을 진행하는 동안 수없이 이뤄지는 조건 결정(decision)에 대해 설명한다. 이러한 결정은 일상생활 속에서 하는 결정과 비슷하다. 코드에서 결정을 내리는 여러 가지 방법을 알아보고, 각 방법이 필요한 일반적인 이유도 알아보자.

6장, 객체 통신을 위한 닷 신택스의 사용: 닷 신택스는 사실, 다른 컴포넌트에게 정보를 전달하거나 다른 컴포넌트로부터 정보를 수신하는 간단한 주소(address) 포맷임을 알아본다.

7장, 게임의 한 부분으로 게임플레이 생성하기: 게임플레이(gameplay)를 개발하는 일은 분명 재밌는 작업이지만, 완벽하게 동작하는 게임을 만들려면 여러 파트가 필요하다는 사실을 배우게 된다. 필요한 파트들 중 일부를 살펴보고 스테이트 머신(state machine)을 소개함으로써 모든 파트를 구조화하는 방법을 알아본다.

8장, 스테이트 머신 개발: 간단한 스테이트 머신을 만들어서 스테이트 머신이 어떻게 동작하는지 알아보고, 스테이트 머신을 통해 게임을 제어하는 간단한 방법을 소개한다. 멀티 레벨 게임에서 씬(scene)이 어떻게 변하는지 그리고 다른 씬으로 변할 때 GameObject를 어떻게 처리해야 하는지도 알아본다.

9장, 게임 구축과 기본 구조 실행: 유니티의 스크립트 레퍼런스와 원하는 기능을 찾아볼 수 있는 레퍼런스 메뉴얼을 액세스하고 사용하는 방법을 알려준다. 그러고 나서 스테이트 머신과 3개의 씬을 사용하는 멀티 레벨 게임을 만들어본다. GameObject의 플레이어(player)를 추가하고 플레이어를 제어하는 방법도 살펴볼 것이다.

10장, 움직임, 충돌 그리고 스코어 보관: 유니티의 물리 시스템을 사용해 플레이어를 움직이는 방법과 플레이어의 움직임을 카메라가 어떻게 따라가는지를 설명한다. GUI 스코어 시스템을 개발하고 적(enemy) 객체에게 총을 쏘는 기능, 그리고 어떻게 게임에서 이기고 지는가에 대해 설명한다. 궁극적으로, 분리되어 있는 모든 코드 조각이 어떻게 하나로 합쳐져서 동작하는지를 알아보자.

11장, 새로운 코드 기술 요약: C#으로 프로그래밍하고 객체를 사용해 작업하는 데 필요한 핵심사항들을 되짚어본다. C#의 기본을 이해하기 위해 배우려고 하는 C#과 유니티 기능에 대해 설명한다. 유니티 프로젝트에 스테이트 머신을 함께 사용할 때의 장점에 대해서도 강조해 설명한다. 마지막으로, 좀 더 배우고자 하는 이들에게 유용할 참고자료를 제공한다.

부록 A, 초기 스테이트 머신 파일: 게임에서 스테이트를 변경하는 데 필요한 클래스의 초기 코드를 보여준다. 이 스테이트 머신 클래스는 게임 코드를 구성하고 추가하기 위한 출발점이다.

부록 B, 9장과 10장의 완성된 코드 파일: 완벽한 게임을 플레이하기 위해 사용되는 모든 클래스와 스크립트 파일을 담고 있다.

리뷰/한줄평1

리뷰

6.0 리뷰 총점

한줄평

첫번째 한줄평을 남겨주세요.