도서상세
장바구니에 상품을 담았습니다.
바로가기
  1. NEW
  2. 도서정가제
  3. 소득공제
33,000원
29,700원
10%
배송안내
10/19 월요일 오전 9시까지 주문하면 10/19 월요일 발송
최대 적립 포인트
1,950 원
  • 구매 적립
    적립금 안내
    • 상품 적립금
    • 상품 적립금은 고객님이 웬디북에서 상품을 구매하실 경우 이에 대한 마일리지 개념으로 구매금액의 일부를 적립해 드리는 제도이며 사용은 예치금과 같이 현금처럼 사용가능하십니다.
    • 멤버십 적립금
    • 멤버십 적립금은 고객님의 멤버십(고객)등급에 따라 도서 구매액의 1 ~ 4%에 해당하는 적립금이 추가로 적립되며 적립금은 다음 주문시 현금처럼 사용이 가능합니다.
    • 다만 적립금은 예치금과는 달리, 현금으로 환불하실 수 없고 적립금의 적립일로 부터 12개월 이내에 사용하시지 않으면 자동으로 소멸됩니다.
  • 상품 적립금
    1,650원
  • 리뷰 적립
  • 최대 리뷰 적립금
    300원
29,700원
· 쿠폰 및 적립금은 결제 시 적용해 주세요
바로구매
장바구니 담기
이 책을 구입하신 분들이 산 책
상세 이미지 더보기
상세 이미지
목차 더보기
목차
옮긴이 머리말 viii
시작하며 x
이 책에 대하여 xi

PART 1 게임을 만들기 위한 준비

CHAPTER 1 게임 개발과 유니티 알아보기 2
1.1 게임 개발의 시작은 지식과 아이디어 2
1.2 게임 개발에 필요한 것 생각해보기 4
1.3 유니티의 기초 6
1.4 유니티 설치하기 7
1.5 유니티로 만드는 게임의 구성 살펴보기 18

CHAPTER 2 유니티로 첫 게임 만들기 20
2.1 프로젝트 만들기 20
2.2 게임 화면 만들기 27
2.3 플레이어 캐릭터 만들기 42

CHAPTER 3 스크립트 작성하기 55
3.1 스크립트로 게임 오브젝트 조작하기 55
3.2 C# 프로그래밍의 기초 62
3.3 PlayerController 스크립트 살펴보기 68

PART 2 사이드뷰 게임 만들기

CHAPTER 4 사이드뷰 게임의 기본 시스템 만들기 80
4.1 사이드뷰 게임 80
4.2 샘플 게임 실행해보기 81
4.3 게임 스테이지 만들기 84
4.4 게임 오브젝트 재사용하기 89
4.5 플레이어 캐릭터 만들기 95

CHAPTER 5 버튼과 UI 만들기 123
5.1 게임 UI 만들기 123
5.2 게임 재시작 기능 만들기 136
5.3 게임 실행하기 141

CHAPTER 6 게임에 화면과 기능 추가하기 143
6.1 버전 업 내용 요약 143
6.2 타이틀 화면 추가하기 145
6.3 스크롤 화면 만들기 155
6.4 시간 제한 기능 만들기 164
6.5 아이템과 점수 만들기 173
6.6 결과 화면 추가하기 185

CHAPTER 7 게임에 장치 추가하기 192
7.1 대미지 블록 만들기 192
7.2 이동 블록 만들기 201
7.3 이동 블록과 연동되는 스위치 만들기 209
7.4 고정 포대 만들기 213
7.5 돌아다니는 적 캐릭터 만들기 220
7.6 게임에서 사운드 재생하기 226
7.7 Input System을 사용한 입력 조작 231

PART 3 탑뷰 액션 게임 만들기

CHAPTER 8 탑뷰 액션 게임의 기본 시스템 만들기 250
8.1 예제 게임 실행해보기 250
8.2 지금부터 만들 탑뷰 게임에 대해 알아보기 252
8.3 타일맵으로 게임 화면 만들기 255
8.4 플레이어 캐릭터 만들기 270

CHAPTER 9 탑뷰 액션 게임 업그레이드하기 305
9.1 씬에서 씬으로 이동하기 305
9.2 배치 아이템 만들기 318
9.3 적 캐릭터 만들기 326
9.4 UI와 게임을 관리하는 시스템 만들기 339

CHAPTER 10 탑뷰 액션 게임 완성하기 368
10.1 타이틀 화면 추가하기 368
10.2 게임 데이터 저장하기 376
10.3 보스 스테이지 만들기 389
10.4 여러 BGM과 SE 적용하기 415

APPENDIX 게임 개발을 위한 수학 기초

