본문 바로가기
-- 비엘북스의 책 --/. C# 초보자를 위한 유니티

C#초보자를 위한 유니티 게임개발 스타트업

by vielbooks 2019. 5. 29.

 

책소개

이 책은 C#을 기반으로 유니티로 게임을 개발해보고 싶은 분들에게 시작으로 안내하는 최고의 게임개발 입문서이다. C#의 기초구문이 유니티에서 적용되는 결과는 보여주고 이를 기반으로 유니티와 연계된 C#의 초급코딩 과정을 배우게 됩니다. 이러한 과정을 순차적을 거치면서 초간단 게임에서부터 난이도 높은 3D 액션게임까지 직접 제작해볼 수 있다. 이유도 모르는 무작정 따라하기 식의 과정이 아니라, 각 챕터가 시작될 때 어떠한 흐름과 알고리즘으로 제작되는지에 대한 개발진행 플로우를 보면서 차근차근 따라할 수 있도록 C# 초보자의 눈높이에 맞춰서 정리했다. 게임개발을 처음해보는 C# 초보자들을 위한 최고의 입문서이다.

C#과 유니티를 기반으로 저자가 직접 개발한 3개의 게임 「두더지게임, MollyMolly」, 「러너게임, BoxRunner」, 「3D 액션게임, AngryBut」에 대한 제작과정을 상세하게 따라하며 완성할 수 있는 튜토리얼로 구성되었다. 또한 게임의 개발단계에 따른 소스파일 제공하고 있어서 초보자들이 저지르기 쉬운 실수와 오류를 바로잡을 수 있도록 저자의 예제파일이 제공됩니다. 유니티의 4.3을 기반으로 작성되어 유니티에서 가장 관심이 높은 [메카님]과 [유니티2D]를 활용한 튜토리얼이 포함되어서 유니티를 더 폭넓게 사용할 수 있도록 구성되어 있다. 유니티에서 제공하는 기본GUI 활용 뿐 아니라 유저들에게 높은 인기를 얻고 있는 NGUI의 실전활용 내용이 포함되어 있어서 입문서임에도 불구하고 충분히 실무에 가까운 경험을 얻을 수 있다.

 

 

목차

Part01_1 유니티. 무엇에 쓰는 물건인고?
1. 유니티가 뭔가요?
1-1. 기존의 게임개발 방식
1-2. 그렇다면 유니티는?
1-3. 유니티를 이용한 1인 개발 플로우

2, 모바일 게임개발에 유니티를 써야 하는 이유
2-1. 우리는 여러가지 언어를 공부할 시간이 없다
2-2. 실제로 동작되는 게임화면을 보며 작업이 가능한 비주얼엔진
2-3. 많이 배우지 많아도 실제로 금방 제작을 체험할 수 있다.
2-4. 외부에서 제작된 리소스의 활용이 간단하다
2-5. 이미 많은 유저들이 사용하는 있는 유니티

3. 우리가 만들 게임과 이 책의 전체 과정
3-1. 이 책의 방향
3-2. 이 책의 초반 구성
3-3. 두더지게임 「MollyMolly」 만들기
3-4. 2D 러닝게임 「BoxRunner」 만들기
3-5. 「AngryBot」의 그래픽리소스를 재활용한 「AngryBut」 만들기

Part01_2 유니티 인터페이스
1. 일단 설치부터 해보자
2. 유니티의 화면구성
3. 유니티의 가장 기본적인 요소들

Part01_3 유니티로 게임은 어떻게 만드나요?
1. 드래그앤드롭만으로 프로젝트 만들기
2. 프로젝트 빌드하기

Part02_1 유니티의 C#스크립트 도전하기!
1. C# 스크립트, 무엇으로 이루어졌나
1-1. C#과 자바스크립트
1-2. 스크립트를 담는 그릇, 클래스(Class)
1-3. 스크립트의 가장 중요한 두 요소, 변수와 함수
1-4. 개발의 가장 기본적인 부품이 되는 요소, 변수.
1-5. 부품을 움직이게 하는 동력, 함수.

