1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

유니티로 배우는 C# 프로그래밍- 6/E초보자를 위한 유니티 완벽 가이드북(에이콘 게임 개발 프로그래밍 시리즈)
저자 : 해리슨페론 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 이지성,송정은

2023.05.31 ㅣ 512p ㅣ ISBN-13 : 9791161757575

정가40,000
판매가38,000(5% 할인)
적립금 1,600원 (4%)
배송일정 05월 09일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 컴퓨터일반 > 컴퓨터게임
C#과 유니티 게임 엔진을 사용해서 3D 게임 개발을 시작하는 입문자를 대상으로 한 책이다. C#의 기본 문법, 클래스, 상속, 컬렉션, 제네릭, 델리게이트와 같은 주요 개념을 배울 뿐만 아니라, 유니티의 기초부터 시작해 게임 디자인, 조명, 플레이어 이동, 카메라 제어 및 충돌 등 게임 개발에 필요한 핵심 기술을 함께 다룬다. 후반부에서는 온라인 학습 자료, 자격증 정보 및 비디오 튜토리얼 등 유용한 정보를 소개한다.
펼쳐보기

[목 차]

1장. 개발 환경 이해
__기술 요건
__유니티 2022 시작하기
____맥OS 사용
____새 프로젝트 생성
____에디터 탐색
__유니티에서 C# 사용
____C# 스크립트 작업
____비주얼 스튜디오 소개
____C# 파일 동기화
__문서 탐색
____유니티 문서에 액세스
____C# 리소스 찾기
__요약
____내용 점검: 스크립트 다루기

2장. 프로그래밍의 구성 요소
__변수의 정의
____이름의 중요성
____플레이스홀더의 역할을 하는 변수
__메서드의 이해
____코드를 실행시키는 메서드
____메서드도 플레이스홀더다
__클래스 소개
____일반적인 유니티 클래스
____클래스는 청사진
____클래스 간 통신
__주석 작업
____한 줄 주석
____여러 줄 주석
____주석 추가
__구성 요소 넣기
____컴포넌트가 되는 스크립트
____MonoBehavior의 지원
__요약
__내용 점검: C# 구성 요소

3장. 변수, 타입 및 메서드 살펴보기
__올바른 C# 작성
__코드 디버깅
__변수의 이해
____변수 선언
____액세스 한정자 사용
____타입 작업
____타입 정리
____변수 네이밍
____변수 범위의 이해
__연산자 소개
____산술 및 할당
__메서드 정의
____메서드 선언
____네이밍 규칙
____메서드의 논리적 우회
____매개변수 지정
____반환 값 지정
____반환 값의 사용
____기본 유니티 메서드 분석
__요약
__내용 점검: 변수와 메서드

4장. 제어 흐름과 컬렉션 타입
__선택문
____if-else문
____switch문
____내용 점검 1: if, and, but
__컬렉션 간단히 살펴보기
____배열
____리스트
____딕셔너리
____내용 점검 2: 컬렉션의 모든 것
__반복문
____for 루프
____foreach 루프
____while 루프
____무한 루프 저 너머로
__요약

5장. 클래스, 구조체 및 OOP 작업
__OOP 소개
__클래스 정의
____클래스 객체의 인스턴스화
____클래스 필드 추가
____생성자 사용
____클래스 메서드 선언
__구조체 선언
__참조 타입과 값 타입의 이해
____참조 타입
____값 타입
__객체지향형 사고방식의 통합
____캡슐화
____상속
____컴포지션
____다형성
____OOP 내용 정리
__OOP를 유니티에 적용하기
____객체는 클래스의 동작
____컴포넌트에 액세스
__요약
__내용 점검: OOP

6장. 유니티 실행하기
__게임 디자인 기초 작업
____게임 디자인 문서
____Hero Born 원페이지
__레벨 만들기
____프리미티브 생성
____3D 공간에서의 사고방식
____머티리얼
____화이트 박싱
__조명의 기초
____조명 생성
____Light 컴포넌트 속성
__유니티의 애니메이션
____코드에서 애니메이션 생성
____유니티 애니메이션 창에서 애니메이션 생성
____키프레임 녹화
____커브와 탄젠트
__요약
__내용 점검: 기본적인 유니티의 특징

