Top

[손쉽고 간편한 게임 GUI 제작을 위한]
유니티 NGUI 게임 개발

  • 원서명NGUI for Unity (ISBN 9781783558667)
  • 지은이찰스 버나도프
  • 옮긴이조형재
  • ISBN : 9788960775459
  • 25,000원
  • 2014년 04월 21일 펴냄
  • 페이퍼백 | 268쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍

책 소개

요약

유니티의 대표적 미들웨어 NGUI의 사용법을 설명한 책이다. 기본 구조와 주요 위젯을 설명하고, NGUI로 게임의 메인 메뉴를 제작하는 방법을 차례로 살펴본다. 이 과정에서 게임에 자주 사용되는 다양한 UI 요소를 직접 제작하고, UI 애니메이션, 윈도우 드래그와 스크롤, 아이템 드래그앤드롭, C# 스크립트의 활용, 로컬라이제이션 같은 중급 이상의 내용을 상세하게 설명한다. 유니티에 대한 기본 지식을 갖춘 상태에서 NGUI로 게임 GUI를 제작하려는 개발자에게 추천할 만한 책이다. 특히, NGUI를 더욱 유용하게 활용하게 위한 각종 기법을 담은 한국어판 특별부록을 수록해 새로운 앵커 시스템, 다이나믹 폰트, 컨텍스트 메뉴, 스크롤 뷰와 테이블, 새로운 드래그앤 드롭 시스템, 이벤트 리스너와 NGUITools 클래스 등의 스크립트 활용을 설명한다. 이 책의 내용을 모두 마친 뒤에 부록을 참고한다면 NGUI 활용에 도움이 될 것이다.

이 책에서 다루는 내용

■ NGUI 설치
■ 버튼, 스프라이트, 리스트, 슬라이더 등으로 구성된 기본 UI 제작
■ 클리핑, 드래그 패널, 정렬, 애니메이션, 지역화 등 UI를 강화하는 요소
■ 저장, 볼륨 조절, 애니메이션 제어, 변수 설정 등을 C# 코드로 NGUI에 적용하는 방법
■ 드래그앤드롭 기능을 갖춘 스크롤 뷰포트
■ 툴팁과 알림 메시지
■ UI 커스터마이징을 위한 스프라이트와 폰트 추가
■ NGUI 클래스를 이용한 오브젝트 제어와 충돌 처리

이 책의 대상 독자

C#에 대한 약간의 지식이 있고, NGUI를 배우고 싶어 하는 유니티 개발자에게 적합하다. 유니티 에디터, 게임오브젝트, 스크립트 생성 및 연결 등을 알고 있으면 도움이 되지만, NGUI에 대한 사전 지식은 없어도 된다.

이 책의 구성

1장, NGUI: NGUI의 기본 구조와 작업 방식을 설명한다. 유니티로 NGUI를 불러오고, 첫 번째 UI 시스템을 만들어서 기본 구조를 살펴본다.

2장, NGUI 위젯: NGUI 위젯을 소개하고, 위젯 파라미터 설정하는 방법을 설명한다. 위젯 템플릿을 이용해서 메인 메뉴를 만든다.

3장, NGUI 고급 기능: 드래그앤드롭 시스템을 설명하고 드래그 패널을 만든다. 또한 애니메이션, 스크롤 텍스트, NGUI의 지역화 시스템을 살펴본다.

4장, NGUI와 C#: C# 이벤트 함수와 코드 기반의 고급 컴포넌트를 소개한다. 툴팁과 알림 메시지를 만들고, 코드를 통해 트윈을 제어한다.

5장, 스크롤 뷰포트: 상호작용 가능한, 전체 화면 크기의 스크롤 뷰포트를 만든다. 마우스, 스크롤 바, 키보드로 화면을 스크롤 한다. 또한 드래그앤드롭이 가능한 아이템을 만드는 방법도 설명한다.

6장, 아틀라스와 폰트: 자신의 스프라이트와 폰트를 이용해서 UI를 커스터마이징하는 방법을 소개한다. 앞서 만든 메인 메뉴의 모습을 바꾸게 된다.

7장, NGUI 게임: NGUI의 종합적 활용과 함께, 적 생성, 사용자 입력 처리, 위젯 사이의 충돌체 감지와 같이 게임에서 자주 등장하는 기능을 설명한다.