Part02_2 유니티의 C#스크립트 도전하기!
2. 일단 따라서 코딩해보기
2-1.우리의 첫 스크립트- Basic_Move.cs
2-2.가는 쪽을 쳐다보며 이동해보자 - Move.cs
2-3. 16개의 블록을 떨어트려라, Manager.cs
2-4. 내 결과를 보여줘!
2-5. GUI버튼과 씬이동! SceneMove .cs
2-6. 장풍발사!! Shot.cs

Part03_1 첫번째, 「두더지잡기」 게임 만들기
1. 두더지게임 제작계획
1-1. 게임 미리보기
1-2. 두더지 게임의 초간단기획서 작성
1-3. 게임의 플로우차트와 레이아웃 구성
1-4. 게임에 사용되는 그래픽 리소스 구성
1-5. 개발할 리스트업과 제작 순서정하기

2. 구멍 만들기
2-1. 구멍의 상태머신 선언하기
2-2. 구멍의 매터리얼만들기
2-3. 2D애니메이션 이미지 묶음, 변수선언하기
2-4. 상태머신에 따라 애니메이션 플레이하는 함수 선언하기
2-5. 애니메이션 스피드 조절하는 구문넣기

3. 구멍의 다양한 기능 업그레이드하기
3-1. 두더지를 Catch하라! - OnMouseDown();
3-2. 사운드를 발생시켜라. - audio.Play();
3-3. 착한두더지와 나쁜두더지 만들기

4. 게임매니져 만들기
4-1. 필요한 변수 선언하기
4-2. 필요한 함수 하나씩 만들기

5. 결과화면 구성하고 빌드하기
5-1. GUI배치하기
5-2. 결과화면 GUI 배치하기
5-3. GUI들 게임매니져와 연결하고 마무리하기
5-4. 리플레이버튼과 최종 빌드셋팅

Part03_2 두번째, 횡스크롤 러닝게임 「BoxRunner」 만들기
1. 박스러너제작 계획 및 셋팅.
1-1. 게임 미리보기.
1-2. 러닝게임 박스러너의 초간단 기획문서
1-3. 박스러너의 플로우챠트와 씬 레이아웃 
1-4. 필요한 게임 리소스 구성.
1-5. 게임의 제작 순서정하기
1-6. 제작을 위한 리소스 Import 하기

2. 배경 만들기
2-1. 원거리 배경 만들기
2-2. 근거리 배경 무한 알고리즘 만들기
2-3. 근거리 배경 다양한 패턴으로 등장시키기
2-4. 근거리 배경에 코인추가하기

3. 플레이어 Boxman 만들기
3-1. 기본적인 플레이어의 State머신. - Scroll_Mapping.cs
3-2. Trigger를 이용해 동전처리와 죽는 처리하기
3-3. 각각의 상황에서 효과음 발생시키기
3-4. 유니티 2D를 이용해 2D 애니메이션 만들기.(상황에 따라 생략가능)
- 2D 스프라이트 애니메이션을 anim 파일로 만들기
- 메카님을 이용해 anim 파일들을 연결하는 애니메이션상태머신 만들기

4. 게임스러워보이는 특수효과 만들기
4-1. 사운드 플레이어 추가하기
4-2. 카메라 줌인 줌아웃 만들기
4-3. 주인공의 뒤에 달릴 트레일 이펙트 만들기
4-4. 페이드인 페이드아웃 만들기

5. GUI 만들고 게임매니져로 연결하기
5-1. 메인 플레이 화면의 GUI 만들기 
5-2. 결과 화면의 GUI 만들기 
5-3. GUI 컨트롤하는 게임매니져 만들기 
5-4. SendMessage 이용해 다른 컴포넌트의 함수 실행시키기

6. 인트로씬 만들어 최종 모바일용으로 빌드하기
6-1. 인트로씬 제작하고 GUI배치하기
6-2. 모바일용 Input 인식하는 코드 추가하기

Part03_3 세번째, 3D 액션게임 「AngryBut」 만들기
1. AngryBut 기획서 살펴보기
1-1. 게임 미리보고 파일들 준비하기.
1-2.게임의 플로우차트 구성
1-3.게임 제작 프로세스 미리보기
1-4. 게임에 사용되는 그래픽 리소스 구성
1-5. 프로젝트 준비를 위한 셋팅하기.

