유니티 5.x와 함께하는 C# 첫걸음
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 그렉 루코섹
저자 그렉 루코섹(Greg Lukosek)은 폴란드의 슐레지엔에서 태어나고 자랐다. 8살 때 부모님이 그와 형에게 코모도어 C64를 선물했던 그 날, 프로그래밍과 사랑에 빠졌다. 그 후로 간단한 코드를 작성해보며 시간을 보내곤 했고 컴퓨터를 쓸 수 없을 땐 메모지에 코드를 작성하기도 했다.
폴란드의 시에미아노비체 실롱스키에 있는 ZSTiO Meritum에서 기계 공학을 전공했다. 프로그래밍 기술은 모두 열정과 노력을 통해 독학으로 터득했다.
2003년, 자신의 삶을 바꿔줄 운명적인 사랑 카시아를 만났다. 그들은 모험을 찾아 런던으로 향했고 그곳에 정착했다.
3D 아티스트로 일하기 시작하면서 몇 년간 프로그래밍에서 손을 뗐지만, 마음속 깊은 곳에는 다시 게임 프로그래밍을 하고 싶다는 욕구가 남아 있었다. 3D 아티스트로 일하는 동안 유니티를 처음 접해 인터랙티브 시각화 프로젝트에 적용했고, 얼마 지나지 않아 다시 프로그래밍을 시작했다.
프로그래밍에 대한 사랑이 3D 그래픽에 대한 사랑을 뛰어넘었던 탓에 결국 3D 아티스트로 일해온 경력을 내던지고 코드를 작성하는 직업으로 돌아왔다. 지금은 8살 이후로 정말 하고 싶던 일인 게임 개발을 하고 있다.
요즘 그는 아내 카시아, 아들 애덤과 함께 영국의 작은 마을인 샌디에 살고 있다.
번역 김홍중
역자 김홍중은 중앙대학교 컴퓨터공학과를 졸업했다. 재학 중 삼성소프트웨어 멤버십 회원으로 활동하다가 삼성전자에 입사했다. DM 연구소, VD 사업부에 근무하면서 윈도우 CE, 임베디드 리눅스 환경에서 PDA, 셋탑박스, DTV 등 다양한 기기에 들어가는 애플리케이션을 개발했다.
2007년, 답답한 삶을 털어내고 훌쩍 미국으로 날아가 한껏 여유를 즐기다가 빈손으로 돌아왔다. 이후 웹호스팅사, 게임 개발사, 스타트업 등 여러 회사를 거치며 다양한 iOS 앱을 개발했고 한동안 번역가, 프리랜서로 연명하기도 했다. 언제 이룰 수 있을지 모르지만, 독립 개발자로 우뚝 서는 꿈을 포기하지 않고 있다.
에이콘출판사에서 출간한 『게임프로그래밍 알고리즘- 게임 프로그래머를 위한 실전 알고리즘 원리와 기법』(2015), 『C# 실전 예제로 배우는 유니티 3D 게임 스크립트』(2015) 등을 번역했다.
작가의 말
어서 오시라, 미래의 게임 개발자여. 지금 이 책을 읽고 있는 독자라면 분명 훌륭한 게임 엔진인 유니티와 C# 프로그래밍에 호기심이 가득한 사람일 것이다. 이 책은 C# 프로그래밍을 배우는 여정이라 할 수 있다. 이제 프로그래밍의 기초에서 시작해 제대로 동작하는 2D 플랫폼 게임을 만들면서 끝나는 여정을 함께 걸어보자. - 저자
한동안 모바일 게임 엔진의 절대 강자로 군림했던 유니티는 최근 막강한 성능을 앞세운 언리얼 등 경쟁자의 거센 공세로 조금씩 설 자리를 잃고 있다. 하지만 입지가 조금 줄었을 뿐 아직 굳건하게 강자의 자리를 지키고 있다. 특히 소규모 개발팀 또는 독립 개발자에게 유니티는 여전히 괜찮은 선택이다.
게임 엔진으로 유니티를 선택했다면 유니티의 사용법도 익히고, 스크립트 작성에 필요한 프로그래밍 언어도 배워야 하며, 게임에 필요한 리소스도 마련해야 한다. 프로그래밍 언어는 게임을 만들 때 필요한 수많은 지식 중 일부일 뿐이지만, 절대 소홀히 할 수 없는 중요한 부분이다. 이 책은 유니티로 게임을 만들 때 사용할 수 있는 C#, 자바스크립트, 부(Boo) 세 개의 프로그래밍 언어 중 가장 강력한 언어인 C#의 기초를 소개하는 책이다. 단순히 설명만 늘어놓지 않고 유니티 5.x를 사용해 간단한 게임을 만들어 보면서 C#의 개념을 하나하나 소개하는 방식으로 구성되어 있다. 이 책의 내용이 C#의 전부라고는 할 수 없지만, 유니티에서 C#으로 게임을 개발할 때 필요한 기본 개념은 부족함 없이 소개하고 있다.
게임을 개발하는 여정은 생각보다 길고 외롭다. C# 프로그래밍 언어는 길 위에 놓인 하나의 장애물일 뿐이다. 앞으로 극복해야 할 장애물이 더 많겠지만, 꾸준히 헤쳐나가다 보면 자신만의 종착점에 도착할 수 있으리라 믿는다. 그리고 그 종착점이 많은 사람을 행복하게 하는 게임이면 좋겠다.
Bon voyage! - 역자
목차
- 1장. 숨겨진 스크립팅 능력 발견과 개발 환경 준비
__책을 읽기 전에 알아야 할 내용
__스크립트 공포증 극복
__유니티 다운로드
____무료 라이선스 획득
__게임 오브젝트에 행동 추가
____유니티 문서고
____스크립팅 레퍼런스를 전부 알아야 할까?
__C# 문서는 어디서 찾아야 하지? C# 문서가 필요하긴 할까?
____도움을 청할 수 있는 유니티 커뮤니티
__C# 스크립트 파일
____너무 많은 파일로 인한 혼란
____Project 탭의 모습이 다른 이유
__C# 스크립트 파일 생성
__MonoDevelop 코드 편집기
____MonoDevelop과 유니티의 C# 파일 동기화
____MonoDevelop에서 LearningScript 파일 열기
________파란색으로 나타나는 네임스페이스
________녹색으로 나타나는 클래스 정의
____유니티에서 스크립트 파일을 만들 때 주의할 점
____동기화 문제 수정
____게임 오브젝트에 스크립트 추가
__인스턴스
__요약
2장. 유니티 스크립트의 구성 요소
__변수의 개념과 역할
____변수의 이름을 짓는 법
____변수 이름은 값의 대용품일 뿐이다
____변수의 동작 방식
________선언
________대입
____Play 클릭!
____변수 값 변경
____퍼블릭 변수를 사용할 때 주의할 점
__메소드
____“함수”가 아닌 “메소드”라는 용어를 사용하는 이유
____메소드 이름도 대용품이다
__클래스
____상속
__Start(), Update(), Awake() 메소드와 실행 순서
__닷 문법을 사용해서 정보를 주고받는 컴포넌트
____닷의 정체
__의사 결정 코드
____조건을 뒤집는 부정 논리 연산자
____If 문으로 여러 개의 조건 확인
____복잡한 의사 결정에 쓰이는 else if
____사용자의 입력을 바탕으로 의사 결정
__종이와 연필은 강력한 도구다
__요약
3장. 변수 탐구
__올바른 C# 문 작성 방법
__유니티 Inspector에 나타나는 컴포넌트의 속성
____컴포넌트의 속성으로 바뀌는 변수
____스크립트 이름과 변수 이름이 살짝 바뀌는 이유
__Inspector 창에서 속성의 값 변경
____Inspector 창에 퍼블릭 변수 표시
__프라이빗 변수
__변수 이름을 제대로 짓는 방법
__소문자로 시작하는 변수 이름
__여러 단어로 이뤄지는 변수 이름
__변수와 변수 형식 선언
____가장 많이 쓰이는 기본 변수 형식
__변수를 선언하면서 값 대입
__변수를 선언하는 위치의 중요성
__변수를 사용할 수 있는 위치를 결정하는 변수의 범위
__요약
4장. 메소드 탐구
__스크립트에서 메소드 활용
__메소드 이름을 제대로 짓는 방법
____대문자로 시작하는 메소드 이름
____여러 단어로 이뤄지는 메소드 이름
____괄호도 메소드 이름의 일부다
__올바른 메소드 정의
____메소드 정의의 최소 요건
__괄호가 필요한 이유
__메소드의 파라미터 지정
____파라미터의 수
__메소드에서 값 리턴
____값 리턴
________예제 코드
__요약
5장. 리스트, 배열, 딕셔너리
__배열
____배열 선언
__리스트에 아이템 저장
____리스트의 기본 연산
__List와 배열
__배열이나 List에서 데이터를 가져오는 방법
____크기 확인
__ArrayList
__딕셔너리
____해시테이블의 값 접근
____해시테이블의 내용을 확인하는 방법
__요약
6장. 루프
__루프
__foreach 루프
__for 루프
____예제
__while 루프
__while 루프와 for 루프
__루프와 다른 문의 혼용
__모듈로
__배열 안의 데이터 검색
__루프 중단
__요약
7장. 변수와 메소드를 담는 객체
__객체 활용
____몇 가지 사실
____예제
__객체의 인스턴스화
__갈 길이 멀다
__객체 안의 메소드 활용
__사용자 정의 생성자
__오버로딩
__요약
8장. 아이디어에서 개발에 이르는 과정
__처음부터 끝없는 구상의 늪에 빠지지 말자
__아이디어
____게임의 메카닉과 핵심 요소
__복잡한 아이디어를 작게 나누기
__신비한 행성의 제이크 게임의 기능 목록
____자동 레벨 생성
____2D 캐릭터 애니메이션
____물리
____마우스와 터치 제어
____수집 대상과 장애물
____점수
____사용자 인터페이스
__타깃 플랫폼
__화면 해상도
__요약
9장. 첫 게임을 향한 출발
__새로운 유니티 프로젝트 설정
____백업
____프로젝트를 깔끔하게 유지하는 방법
__플레이어 프리팹 준비
____Rigidbody2D
____CircleCollider2D
__PlayerController
__사용자 입력
____점프
__Animator
____달리기
__예제 코드
____PlayerController.cs
__요약
10장. GameManager
__게임플레이 루프
__싱글턴 클래스
__게임 시작
__입력 키 설정
__트리거
__게임 다시 시작
__플레이어의 시작 위치 설정
__예제 코드
__요약
11장. 레벨
__자동 생성한 레벨과 의도적으로 만든 레벨
____레벨 청크 생성
____LevelGenerator 클래스 구상
____LevelGenerator 작성
____주석 작성
__레벨 조각의 복사본 생성
__인스턴스화
__Vector3
__LevelGenerator 테스트
__레벨 확장
__예제 코드
__요약
12장. 사용자 인터페이스
__유니티 UI
__뷰
____깔끔한 뷰 UI 구성
____화면 해상도
____이벤트 인식
__버튼
____간단한 버튼의 구성
____이미지
____Button 컴포넌트
____상호작용
____버튼 액션
__Canvas를 감추거나 표시하는 방법
__참조 예외
__게임 뷰
____게임 오버
__예제 코드
__요약
13장. 콜렉터블 그리고 다음 단계
__콜렉터블
__동전 프리팹
____Collectable 클래스
__최고 점수와 데이터 유지
__Update 함수와 UI 값
__다음 단계
__예제 코드
__요약
출판사 서평
★ 이 책에서 다루는 내용 ★
■ 변수, 메소드와 C# 문법의 기초
■ 게임 아이디어를 실제 프로젝트로 바꿔줄 다양한 기술
■ 루프와 컬렉션을 효율적으로 사용해서 코드 양 축소 방법.
■ 게임 개발에 객체지향 프로그래밍의 원리 활용
■ 끝없는 레벨 생성
■ 보기 좋고 제대로 동작하는 UI 시스템의 구상과 구현
■ 다른 사용자와의 게임 공유 방법
★ 이 책의 대상 독자 ★
프로그래밍 경험이 없는 초보 유니티 개발자를 대상으로 한다. C# 스크립트나 코드를 작성하는 방법을 배워서 게임을 만들고 싶은 유니티 개발자라면 이 책이 안성맞춤이다.
★ 이 책의 구성 ★
1장, ‘숨겨진 스크립팅 능력 발견과 개발 환경 준비’에서는 유니티 스크립트 작성에 첫 발을 들이면서 느낄 수 있는 마음의 부담을 덜어준다.
2장, ‘유니티 스크립트의 구성 요소’에서는 첫 번째 실행 코드를 만들어봄으로써 코드 작성 기술을 향상하는 데 도움을 준다.
3장, ’변수 탐구’에서는 C# 변수를 만들고 사용하는 방법과 유니티 Inspector에서 변숫값을 수정하는 방법을 배운다.
4장, ‘메소드 탐구’에서는 메소드 안에서 쓰이는 코드 블록과 변수의 중요성을 이해할 수 있도록 메소드의 개념과 활용 방법을 자세하게 살펴본다.
5장, ‘리스트, 배열, 딕셔너리’에서는 다양한 값을 한 번에 저장할 수 있는 리스트, 배열, 딕셔너리 같은 조금 더 복잡한 개념을 알아본다.
6장, ‘루프’에서는 유용한 작업을 할 수 있게 지정한 코드를 반복해서 실행하도록 유니티에 ‘요청’하는 방법을 살펴본다.
7장, ’변수와 메소드를 담는 객체’에서는 코드를 체계적으로 구성하는 방법과 객체지향 프로그래밍이라는 주제를 자세히 알아본다.
8장, ‘아이디어에서 개발에 이르는 과정’에서는 아이디어를 코딩 직전 단계의 프로젝트로 만드는 방법과 복잡한 메카닉을 작게 쪼개는 방법을 배운다.
9장, ’첫 게임을 향한 출발’에서는 아이디어를 실제 유니티 프로젝트로 만든다.
10장, ’GameManager’에서는 싱글턴 기법의 기초와 함께 게임플레이 루프를 사용해서 작업하는 방법을 알아본다.
11장, ‘레벨’에서는 다시 사용할 수 있는 레벨의 조각을 만드는 방법과 레벨 조각을 사용해서 끝없이 플레이할 수 있는 게임을 만드는 방법을 살펴본다.
12장, ‘사용자 인터페이스’에서는 게임의 사용자 인터페이스를 구성하고 구현하는 방법을 설명한다.
13장, ‘콜렉터블과 다음 단계’에서는 콜렉터블과 함께 유니티 세션 중에서 데이터를 저장하는 방법을 중점적으로 알아본다.
기본정보
ISBN | 9788960779358 | ||
---|---|---|---|
발행(출시)일자 | 2016년 11월 30일 | ||
쪽수 | 264쪽 | ||
크기 |
189 * 236
* 19
mm
/ 633 g
|
||
총권수 | 1권 | ||
시리즈명 |
acorn+PACKT 시리즈
|
||
원서명/저자명 | Learning C# by Developing Games with Unity 5.x/Greg Lukosek | ||
이 책의 개정정보 |
새로 출시된 개정판이 있습니다.
개정판보기
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립