한국어판 특별 부록, NGUI를 더욱 유용하게 활용하게 위한 각종 기법: 새로운 앵커 시스템, 다이나믹 폰트, 컨텍스트 메뉴, 스크롤 뷰와 테이블, 새로운 드래그앤 드롭 시스템, 이벤트 리스너와 NGUITools 클래스 등의 스크립트 활용을 설명한다.

저자/역자 소개

지은이의 말

이 책은 NGUI로 잘 알려진, Next-Gen UI 킷 초보자를 위한 책이다. NGUI라는 유니티 미들웨어에 대해서 이미 알고 있을지도 모른다. NGUI는 개발자 사이에서 쉽고 효과적인 위지윅(WYSIWYG) 작업 방식으로 이미 유명세를 타고 있다.

NGUI는 멋진 UI를 만들기 위해 필요한 다양한 컴포넌트와 스크립트를 제공한다. 그리고 작업이 대부분 유니티 에디터 안에서 이뤄진다.

독자는 이 책을 통해 흥미로운 UI 제작을 위해 필요한 지식을 얻을 수 있다. 총 일곱 개 장으로 구성된 이 책은 실용성을 지향한다. 또한 실제로 게임의 메인 메뉴를 제작하고, 간단한 2D 게임을 만드는 과정을 경험할 수 있다.

지은이 소개

찰스 버나도프(Charles Bernardoff)

프랑스 파리에 위치한 비디오 게임 학교인 디지털 예술 고등연구소(ISART Digital)에서 게임 디자인과 레벨 디자인 전공으로 학사 학위를 받았다. 4년간 사이어나이드 스튜디오(Cyanide Studio), 플레이소프트(Playsoft), 에어버스(Airbus)에서 게임 디자이너, 레벨 디자이너, C# 스크립터 등으로 일했다. 블러드볼(Blood Bowl), 던전볼(Dungeonbowl), 컨프론테이션(Confrontation) 같은 게임의 PC 버전 개발에 참여했으며, 또한 스페이스런 (3DSpace Run 3D), 오기(Oggy), 사이코 놈즈(Psycho Gnomes) 같은 유니티와 플래시 모바일 게임 개발에도 참여했다. 현재는 게임디자이너이자 유니티 개발자로 에어버스에서 PC와 모바일 기능성 게임 프로젝트에 참여하고 있다.

옮긴이의 말

2014년 현재, 유니티 테크놀로지가 밝힌 등록된 개발자의 수는 200만 명이 넘는다. 게임 타이틀의 판매량이나 온라인 게임의 동시 접속자가 아닌, 게임 개발 도구의 사용자라는 사실을 감안하면 유니티가 내세운 ‘개발의 민주화’라는 목표가 허언이 아님을 실감할 수 있다. 유니티 애셋 스토어는 이러한 게임 개발 민주화의 한 축을 담당하는 곳이다.

유니티 애셋 스토어는 소수가 만들고 소수가 사용하던 기존 게임 엔진에서는 상상할 수 없는 모습을 보여준다. 개발 상의 다양한 필요를 반영하는 수많은 미들웨어와 애셋이 출시됐고, 적은 비용으로 개발의 효율을 크게 높일 수 있다. 물론 부작용도 있다. 앱 스토어의 경우처럼, 기대하는 수준에 훨씬 미치지 못하는, 실망스런 미들웨어와 애셋도 존재한다. 그러나 일부 미들웨어는 엔진의 기능을 확장하고 한계를 넘어서며, 유니티 게임 개발의 필수 요소로 자리잡았다. NGUI는 바로 그러한 애셋 스토어 미들웨어의 대표적 성공 사례라고 할 수 있다.

이 책은 유니티 미들웨어인 NGUI를 본격적으로 다룬 책이다. 기본 구조와 주요 위젯에 대해 설명하고, 게임의 메인 메뉴에 들어가는 다양한 UI 요소들을 실제로 제작하며 NGUI의 기능을 상세하게 소개한다. 독자는 이 과정에서 NGUI의 기본 활용은 물론, UI 애니메이션, 윈도우 드래그와 스크롤, 로컬라이제이션, 아이템 드래그앤드롭, C# 스크립트 활용 같은 중급 이상의 주제를 학습할 수 있다. 유니티에 대한 기본적 이해를 갖춘 상태에서 NGUI 사용을 준비하는 개발자에게 이 책을 추천한다. 또한 현업에서 UI 애셋을 만드는 UI 아티스트나 UI 기획을 담당하는 기획자에게도 이 책을 추천한다. 업무 영역의 확장을 통해 개인의 만족과 역량의 향상은 물론이고, 향상된 게임 UI를 위한 의미 있는 경험이 되리라 생각한다.