2. 다양한 기능의 플레이어 만들기
2-1. 주인공의 움직임 만들기
2-2. 움직임에 따라 3D애니메이션 동작하게 하기
2-3. 미사일 발사기능 만들기
2-4. 마우스로 커서 만들고 클릭방향으로 발사하는 미사일 만들기
2-5. NGUI를 이용해 체력게이지와 이름표기할 GUI 만들기
2-6. 주인공을 따라다니는 카메라 만들기

3. 플레이어를 추격해 공격하는 적군 만들기
3-1. 주인공을 추적할 적의 상태머신 파악
3-2. 메카님을 이용해 기본적인 애니메이션 스테이트 구성하기
3-3. 주인공 추적 및 공격기능 만들고 메카님 루핑구조 만들기
3-4. 적군 라이프게이지 만들고 맞을 때의 각종 이펙트 추가하기
3-5. 완성된 Dude를 기반으로 다른 몬스터도 만들어 배치하기

4. GUI와 PlayManager 만들기
4-2. NGUI를 이용하여 표기될 GUI 및 최종 결과화면 만들기
4-3. 플레이매니져 제작하고 게임에서 사용할 기능들 제작하기
4-3. 플레이매니져 동작시키기
4-4. 배경음악과 오프닝사운드 셋팅하기

5. 타이틀 씬 만들기
5-1. 필요없는 것들 삭제하고 GUI 셋팅하기
5-2. 이름 입력할 수 있는 Input 박스 만들기
5-3. 스크린 사이즈별 대응과 배경씬 연출하기
5-4. Best Score를 표기하기 위한 준비하기

6. PlayerPrefs를 이용한 Save & Load
7-6-1. PlayerPref의 개념이해.
7-6-2. TitleManager 구성하기
7-6-3. PlayManager 스크립트에 기능 추가하기
7-6-4. 최종 점검 및 빌드하기

Part04_유니티로 게임 만들기 그 이후
1. 지금까지 우리가 만든 과정 되돌아보기
1-1. 두더지게임 몰리몰리를 만들며
1-2. 박스러너를 통해 배운 기능들
1-3. Angry But을 제작하며 익힌 기능들

2. 앞으로 또 뭘 어떻게 공부해야 할까
2-1. 이 책의 프로젝트의 리소스를 바꿔 다시 제작해보기
2-2. 웹에 있는 다양한 예제들과 개발자들의 글 확인하기
2-3. 유니티의 기능들을 소개해주는 책과 라이브러리 활용하기
2-4. 새로운 본인만의 프로젝트 시작하기
2-5. 고수들과 함께 유니티로 작업해보기

Appendix_유니티의 다른 기능등
1. Asset Stor
1-1. Asset Store란?
1-2. iTween
1-3. NGUI
1-4. CartoonFX
1-5. Micheal O의 배경오브젝트들
1-6. Asset Store 할인행사

2. Profiler
3. Image Effector
4. Asset Server

 

 

상세 이미지

 

저자 소개

저자 : 지국환

서울시립대 공업디자인과 출신으로 게임과는 전혀 무관한 미대전공생.
졸업 후 NHN에서 모션 그래픽 디자이너로 근무하던 중 어린 시절부터 좋아했던 게임 제작을 위해 퇴사를 결심하고, 퇴사 후 게임업계에서 프리랜서로 활동하며 독학으로 프로그래밍을 공부했다. 모비딕스에서 출시한 "헬리벨리" 를 시작으로 모바일게임 개발에 입문했으며, 이후 공모전을 계기로 유니티코리아에 입사했다. 현재는 유니티 에반젤리스트로 삼성, CJ, NHN, 네오위즈 등의 회사들과 여러 학교에서 유니티 강연과 게임제작 워크샵을 진행했으며, G-Star, KGC 등의 국내 게임업계 행사에서 유니티의 신기능 및 샘플을 소개하는 역할을 맡고 있다. 취미로 인디게임 스튜디오 "문틈"을 운영 중이며, 개인 블로그를 통해 업계에서의 다양한 경험을 다이어리 형식으로 공유하고 있다.

저자 홈페이지 : http://www.jiguk.co.kr

 

 

추천평