7장. 이동, 카메라 제어 및 충돌
__플레이어 이동 관리하기
__Transform 컴포넌트를 사용해 플레이어 이동하기
____벡터의 이해
____플레이어 입력 받기
____플레이어 이동
__카메라 동작 스크립팅
__유니티 물리 시스템으로 작업하기
____모션의 리지드바디 컴포넌트
____콜라이더와 충돌
____콜라이더 트리거의 사용
____물리 요약
__요약
__내용 점검: 플레이어 제어와 물리

8장. 게임 메카닉 스크립팅
__점프 추가
____열거 타입
____레이어 마스크로 작업하기
__발사체 발사
____오브젝트의 인스턴스화
____슈팅 메카닉 추가
____오브젝트 빌드업 관리
__게임 매니저 생성
____플레이어 속성 추적
____get과 set 접근자
____아이템 수집 업데이트
__GUI 생성
____플레이어 스탯 표시
____승패 조건
____지시문과 네임스페이스를 사용해 일시 정지 및 재시작하기
__요약
__내용 점검: 메카닉을 활용한 작업

9장. 기본 AI와 적의 행동
__유니티의 3D 공간 내비게이팅
____내비게이션 컴포넌트
____적 에이전트 설정
__적 에이전트의 이동
____절차적 프로그래밍
____정찰 위치 참조
____적의 이동
__적의 게임 메카닉
____수색과 파괴: 에이전트의 대상 변경
____플레이어의 체력 감소
____탄환의 충돌 감지
__리팩터링 및 DRY 유지
__요약
__내용 점검: AI와 내비게이션

10장. 타입, 메서드 및 클래스의 재고찰
__액세스 한정자
____const와 readonly 키워드
____static 키워드 사용
__메서드 다시 살펴보기
____메서드 오버로딩
____ref 매개변수
____out 매개변수
__중급 OOP
____인터페이스
____추상 클래스
____클래스 확장
__네임스페이스 충돌과 타입 별칭
__요약
__내용 점검: 레벨 업

11장. 스택, 큐, 해시셋
__스택
____Pop과 Peek
____공용 메서드
__큐로 작업
____추가, 제거 및 피크
____공용 메서드
__해시셋 사용
____연산 수행
__중급 컬렉션 정리
__요약
__내용 점검: 중급 컬렉션

12장. 데이터의 저장, 로드 및 직렬화
__데이터 포맷 소개
____XML 분석
____JSON 분석
__파일 시스템의 이해
____에셋 경로로 작업
____디렉터리의 생성과 삭제
____파일의 생성, 업데이트, 삭제
__스트림으로 작업하기
____스트림 리소스의 관리
____StreamWriter와 StreamReader의 사용
____XMLWriter 생성하기
____스트림 자동으로 닫기
__데이터 직렬화
____XML의 직렬화 및 역직렬화
____JSON의 직렬화 및 역직렬화
__데이터의 정리
__요약
__내용 점검: 데이터 관리

13장. 제네릭, 델리게이트 및 기타 사항 살펴보기
__제네릭 소개
____제네릭 객체
____제네릭 메서드
____타입 매개변수 제약 조건
____유니티 객체에 제네릭 추가
__델리게이트
____디버그 델리게이트 만들기
____델리게이트 타입의 매개변수
__이벤트 발생
____이벤트 생성 및 호출
____이벤트 구독 처리
____이벤트 구독 정리
__예외 처리
____예외 발생
____try-catch문의 사용
__요약
__내용 점검: 중급 C#