이 책으로 본격적인 학습을 시작하기 전에 두 가지 당부의 말이 있다. 첫 번째는 NGUI의 버전과 관계된 부분이다. 유니티 미들웨어는 사용자의 요구를 반영하며 빠르게 발전한다. NGUI도 예외는 아니다. 이 책은 올 초에 출간된 신간이지만, 벌써 현재 NGUI 최신 버전과는 약간의 차이가 있다. 구체적으로 원서는 NGUI 3.0.2를 기준으로 작성됐다. 그러나 번역하는 현 시점에서 3.0.9가 제공되고 있다. 중간에 여러 차례 업데이트가 있었고, 특히 3.0.7에서 큰 변화가 있었다. 따라서 원서의 내용은 최대한 살리면서 최신 버전 사용자가 보기에도 문제 없도록 일부 내용을 수정했다. 또한 최신 버전에서 권장하는 사용 방법이나 이 책에서 다루지 않는 방법을 소개하기 위해 부록을 추가했다. 부록에서는 새로운 앵커 시스템, 다이나믹 폰트, 컨텍스트 메뉴, 스크롤 뷰와 테이블, 새로운 드래그앤 드롭 시스템, 이벤트 리스너와 NGUITools 클래스 등의 스크립트 활용을 설명한다. 이 책의 내용을 모두 마친 뒤에 부록을 참고한다면 NGUI 활용에 도움이 될 것이다.

또 다른 당부는 예제 프로젝트에 관한 것이다. 이 책은 예제 프로젝트를 제공하지 않는다. 프로젝트를 제공하면 그 안에 NGUI 유료 카피가 포함되기 때문이다. 이런 이유에서 원서도 스크립트와 애셋만을 제공한다. 기존 다른 번역서에서는 책의 내용을 따라가는 과정에서 약간의 문제가 있어도 예제 프로젝트를 통해서 원인을 찾거나 다음 단계로 넘어갈 수 있었다. 그러나 이 책에서는 그런 예제 프로젝트가 제공되지 않고, 책의 실습 내용도 처음부터 끝까지 유기적으로 연결된다. 이 점을 감안해서 학습하는 과정에서 좀 더 주의를 기울이길 당부한다. 이 책의 번역이 유니티와 NGUI를 사용하는 독자 제현에게 도움이 되기를 희망한다.

조 형 재

옮긴이 소개

조형재

서울대학교 미술대학에서 금속공예를 전공했고, KAIST 문화기술대학원에서 게임 내러티브에 관한 연구로 석사 학위를 취득했다. 2000년 이후부터 3D 애니메이션 스튜디오를 거쳐 주로 게임 개발사에서 근무했다. 구체적인 약력은 개인 홈페이지(www.zorotoss.com)에서 확인할 수 있다. 2014년 현재 온라인 게임 개발사에 근무하고 있다. 유니티와 관련해 경희대학교, 가천대학교, 동국대학교 창업지원단 등에서 강의를 맡았으며, 역서로는 에이콘 출판사의 『Unity 3D Game Development by Example 한국어판』, 『유니티 3D 모바일 게임 아트』, 『Unity 3 Blueprint 한국어판』, 『Unity 3.x Game Development Essentials 한국어판』, 『Unity 3 Game Development Hotshot 한국어판』, 『유니티와 iOS 모바일 게임 개발 프로젝트』가 있다.

목차