이 책에는 '게임을 만드는 재미'를 빨리 느끼게 하기 위해서, 간단하면서 이해하기 쉬우며 핵심을 보여주는(그러면서도 재미를 놓치지 않은) 작고 섬세한 게임제작 예제가 여러 개 수록되어 있습니다. 이것은 좋은 책이 되기 위한 커다란 장점이면서 '누구나 쉽게 게임을 만들 수 있다'는 유니티3D의 철학과도 가장 잘 어울리는 책이라 할 수 있습니다. 유니티3D를 이용해서 게임을 만들어 보고 싶으신 분들은 이 책을 읽고 예제를 따라 하는 것만으로 게임 제작의 중요한 축을 이해하게 될 것이며, 앞으로 공부할 방향까지도 알게 될 것입니다.
정종필 「Ndoors」 / Technical Art Director

이 책은 자칫 지루할 수 있는 유니티의 기능들을 재미있고 다양한 예제를 이용해서 독자들이 직접 제작하며 경험하게 하는 방식으로 집필되었습니다. 하나의 챕터에 있는 작은 목표부터 시작해서 한 계단씩 올라가는 과정에서 독자들은 성취감을 느끼고 게임개발에 대한 자신감을 가지게 될 것입니다. 
William Yang 「Unity Technologies Korea」 / Country Manager. 유니티 코리아 대표

게임개발의 메카니즘을 빠르고 쉽게, 초보자들도 충분히 이해하며 작업할 수 있도록 구성한 것에 놀랐습니다. 이 정도라면 프로그래밍을 처음 사람들도 금방 따라할 수 있겠다는 생각이 들었습니다. 유니티로 프로그래밍을 처음 접해 본 입문자에게 추천하며, 이제 유니티를 시작하려는 다른 개발자들도 한번쯤 읽고 따라 해볼 만한 내용으로 구성된 좋은 책입니다.
하나용 「링크투모로우」 / '윈드러너', '캔디팡', '카운팅 히어로', '파티클 뮤직'의 개발자

유니티3D를 통한 게임 개발이 어려운 것이 아니라는 것을 아주 잘 보여주는 책인 것 같습니다. 게임개발을 시작하고 싶은데 어떤 책이 좋은지 물어보신다면 주저하지 않고 이 책을 추천해 드립니다. 그래픽 아티스트, 게임 기획자 등 처음 프로그래밍을 도전하는 분들에게도 좋은 길잡이가 될 것 같아서 매우 반갑습니다. 유니티 입문자들의 최강의 비법서가 되기를 바랍니다.
김동규 NHN을 통해 전 세계에 퍼블리싱되고 있는 '언데드 슬레이어' 의 1인 개발자

기획자 출신의 개발자도 쉽게 따라할 수 있는 다양한 예제와 실전 프로젝트, 그리고 다른 책들에서는 볼 수 없는 깔끔하고 담백한 그래픽 리소스를 보면서 저도 다음 프로젝트는 유니티3D로 개발해야 하지 않을까 하는 심각한 고민에 빠져들게 합니다. 
장석규 「도톰치게임즈」 / 모바일게임 '리버스 오브 포춘' 시리즈의 1인 개발자

10년 가까이 디자이너들에게 프로그래밍을 가르치면서 가장 어려웠던 점은 디자이너들이 공학적 사고의 생경함을 견디지 못한다는 사실입니다. 이런 어려움을 극복하도록 도와주는 중요한 조건이 있는데, 디자인 교육을 받은 사람이 그들이 배워 온 교수법대로 프로그래밍을 가르치도록 하는 것과 이미지를 활용해서 영상 작품을 만들 듯이 프로그래밍을 훈련하는 것입니다. 이 책은 이 두 가지 조건을 완벽하게 갖춘 책입니다. 
양민하 미디어 아티스트 / 서울시립대학교 산업디자인과 교수

이 책은 디자이너로 시작한 유니티 1인 개발자가 작은 게임들을 개발하면서 겪었던 다양한 팁들은 유니티 초보자들이 어렵게 느꼈던 프로그래밍의 장벽을 낮게 느낄 수 있도록 해줄 것입니다. 저자의 유니티 인생의 모든 것들을 한 번에 담은 책으로, 유니티에 입문하시는 분들이나 인디 개발자 분들에게 단계적으로 유니티를 이해하고 게임을 개발하는데 많은 도움이 될 것입니다.
이호민 「오큘러스VR 코리아」 /시니어 소프트웨어 엔지니어, 전 유니티 기술팀장

댓글