14장. 이 책을 마친 후
__심화 학습
__객체지향 프로그래밍 다시 살펴보기
__디자인 패턴 입문
__유니티 프로젝트 접근하기
__기타 유니티 기능
__향후 과정
____C# 리소스
____유니티 리소스
____유니티 자격증
__과제: 커뮤니티에서 나의 실력 검증해보기
__요약
펼쳐보기
◈ 이 책에서 다루는 내용 ◈
◆ 간단한 단계와 예제를 다루며 유니티에서 C# 스크립트를 생성 및 구현
◆ 생동감 있는 게임을 만들기 위한 3D 사고방식 개발
◆ C#을 사용해 플레이어 컨트롤러와 발사체 같은 기본적인 게임 메카닉 생성
◆ 인터페이스, 추상 클래스, 클래스 확장을 사용해 코드를 플러그형 구성 요소로 분할
◆ 스택, 큐, 예외, 오류 처리 등과 같은 핵심 C# 개념 숙지
◆ 텍스트, XML 및 JSON 데이터를 처리해 게임 데이터를 저장하고 로드
◆ 게임용 인공지능의 기본 개념 이해와 적의 동작을 제어하는 방법 구현

◈ 이 책의 대상 독자 ◈
프로그래밍이나 C#의 기본 사항을 다룬 적이 없는 초보자를 대상으로 하는 책이다. 하지만 다른 언어나 C#에 능숙한 전문가 수준의 독자라도 실제 유니티 게임 개발을 하는데 도움이 될 것이다.

◈ 이 책의 구성 ◈
1장. ‘개발 환경 이해’에서는 유니티 설치 과정, 에디터의 주요 기능, C#과 유니티 관련 주제에 대한 문서 검색을 우선 다룬다. 또한 유니티 내부에서 C# 스크립트를 생성하는 방법을 알아보고, 모든 코드의 편집을 진행하게 될 애플리케이션인 비주얼 스튜디오를 살펴본다.
2장. ‘프로그래밍의 구성 요소’에서는 프로그래밍의 최소 단위 개념을 제시하면서 변수, 메서드, 클래스의 개념을 실생활과 연관 지어 설명함으로써 이해를 돕는다. 또한 간단한 디버깅 기술, 올바른 서식 및 주석 작성, 유니티가 C# 스크립트를 컴포넌트로 변환하는 방법 등도 살펴본다.
3장. ‘변수, 타입 및 메서드 살펴보기’에서는 2장에서 다룬 기본 개념을 더 깊이 살펴보고자 C# 데이터 타입, 네이밍 규칙, 액세스 한정자 등 프로그래밍 기초에 필요한 모든 것을 배운다. 또한 메서드 작성 방법, 매개변수 추가 방법, 반환 타입 사용 방법 등을 익히고, (MonoBehaviour) 클래스에 속하는 기본 유니티 메서드를 소개하면서 마무리한다.
4장. ‘제어 흐름과 컬렉션 타입’에서는 if-else 문과 switch문의 코드에서 결정을 내리는 일반적인 접근 방식을 소개한다. 그 다음에는 배열, 리스트, 딕셔너리를 다룬 후, 컬렉션 타입을 순회하는 반복문을 살펴본다. 마지막으로는 조건부 반복문과 특수한 C# 데이터 타입인 열거형을 다룬다.
5장. ‘클래스, 구조체 및 OOP 작업’에서는 먼저 클래스와 구조체를 생성하고 인스턴스화하는 방법을 자세히 다룬다. 이어서 생성자를 만들고, 필드와 메서드를 추가하며, 서브클래싱(subclassing) 및 상속의 기초를 익힌다. 끝으로 객체지향 프로그래밍을 포괄적으로 설명하고, C#에 어떻게 적용할지 알아본다.
6장. ‘유니티 실행하기’에서는 C# 구문에서 벗어나 게임 디자인, 레벨 구축, 유니티 주요 도구 등을 살펴본다. 우선 게임 디자인 문서의 기본 개념을 다룬 후 레벨을 만들고 조명을 추가한다.
7장. ‘이동, 카메라 제어 및 충돌’에서는 플레이어 오브젝트를 이동시키는 다양한 방법과 3인칭 시점 카메라의 설정 방법을 설명한다. 또한 유니티 물리(Unity physics)를 활용한 좀 더 사실적인 이동 효과의 구현, 콜라이더 컴포넌트 작업 및 씬(scene) 내에서의 상호작용 캡처를 다룬다.
8장. ‘게임 메카닉 스크립팅’에서는 게임 메카닉의 개념과 효과적인 구현 방법을 소개한다. 우선 간단한 점프 동작을 추가하고, 슈팅 메카닉을 생성한 다음, 아이템 수집을 처리하는 로직을 추가해 이전 장의 코드를 빌드한다.
9장. ‘기본 AI와 적의 행동’에서는 게임 인공지능의 개념과 Hero Born에 적용할 콘셉트를 간략히 살펴본다. 이 장에서는 유니티의 내비게이션, 레벨 지오메트리 및 내비게이션 메시, 스마트 에이전트, 자동화된 적의 이동을 다룬다.
10장. ‘타입, 메서드 및 클래스의 재고찰’에서는 C# 언어의 다양성과 범위를 더 깊이 이해할 수 있도록 데이터 타입, 중급 메서드 기능, 복잡한 클래스에 사용할 수 있는 추가 동작을 더 자세히 살펴본다.
11장. ‘스택, 큐, 해시셋’에서는 중급 컬렉션 타입과 기능을 다룬다. 따라서 스택, 큐, 해시셋 각각의 사용과 적합한 개발 시나리오를 다양하게 제시한다.
12장. ‘데이터의 저장, 로드 및 직렬화’에서는 게임 정보를 처리할 수 있도록 준비하고자 파일 시스템과 파일의 생성, 삭제, 업데이트 작업을 다룬다. 또한 XML, JSON, 이진 데이터 등과 같은 다양한 데이터 유형을 살펴보고, 마지막 부분에서는 C# 객체를 데이터 포맷으로 직렬화한다.
13장. ‘제네릭, 델리게이트 및 기타 사항 살펴보기’에서는 C# 언어의 중급 기능을 소개하고, 해당 기능을 실제 시나리오에 어떻게 적용할지 자세히 알아본다. 제네릭 프로그래밍의 개요를 시작으로 델리게이트, 이벤트, 예외 처리와 같은 개념을 다룬다.
14장. ‘이 책을 마친 후’에서는 이 책 전반에서 다룬 주요 주제를 복습하고, C#과 유니티를 좀 더 학습할 수 있는 자료를 제공한다. 온라인 학습 자료, 자격증 정보, 저자가 추천하는 비디오 튜토리얼 채널 등이 포함된다.