목차
  • 1장 NGUI
    • NGUI란?
      • 유니티 GUI와 NGUI
      • 아틀라스
      • 이벤트
      • 지역화
      • 셰이더
    • NGUI 불러오기
    • UI 생성
      • UI 레이어 지정
    • UI 기본 구조와 주요 컴포넌트
      • UIRoot
      • UICamera
      • UIAnchor
      • UIPanel
    • 요약

  • 2장 NGUI위젯
    • 첫 위젯
      • 위젯 마법사
      • 아틀라스 선택
      • 위젯 템플릿
      • 위젯 트랜스폼
      • 위젯 공통 파라미터
    • 스프라이트
      • 슬라이스 스프라이트
      • 타일 스프라이트
      • 필 스프라이트
    • 레이블
      • 파라미터
      • 타이틀 바
    • 버튼
      • 파라미터
      • 플레이 버튼과 나가기 버튼
    • 텍스트 입력
      • 파라미터
      • 별명 입력 상자
    • 슬라이더
      • 파라미터
      • 볼륨 슬라이더
    • 토글
      • 파라미터
      • 사운드 토글
    • 팝업 리스트
      • 파라미터
      • 난이도 선택창
    • 요약

  • 3장 NGUI 고급 기능
    • NGUI 컴포넌트
    • 드래그 패널
      • 파라미터
      • 드래그 패널
    • 드래그앤드롭 시스템
      • 아이템 선택
    • NGUI 애니메이션
      • 아이템 등장 효과
      • 패널 클리핑
    • 스크롤 텍스트
    • 지역화 시스템
      • 지역화 파일
      • 지역화 컴포넌트
      • 언어 선택 상자
      • 레이블 지역화
    • 요약

  • 4장 NGUI와 C#
    • 이벤트 함수
      • 툴팁
      • 기본 툴팁
      • 툴팁 보여주기
    • 트윈 함수
      • 메인 메뉴 등장 효과
    • 트윈
      • 이징과 지연
      • 키보드 내비게이션
    • 알림 메시지
    • 닉네임 저장
    • 메시지 보내기
    • 이벤트 전달
    • 요약

  • 5장 스크롤 뷰포트
    • 게임 씬 준비
    • 스크롤 뷰포트
      • 드래그 가능한 배경
      • 스크롤 바 연결
      • 키보드 스크롤
    • 장애물
      • 프리팹 제작
      • 장애물 드롭
    • 장애물 설치
      • 프리팹 제작
      • 장애물 인스턴스
      • 장애물 상태 표시
      • 뷰포트로 이벤트 전달
    • 대기 시스템
      • 대기 시스템 적용
      • 장애물 등장 효과
    • 장애물 알림 메시지
    • 요약

  • 6장 아틀라스와 폰트
    • 아틀라스 프리팹
    • 아틀라스 생성
    • 스프라이트 추가
      • 심플 스프라이트
      • 슬라이스 스트라이트
      • 타일 스프라이트
    • 폰트 추가
      • BMFont
      • NGUI 폰트 설정
    • 폰트 적용
  • 스프라이트와 폰트 변경
  • 요약

  • 7장 NGUI 게임
    • 적 생성
      • 컨테이너
      • 적 프리팹
      • 적 생성 제어
      • 뷰포트로 이벤트 전달
    • 충돌 처리
      • 장애물 충돌 처리
      • 화면 하단 충돌 처리
    • 자폭 코드
      • 해킹 슬라이더
      • 자폭 코드
      • 자폭 코드 지정
      • 해킹
      • 플레이어 입력 처리
    • 요약

  • 한국어판 특별부록: NGUI를 더욱 유용하게 활용하기 위한 각종 기법
    • 드래그와 크기 조절이 가능한 창
      • 준비
      • 컨텍스트 메뉴
      • 트윈
      • 앵커
      • 다이나믹 폰트
      • 드래그와 리사이즈
      • 버튼과 앵커의 상대 좌표
    • 스크롤과 드래그앤드롭이 가능한 인벤토리 창
      • 스크롤뷰와 테이블
      • 드래그앤드롭
      • 스크립트를 통한 UI 관리

  • 도서 오류 신고

    도서 오류 신고

    에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

    오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

    (예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

    정오표

    정오표

    [ p31 12행 ]
    [5. Camera 컴포넌트의 Culling Mask에서 2DUI를 선택한다.]
    2DUI -> GUI2D

    [ p98 3행 ]
    [2. SelectedBomb 프리팹 하위에 있는 Label을 선택하고, 텍스트를 [AAFFFF]
    Time으로 바꾼다.]

    SelectedBomb -> SelectedTime

    [ p111 12행 ]
    [1. Buttons 하위에 있는 Object 게임 오브젝트를 선택한다.]
    Object -> Option