APPENDIX A 게임에서 사용되는 삼각함수 428
A.1 삼각함수란? 428
A.2 각도로 좌표 구하기(Sin과 Cos을 사용해 벡터 구하기) 430
A.3 좌표에서 각도 구하기(Atan2 메서드 사용하기) 431
A.4 자주 쓰는 삼각함수 메서드 432

찾아보기 436
저자 소개
저자 : STUDIO SHIN
1991년부터 20년간 게임 제작사에서 가정용 게임과 스마트폰 앱 디자이너, 기획자, 프로그래머 등 다양한 직무를 맡았다. 2011년에 프리랜서로 독립한 이후로는 게임 및 업무 앱을 개발하고 개발 서적도 집필하고 있다. 나라예술단기대학과 오사카 어뮤즈먼트 미디어 전문학교 강사다.

역자 : 윤준
숭실대학교 미디어학부를 졸업하고 동 대학원 모바일 랩에서 미디어 공학을 전공했다. 현재는 프런트엔드 엔지니어로 활동한다. 《따라 하며 배우는 유니티 게임 개발》(2025), 《초보자를 위한 유니티 입문》(2023), 《초보자를 위한 언리얼 엔진 4 입문》(2020), 《데이터 전처리 대전》(2019), 《초보자를 위한 유니티 입문(개정판)》(2019), 《만들면서 배우는 언리얼 게임 프로그래밍》(2015), 《사전처럼 바로 찾아 쓰는 HTML5 핵심 API》(2011)를 번역했다.
저자 소개 더보기
출판사 서평 더보기
출판사 서평
유니티 6로 게임 하나를 완성하며 배우는 2D 게임 개발 입문서

게임을 만들고 싶지만 프로그래밍 경험이 없어 망설이고 있나요? 유니티를 설치했지만 낯선 화면과 기능 앞에서 어디서부터 시작해야 할지 막막한가요? 이 책은 게임 개발도, 유니티도, 프로그래밍도 처음인 사람을 위한 입문서입니다. 복잡한 기능을 먼저 설명하기보다 실제 게임 하나가 만들어지는 순서를 따라가며 필요한 내용을 그때그때 익힙니다.

1부에서는 게임 개발의 기본 개념과 유니티 사용법, C# 스크립트 작성법을 살펴봅니다. 2부에서는 사이드뷰 액션 게임 'JEWELRY HUNTER'를 만들며 스테이지와 캐릭터, 아이템, 점수, 여러 게임 장치와 사운드를 구현합니다. 3부에서는 탑뷰 액션 슈팅 게임 'DUNGEON SHOOTER'를 만들며 타일맵, 공격과 아이템, 적, 화면 전환, 데이터 저장, 보스전, BGM과 효과음까지 다룹니다. 기능 하나를 배울 때마다 게임이 조금씩 달라지고, 그 변화가 쌓여 하나의 완성된 게임이 됩니다.

이번 3판에서는 유니티 6 환경에 맞춰 실습 전반을 다시 정비했습니다. 특히 입력 조작 부분에 Input System을 반영해 최신 유니티 환경에 맞게 실습할 수 있도록 개정했습니다. 또한 게임 속 이동 방향이나 각도를 이해하는 데 필요한 '게임에서 사용되는 삼각함수'를 부록으로 수록해 실습 중 필요한 수학 개념도 함께 확인할 수 있습니다.

처음부터 모든 것을 알 필요는 없습니다. 캐릭터를 움직이고, 아이템을 놓고, 적을 만들고, 게임의 규칙을 하나씩 더하다 보면 자연스럽게 유니티와 2D 게임 제작의 기본을 익히게 됩니다. 두 개의 게임을 완성한 뒤에는 배운 기능을 바꾸고 더하면서 자신만의 게임으로 발전시켜보세요.

책 속에서

유니티에서 씬을 사용하려면 빌드에 등록해야 합니다. [File] [Build Profiles]를 선택합니다. / 유니티로 만든 게임을 다양한 환경으로 배포하기 위해 설정할 수 있는 ‘Build Profiles’ 창이 열립니다. 왼쪽의 [Scene List]를 선택하고 씬 파일을 'Scene List' 영역으로 드래그 앤 드롭합니다. 또는 [Add Open Scenes] 버튼을 누르면 현재 열려 있는 씬이 추가됩니다. 이렇게 하면 새로운 씬을 사용할 수 있습니다. 필요 없는 씬은 Scene List에서 선택한 후 키보드의 Delete 키를 눌러 삭제할 수 있습니다. (41쪽)