지은이의 말
유니티(Unity)는 아마추어뿐만 아니라 메이저 게임 개발사와 영화 제작사를 대상으로 하는 세계적으로 인기 있는 게임 엔진 중 하나다. 유니티는 3D 도구로 알려져 있지만, 2D 게임 및 가상 현실에서 포스트 프로덕션(post-production)과 크로스 플랫폼(cross-platform) 퍼블리싱 지원에 이르기까지 다양한 기능을 갖추고 있다.

개발자들은 드래그 앤 드롭 인터페이스와 기본으로 제공되는 기능을 선호하지만, 유니티는 동작과 게임 메카닉을 위해 사용자 정의 C# 스크립트를 작성할 수 있다는 점에서도 매력적이다. 경력이 풍부한 프로그래머는 C# 코드를 배우는 데 큰 어려움이 없겠지만, 경험이 없는 사람에게는 결코 쉽지 않은 일이다. 이 책은 바로 그런 초심자들을 위해 쓰여졌으며, 재미있고 플레이 가능한 프로토타입을 만들면서 프로그래밍과 C# 언어의 기초를 처음부터 배우도록 해준다.

옮긴이의 말
이 책을 선택한 독자라면 게임 개발에 관심이 많으실 거라 생각합니다. 아마도 게임을 플레이하면서 흥미를 느끼고 난 후, ‘나도 한번 게임을 만들어보고 싶다’라는 생각을 해보셨을 겁니다. 저 역시, 대학 시절 <스타크래프트>라는 게임의 매력에 빠져들었고 이후 게임 프로그래머로 첫 발을 내디뎠습니다.

