이미 소장하고 있다면 판매해 보세요.
|
1장 유니티 소개
__개요 __게임 개발 배경지식 __유니티 소개 __유니티 설정 __새 2D 프로젝트 생성 __유니티 에디터 인터페이스 ____툴바 ____Scene 뷰 ____Game 뷰 __Project 브라우저 ____애셋 생성 ____애셋 검색 ____즐겨 찾는 애셋 설정 _______유니티 애셋 스토어 _______애셋 임포트 ____Hierarchy 탭 _______부모/자식 노드 _______게임오브젝트(GameObject) 생성 ____Inspector 탭 _______컴포넌트 추가 __그 밖의 뷰 ____콘솔 뷰 _______애니메이션 뷰 _______스프라이트 에디터 _______애니메이터 뷰 _______프로파일러(Profiler) 뷰 __요약 2장 씬 설정 __개요 __배경이란 __배경을 만드는 두 가지 방법 ____정적 이미지를 이용하는 방법 ________애셋 임포트 ____인스펙터에서 스프라이트 설정 _______Texture Type(텍스처 형식) _______Sprite Mode(스프라이트 모드) _______Packing Tag(패킹 태그) _______Pixels to Units(유닛당 픽셀 수) _______Pivot(중심점) _______Filter Mode(필터 모드) _______Platform Settings(플랫폼 설정) _______설정 적용 ____애셋을 게임오브젝트(GameObject)에 할당 _______툴바를 이용한 방법 _______또 다른 빠른 방법 ____게임오브젝트 인스펙터 설정 _______배경 위치 설정 _______배경 색상 설정 _______배경 겹치기 __타일셋을 이용한 배경 설정 ____이음매 없는 텍스처 ____모서리 조각 ____격자 설정 ____프리팹 만들기 __완성된 환경 ____카메라 설정 ____전경 설정 __요약 3장 캐릭터 추가 __개요 __스프라이트란 __스프라이트 만들기 ____이미지 편집 소프트웨어 ____스프라이트 시트 ____래스터(raster)와 벡터(vector) 비교 ____파일 포맷 ______스프라이트 임포트 ______스프라이트 시트 나누기 ______스프라이트 에디터 ______수동으로 나누기 ________선택 영역 추가/삭제 ________툴바 컨트롤 __자동 나누기 ______나누기 방법: Automatic ______나누기 방법: Grid __텍스처 아틀라스 ______텍스처 아틀라스란 ______스프라이트 패커 __캐릭터 추가하기 __스프라이트 렌더러 __스프라이트 애니메이션 __애니메이션 에디터 __도프시트 2D 애니메이션 __애니메이터 __요약 4장 코드 작성 __개요 __왜 코드가 필요할까 ____프로그래밍 언어 ____프로그래밍 언어의 단계 ______기계어 ______어셈블리어 ______고수준 언어 ____스크립트 언어 ____유니티스크립트, C#, Boo __코딩 기초 ____데이터 형식 ____연산자 ____함수 ____조건문 ______If…else ____주석 ____클래스 ______private과 public ____외부 라이브러리 임포트 ____코드 편집기 __Hello world __캐릭터 조작 __적 파괴 __코루틴(Coroutine) __네임스페이스 __유니티 스크립팅 레퍼런스 __요약 5장 입력장치 __개요 __입력과 출력 ____게임에서의 입력 ____게임에서의 출력 __입력 방식 __출력 방식 ______영상 출력 ______오디오 ______컨트롤러 진동 __유니티 인풋 매니저 __입력 감지 __버튼 ______OnGUI ______GUILayout.Button __게임 컨트롤 ______레이캐스팅 __요약 6장 게임 #1: 로그류 게임 __개요 __로그류 게임이란 __배경 추가 __히어로 애니메이션 ______애니메이션: 아래로 걷기 ______애니메이션: 왼쪽으로 걷기 ______애니메이션: 오른쪽으로 걷기 ______애니메이션: 위로 걷기 __이동 조작 ______이동 조작 애니메이터 ______이동 조작 스크립트 __무작위 적 생성 __적 애니메이션 __적 이동 __포탄 발사 __충돌 감지 __게임 오버 __게임 결과 __요약 7장 게임 #2: 클래식 아케이드 __개요 __스펀지 놀이 ____주인공: 스펀지 ____욕실 ____스펀지 추가 ____좌우로 움직이기 ____때 생성 ____산성 세제 생성 __게임 상태 ____생명 ____점수 ____시간 __HUD 추가 __폰트 스타일 __리소스 관리 __완성된 게임 __요약 8장 게임 #3: 무한 달리기 __개요 __무궁무진함 __날쌘 닌자 __닌자 캐릭터 ____달리기 ____Jump and Slide ____애니메이터 파라미터 추가 ____애니메이터 상태 및 트랜지션 ____이동 조작 __무작위로 반복되는 장애물 __생존 __시차 스크롤 __파티클 이펙트로 활기 불어넣기 __타이머 표시 __게임 결과 __게임을 어떻게 확장할 것인가 __요약 9장 게임 #4: 물리 놀이 __개요 __물리 기초 ____현실 세계에서 발견할 수 있는 물리 __Physics 2D __Box2D란 __물체를 만드는 과정 __시뮬레이션 ____게임 환경 ______씬 만들기 ______배경 만들기 ______전경 ______소품 추가 ____대포알 발사 ____대포알 만들기 __최종 결과 __게임을 어떻게 확장할 것인가 __요약 10장 기능 추가와 게임 배포 __개요 __오디오 ____음악 ____사운드 이펙트 __저장 및 불러오기 __트리거 만들기 __카메라 __멀티플레이어 __모두 합치기 ____첫 번째 씬 ____은하계 ____플랫폼 ____트리거 ____용암 ____UFO 빔 __오디오 추가 __카메라 __저장 및 불러오기 __에일리언 스페이스 버디 ____스페이스 버디 스크립트 ____위치 조정 __두 번째 씬 ____최종 결과 __배포 __앞으로의 여정 __방대한 리소스 ____온라인 리소스 ____오프라인 이벤트 ____무료 리소스 ____게임 호스팅 __소셜 미디어 __요약 |
|
★ 이 책에서 다루는 내용 ★
■ 유니티의 새로운 2D 기능을 활용해 2D 씬 만들기 ■ 타일셋(tileset)을 사용해 여러 종류의 정적, 동적 배경으로 씬 설정하기 ■ 간단한 애니메이션을 활용해 캐릭터에 생명 불어넣기 ■ 캐릭터를 조작하고 적을 파괴하는 기본적인 코드를 만들며 프로그래밍의 핵심 개념 이해하기 ■ 입력을 감지하는 코드를 활용해 버튼과 게임 컨트롤 만들기 ■ 클래식 아케이드 게임, 횡스크롤 게임, 로그류 게임, 물리 게임, 스페이스 버디 게임 등 5가지 실전 2D 게임 만들기 ■ 오디오와 피드백 기능을 추가하고 게임 배포하기 ★ 이 책의 대상 독자 ★ 유니티에 완전 처음인 초급자이든 이전에 유니티를 사용했지만 유니티의 새로운 2D 기능을 배우길 원하는 사람이든 자신만의 2D 게임을 만드는 것에 관심이 있다면 이 책이 도움이 될 것이다. ★ 이 책의 구성 ★ 1장, ‘유니티 소개’에서는 새 프로젝트 생성 옵션으로 2D 씬을 만들어 유니티의 새로운 2D 기능을 이용하는 방법을 살펴본다. 다음으로 유니티 에디터 인터페이스를 구성하는 여러 뷰를 살펴본다. 2장, ‘씬 설정’에서는 타일셋(tileset)을 사용해 정적, 동적 배경을 비롯한 씬을 설정할 수 있도록 2D 카메라를 다루는 방법을 배운다. 3장, ‘캐릭터 추가’에서는 스프라이트 도구로 게임에 캐릭터를 추가하는 방법을 살펴본다. 도프시트(dopesheet) 기능으로 간단히 캐릭터의 idle 애니메이션을 만들며 2D 애니메이션에 대해 배운다. 4장, ‘코드 작성’에서는 간단한 출력부터 캐릭터 조작과 적 파괴까지 기본적인 코드를 유니티 스크립트로 만들며 핵심 개념을 살펴본다. 5장, ‘입력장치’에서는 다양한 입력 종류와 상태를 배운다. 그런 후 입력을 감지하는 코드를 통해 어떻게 버튼과 게임 조작을 구현하는지 배운다. 6장, ‘게임 #1: 로그류 게임’에서는 유니티에서 유니티스크립트를 이용한 첫 2D 게임을 만드는 방법을 배운다. 이 게임은 이동, 충돌, 트리거, 상태, 포탄, 경계, 개체 무작위 생성에 대한 내용을 포함한다. 7장, ‘게임 #2: 클래식 아케이드’에서는 클래식 아케이드 게임에서, 게임 상태와 이것을 UI 구성요소를 통해 구현한 HUD를 통해 화면 상에 표시하는 방법을 배운다. 8장, ‘게임 #3: 무한 달리기’에서는 유니티의 2D 시차 스크롤에 대한 내용을 살펴보고 이를 통해 파티클 이펙트로 치장된 무한 달리기 횡스크롤 게임을 직접 만드는 방법을 배운다. 9장, ‘게임 #4: 물리 놀이’에서는 유니티의 Box2D 물리 기능을 살펴보고 현실 세계의 물리를 시뮬레이션하는 앵그리 버드(Angry Birds)와 유사한 물리 게임을 만드는 방법을 배운다. 10장, ‘기능 추가와 게임 배포’에서는 오디오, 피드백, 게임 배포를 통해 남은 여정을 준비한다. 이 책을 통해 배운 내용들을 모두 활용해서 두들 점프(Doodle Jump)와 비슷한 게임을 만든다. 마지막으로, 참고할 만한 리소스와 함께 향후 2D 게임 개발의 여정을 안내한다. ★ 지은이의 말 ★ 게임을 즐기는 많은 이들은 창조적이고 상상력이 풍부하며 기존의 게임보다 더 나은 자신만의 게임을 만들고 싶어한다. 단지 재미를 위해서든, 순수한 열정이든, 직업적인 이유든 간에 가장 대규모이고, 보상도 크며, 돈이 되는 업계 중 하나가 게임업계이다. 이런 이유로 게임 개발은 골드러시와 비슷한 점이 많다. 우리는 모두 꿈을 가지고 있지만, 오랜 시간 동안, 제대로 된 방법을 모르거나 잘못된 길로 가는 경우가 많다. 이 책의 목표는 게임 개발의 전체 그림을 보여주고, 소화하기 쉽게 작은 구성요소로 쪼개어 순서대로 차근차근 설명하여 초보자의 입문을 돕는 데 있다. 이미 유니티에 숙련된 이들은 유니티의 새로운 2D 기능들을 빠르고 쉽게 배울 수 있다. 게임을 만들 때, 항상 새로운 것을 배우고 새로운 것들을 발견하게 된다. 모든 사람들은 각자가 원하는 수많은 게임 구조와 다양한 시나리오를 만들길 원하기 때문에 책 한 권만으로 그 모든 것을 알려줄 수는 없다. 하지만 이 책에서는 다양한 장르의 게임을 통해 기초가 되는 모든 내용을 다룸으로써, 여러분이 책을 다 읽고 나면 원하는 어떤 게임이든 만들 수 있게 될 것이다. ★ 옮긴이의 말 ★ 이 책을 저술한 베니타 퍼레이라는 흔치 않은 여성 게임 프로그래머이다. 내가 13여 년간 게임 업계에서 일하는 동안 여성 프로그래머를 단 두 명만 보았을 정도로 유독 게임 분야에서 일하는 여성 프로그래머는 흔하지 않다. 일반화하기에는 무리가 있겠지만, 함께 일해본 경험으로, 여성 프로그래머들의 경우엔 공통적으로 디테일을 놓치지 않는 꼼꼼한 작업 스타일이 인상적이었다. 우연인지는 모르겠으나, 여성 프로그래머가 집필한 이 책의 내용 설명에서도 비슷한 느낌을 받을 수 있었다. 대충 설명하고 넘어갈 수도 있는 부분들을 그냥 흘려 보내지 않고 매번 자세히 짚어 설명한 지은이의 꼼꼼함 덕분에, 독자들이 각 단계를 따라오는 중간에 흐름을 놓쳐 당황하는 일은 많지 않을 것이다. 여담이지만, 나는 책을 번역할 때 원서에 나오는 외국인 이름의 한글 표기를 가능하면 본인이 발음하는 그대로 옮기려고 고민하는데, 지은이에게 연락이 가능할 때는 지은이가 해당 원어를 어떻게 발음하는지 직접 물어보기도 한다. 이 책을 옮기면서도 지은이에게 트위터를 통해 이름을 어떻게 발음하는지 조언을 구했더니 한국어판 도서 출간에 기뻐하면서 친절하게도 자신의 이름 발음을 녹음한 영상을 전달해왔다. 바로 책에서 느낄 수 있었던 그런 친절함이 그대로 묻어나온 것이다. 모바일을 비롯한 멀티플랫폼 환경이 대세가 된 오늘날, 유니티 엔진은 이미 업계의 표준이 되었다고 할 수 있을 정도로 널리 사용되고 있다. 유니티 엔진은 프로그래머는 물론이고 게임 디자이너(기획자)나 아티스트에게 그저 그들이 담당하는 작업물을 산출하기 위한 도구를 넘어서 본질적으로 ‘게임’에 접근하도록 가능성을 활짝 열어주고 있다. 이 책은 유니티 엔진을 처음 접해보는 초급자뿐 아니라, 게임 프로그래밍이 처음인 입문자, 그리고 프로그래밍을 전공하지 않은 다른 직군 종사자에게, 유니티 엔진을 이용한 게임 개발에 꼭 필요한 기본적인 게임 프로그래밍 지식을 함께 알려주는 책이다. 유니티의 모든 기능을 샅샅이 소개하는 레퍼런스가 아닌, 2D 예제 게임들을 함께 만들며 유니티 엔진을 이용한 게임 개발 방법을 익히는 입문서다. 마음을 편히 가지고 책에서 소개하는 기본 설명과 다섯 개의 예제들을 순서대로 따라가다 보면 유니티를 이용한 게임 개발의 전반적인 흐름을 충분히 익힐 수 있을 것이다. 이 책을 끝까지 보고 나면 좀 더 어려운 유니티 개발 책의 내용을 비교적 쉽게연결해 볼 수 있게 될 것이다. |