유니티에는 게임 오브젝트를 구별하는 시스템이 몇 가지 있습니다. 이번 예제에서는 지면과 블록을 그룹으로 나눠 플레이어가 올라갈 수 있는 발판으로 구분하도록 하겠습니다. 구분이 필요한 이유는 플레이어가 점프할 때 '지면 위에 있을 때만 점프할 수 있다'는 조건을 처리하기 위해서입니다. / 이를 위해 레이어(layer)라는 게임 오브젝트를 그룹으로 다루는 기능을 활용해 구분하겠습니다. 바닥과 블록을 Ground라는 이름으로 그룹화해 플레이어 캐릭터가 Ground 레이어에 접촉할 때만 점프할 수 있도록 합니다. (86쪽)

Box Collider 2D와 Circle Collider 2D를 어태치해 Box Collider 2D의 범위를 바닥보다 조금 위쪽에 배치합니다. Box Collider 2D는 '플레이어 캐릭터가 위에 올라타기 위한 충돌 판정', Circle Collider 2D는 '지면과 접촉하기 위한 충돌 판정'이 됩니다. 지면과의 접촉 판별을 원으로 하는 이유는 밀어서 움직일 때 되도록 저항 없이 매끄럽게 이동시키기 위해서입니다. / Rigidbody 2D 컴포넌트도 어태치해 낙하나 플레이어 캐릭터가 밀 수 있도록 합니다. 밀었을 때 회전하는 동작이 일어나지 않도록 Rigidbody 2D 컴포넌트의 Freeze Rotation의 Z를 체크하고 Mass값을 25로 설정합니다. Mass는 질량(무게)입니다. 25 정도로 설정하면 무거운 물건을 미는 느낌을 낼 수 있습니다. (195쪽)

플레이어 캐릭터를 Input System으로 조작할 수 있도록 설정합니다. 이번 예제에서는 Input Action 에셋과 Player Input 컴포넌트를 사용해 캐릭터를 움직일 수 있게 합니다. Player 프리팹을 열고 Player Input 컴포넌트를 추가합니다. / Actions 항목에 Assets 폴더의 InputSystem_Actions가 설정되어 있는지 확인합니다. Default Map은 [Player]로, Behavior는 [Send Message]로 설정합니다. (242쪽)

대기 애니메이션을 만들어 보스 캐릭터의 게임 오브젝트로 사용합니다. Boss_0과 Boss_1을 씬 뷰에 드래그 앤 드롭해 게임 오브젝트와 애니메이션 데이터를 생성합니다. 이때 대기 애니메이션 클립 이름은 BossIdle로 지정합니다. 또한 배치한 보스 캐릭터 게임 오브젝트의 이름은 Boss, 애니메이션 컨트롤러의 이름은 BossAnime으로 변경합니다. / Sprite Renderer의 Order in Layer를 2로 설정하고 Circle Collider 2D를 어태치합니다. [Enemy] 태그와 [Enemy] 레이어를 생성해 적용합니다. Enemy 레이어는 이후 구현할 ‘보스가 발사하는 총알’의 충돌 판정 설정에 사용합니다. (392쪽)

일반적으로 게임 오브젝트는 씬이 바뀔 때마다 삭제되고 새로 생성됩니다. 씬이 바뀌어도 BGM을 계속 재생하려면, BGM을 재생하는 게임 오브젝트를 삭제하지 않고 유지해야 합니다. 이때는 DontDestroyOnLoad 메서드를 사용합니다. 이 메서드의 인수에 지정한 게임 오브젝트는 씬이 바뀌어도 삭제되지 않습니다. / 게임이 실행되고 맨 처음 SoundManager가 씬에 불리면 soundManager 변수는 반드시 null입니다. 그때 DontDestroyOnLoad 메서드를 호출해 게임 오브젝트가 삭제되지 않게 하고, soundManager 변수에 this(자기 자신)를 저장합니다. soundManager 변수는 static 변수이므로 씬이 바뀌어도 값이 유지됩니다. (419쪽)
리뷰(0)
0 / 5.0
리뷰 작성
•
리뷰를 작성하시면 소정의 적립금을 드립니다.
•
도서의 첫번째 리뷰부터 10번째 리뷰까지는 기본 적립금의 2배를 적립해 드리며, 이후 리뷰부터는 기본 적립금이 적립됩니다.
리뷰 혜택 및 유의사항
배송방법

배송은 CJ대한통운(전화 : 1588-1255)을 이용해서 보내드리고 있습니다.

3만원 이상 구매시 무료배송 가능하며, 3만원 미만의 경우 2500원의 배송비가 발생합니다.

배송기간

15시 이전에 입금확인된 주문까지는 당일날 발송하며, 일반적인 경우 다음날 책을 받아보실 수 있습니다.

주말 또는 공휴일이 있거나 시기적으로 배송이 많은 기간인 경우는 지역에 따라 1~2일이 더 소요될 수 있습니다.

