책 소개
요약
유니티의 대표적 미들웨어 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 클래스 등의 스크립트 활용을 설명한다.
목차
목차
- 1장 NGUI
- NGUI란?
- 유니티 GUI와 NGUI
- 아틀라스
- 이벤트
- 지역화
- 셰이더
- NGUI 불러오기
- UI 생성
- UI 레이어 지정
- UI 기본 구조와 주요 컴포넌트
- UIRoot
- UICamera
- UIAnchor
- UIPanel
- 요약
- NGUI란?
- 2장 NGUI위젯
- 첫 위젯
- 위젯 마법사
- 아틀라스 선택
- 위젯 템플릿
- 위젯 트랜스폼
- 위젯 공통 파라미터
- 스프라이트
- 슬라이스 스프라이트
- 타일 스프라이트
- 필 스프라이트
- 레이블
- 파라미터
- 타이틀 바
- 버튼
- 파라미터
- 플레이 버튼과 나가기 버튼
- 텍스트 입력
- 파라미터
- 별명 입력 상자
- 슬라이더
- 파라미터
- 볼륨 슬라이더
- 토글
- 파라미터
- 사운드 토글
- 팝업 리스트
- 파라미터
- 난이도 선택창
- 요약
- 첫 위젯
- 3장 NGUI 고급 기능
- NGUI 컴포넌트
- 드래그 패널
- 파라미터
- 드래그 패널
- 드래그앤드롭 시스템
- 아이템 선택
- NGUI 애니메이션
- 아이템 등장 효과
- 패널 클리핑
- 스크롤 텍스트
- 지역화 시스템
- 지역화 파일
- 지역화 컴포넌트
- 언어 선택 상자
- 레이블 지역화
- 요약
- 4장 NGUI와 C#
- 이벤트 함수
- 툴팁
- 기본 툴팁
- 툴팁 보여주기
- 트윈 함수
- 메인 메뉴 등장 효과
- 트윈
- 이징과 지연
- 키보드 내비게이션
- 알림 메시지
- 닉네임 저장
- 메시지 보내기
- 이벤트 전달
- 요약
- 이벤트 함수
- 5장 스크롤 뷰포트
- 게임 씬 준비
- 스크롤 뷰포트
- 드래그 가능한 배경
- 스크롤 바 연결
- 키보드 스크롤
- 장애물
- 프리팹 제작
- 장애물 드롭
- 장애물 설치
- 프리팹 제작
- 장애물 인스턴스
- 장애물 상태 표시
- 뷰포트로 이벤트 전달
- 대기 시스템
- 대기 시스템 적용
- 장애물 등장 효과
- 장애물 알림 메시지
- 요약
- 6장 아틀라스와 폰트
- 아틀라스 프리팹
- 아틀라스 생성
- 스프라이트 추가
- 심플 스프라이트
- 슬라이스 스트라이트
- 타일 스프라이트
- 폰트 추가
- BMFont
- NGUI 폰트 설정
- 폰트 적용
- 스프라이트와 폰트 변경
- 요약
- 적 생성
- 컨테이너
- 적 프리팹
- 적 생성 제어
- 뷰포트로 이벤트 전달
- 충돌 처리
- 장애물 충돌 처리
- 화면 하단 충돌 처리
- 자폭 코드
- 해킹 슬라이더
- 자폭 코드
- 자폭 코드 지정
- 해킹
- 플레이어 입력 처리
- 요약
- 드래그와 크기 조절이 가능한 창
- 준비
- 컨텍스트 메뉴
- 트윈
- 앵커
- 다이나믹 폰트
- 드래그와 리사이즈
- 버튼과 앵커의 상대 좌표
- 스크롤과 드래그앤드롭이 가능한 인벤토리 창
- 스크롤뷰와 테이블
- 드래그앤드롭
- 스크립트를 통한 UI 관리
도서 오류 신고
정오표
정오표
[ 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