당시에는 게임을 개발하려면 수학적인 계산이나 복잡한 프로그래밍 기술이 필요했기 때문에 초보자가 도전하기 쉽지 않았습니다. 하지만 유니티는 물리 엔진, 애니메이션 시스템, 그래픽 라이브러리 등을 제공해 초보자도 손쉽게 접근할 수 있습니다. 이로 인해 게임 개발의 진입 장벽이 낮아졌고, 방대한 작업이 필요했던 기능도 순식간에 구현할 수 있게 됐습니다. 게다가 유니티는 크로스 플랫폼을 지원해서 플랫폼별로 개발하는 데 드는 시간과 비용을 획기적으로 줄여줍니다. 유니티가 아우르는 플랫폼에는 PC와 안드로이드(Android), iOS는 물론이고 닌텐도 스위치, 플레이스테이션, XBOX 360과 같은 콘솔용 게임 기기도 포함됩니다.

만약 누군가가 저에게 “게임을 만들려면 무엇을 공부해야 할까요?”라고 묻는다면, 저는 망설임 없이 유니티부터 공부하라고 할 것입니다. 유니티는 직관적인 인터페이스, 개발의 편리성, 높은 생산성, 에셋스토어 등과 같은 장점 덕분에 가장 많이 사용되며, 초보 게임 개발자도 쉽고 빠르게 게임을 제작할 수 있는 엔진이기 때문입니다.

이 책은 C# 프로그래밍 언어를 유니티 게임 엔진과 함께 배우고자 하는 초보자와 중급자를 대상으로 합니다. 예제를 따라하는 것만으로 3D 게임을 만들 수 있을 뿐만 아니라, C#과 유니티의 핵심 기술도 자연스럽게 익힐 수 있습니다. 이 책으로 독자 여러분이 C#과 유니티의 기초를 다지고, 더 나아가 실무에서 멋진 게임을 개발할 수 있는 초석을 마련하면 좋겠습니다.
이지성
펼쳐보기
해리슨 페론(Harrison Ferrone)
일리노이주 시카고에서 태어나 다양한 곳에서 성장했다. 마이크로소프트, 프라이스워터하우스쿠퍼스(PricewaterhouseCoopers)와 소규모 스타트업에서 근무했고, 요즘에는 링크드인 러닝(LinkedIn Learning), 플루럴사이트(Pluralsight)에서 교육 콘텐츠를 제작하거나 레이 웬더리치(Ray Wenderlich) 웹 사이트에서 기술 편집을 담당하고 있다.
콜로라도 대학교와 컬럼비아 칼리지 시카고(Columbia College Chicago)를 졸업했으나 학위가 그의 이력에 미친 영향은 미미하다.
몇 년간 iOS와 유니티 개발자로 일했지만, 교육 분야로 진로를 바꾼 후 줄곧 이 분야에 몸담고 있다. 대부분의 강좌에서 온라인 소통을 다루지 않는 점을 아쉽게 생각하고 있다.

옮긴이 이지성
고려대학교 컴퓨터정보통신대학원을 졸업했으며, 석사 논문을 주제로 특허를 받았다. 앤앤지㈜와 ㈜엠게임에서 게임 클라이언트 프로그래머로 MMORPG 게임을 개발했다. 이후 응용 프로그래머로 전향해 유니닥스㈜에서 PDF 에디터, 디지털 교과서 등을 개발했다. 현재는 자율주행 및 전자장비 개발 회사인 ㈜에스더블유엠에서 책임 연구원으로 재직 중이다.

옮긴이 송정은
평소 프로그램과 영어 두 분야 모두에 관심이 많아 세종대학교에서 컴퓨터공학을 전공한 후, 국제영어대학원대학교(IGSE)에 전액 장학생으로 입학해 석사 학위를 취득했다. 이후 빅데이터, 인공지능, 게임 개발 등 다양한 IT 분야의 원문들을 발 빠르게 섭렵하며 온라인 강좌를 준비하고 있다.
펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기