주문 후, 5일이 경과해도 책이 도착하지 않는 경우에는 웬디북 고객센터(전화 : 1800-9785)로 전화를 주시거나 고객센터 > 1:1 문의를 통해 문의글을 남겨주시면 확인 후 신속히 조치하도록 하겠습니다.

묶음배송

묶음배송 원하시는 모든 주문서의 상태가 "입금대기" 또는 "결제완료" 상태일 경우에만 처리가 가능하며, 고객센터 > 1:1 문의에서 신청 할 수 있습니다.

반품안내

변심반품의 경우 도서주문일로부터 15일이내에 반품접수가 가능하며, 반품 배송비는 고객님 부담입니다.

부분 반품의 경우, 3만원 이상 주문으로 무료배송 받았으나 일부 상품 반품으로 주문금액이 3만원이 안될 경우, 이전 주문의 배송비를 포함한 왕복 배송비를 부담하셔야 합니다.

반품절차는 고객센터의 반품교환신청 페이지에서 신청을 해주시면 웬디북 고객센터에서 지정택배사에 회수요청을 하고, 방문한 택배기사님을 통해 반품도서를 보내주시면 됩니다.

운송 중 책이 손상되지 않도록 포장을 해주신 후, 포장 겉면에 “반품도서”라고 기재해주시기 바랍니다. 회수된 상품은 요청해주신 환불방법에 따라 적립 또는 환불 진행해드립니다.

(특히 팝업북 등은 조그만 충격에도 책이 손상될 수 있으므로 주의해 주시기 바랍니다.)

• 반품이 불가한 경우
  • 1. 고객에게 책임 있는 사유로 상품(띠지 또는 더스트커버 포함)이 멸실 또는 훼손된 경우
  • 2. CD 나 소프트웨어 포함, 포장이 되어 있는 모든 상품의 포장 개봉
  • 3. 만화책 및 단시간 내에 완독이 가능한 잡지
  • 4. 상품과 함께 발송된 추가사은품이 분실되거나 훼손된 경우
  • 5. 고객의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
  • 6. 명시된 반품가능 기한이 지난 경우
  • 7. 세트상품중 일부 반품
교환안내

파본도서 혹은 오배송으로인한 교환은 도서주문일로부터 15일 이내에 신청하셔야 하며 이 경우 배송비는 웬디북에서 부담합니다.

(단, 팝업북과 CD가 세트인 책은 책의 특성상 7일 이내에 해주셔야 합니다.)

교환절차는 고객센터의 반품교환신청 페이지에서 신청을 해주시면 웬디북에서 새 책을 보내드리고 새 책을 받으실 때 교환도서와 맞교환 하시면 됩니다.

교환은 동일도서에 한하며, 다른 도서로 교환은 불가합니다.

운송도중 책이 손상되지 않도록 포장을 해주신 후, 포장 겉면에 “반품도서”라고 기재해주시기 바랍니다.

(특히 팝업북 등은 조그만 충격에도 책이 손상될 수 있으므로 주의해 주시기 바랍니다.)

• 교환이 불가한 경우
  • 1. 고객에게 책임 있는 사유로 상품이 멸실 또는 훼손된 경우
  • 2. 포장 상품의 포장을 해체한 경우
  • 3. 고객의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
  • 4. 물품 수령 후, 15일이 경과한 경우
  • 5. 동일상품으로 교환하신 후, 다시 교환하시고자 할 경우 (이 경우에는 환불처리 해드립니다.)
신고하기
신고사유 선택
도서 입고 알림 신청
입고알림 신청하셨습니다.
입고시 {{tel}}로 문자 발송됩니다

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

관심 시리즈 신간 알림 신청
시리즈명:{{ series_name }}
관심 시리즈 신간 입고 알림 신청하셨습니다.
입고시 {{ tel }}로 문자 발송 또는
앱푸시, 이메일 등으로 알려드리겠습니다.

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

입고 알림 수신 방법 변경은

마이 페이지 > 알림 > 알림 설정에서 확인해 주세요.

푸시 알림이 오지 않을 시,

스마트폰 설정 > 알림 > 웬디북 앱 설정을 확인해 주세요

관심 작가 신간 알림 신청
작가명:{{ series_name }}
관심 작가 신간 입고 알림 신청하셨습니다.
입고시 {{ tel }}로 문자 발송 또는
앱푸시, 이메일 등으로 알려드리겠습니다.

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

입고 알림 수신 방법 변경은

마이 페이지 > 알림 > 알림 설정에서 확인해 주세요.

푸시 알림이 오지 않을 시,

스마트폰 설정 > 알림 > 웬디북 앱 설정을 확인해 주세요

{{title}}
{{content}}
{{title}}
{{content}}