Unity 3D NGUI 實戰教程

NGUI是專門針對Unity引擎、用C#語言編寫的一套外掛程式,它已經成為了目前世界上套用最廣、最成熟的Unity製作UI的外掛程式,完美地彌補了Unity引擎原生GUI系統和NewGUI系統的各種不足。程式設計師可以利用它提供的一整套UI框架和事件通知系統來進行自己項目的UI設計和製作。本書不僅講解了必知必會的NGUI的基礎知識,更是以項目實戰為目的,涵蓋了大量的項目實戰中的經驗之談和技巧總結,用以幫助讀者達到學以致用的目的。本書的主要內容:初識NGUI、UI開發的流程、NGUI強大優勢、製作第一個UI圖集、創建一個3D UI、查看和管理UI的深度、製作基礎的UI控制項、讓UI動起來——UI動畫、NGUI進階、使用Panel管理面板、NGUI實戰進階、UI開發核心問題——UI隨螢幕自適應、實戰開發中UI資源製作標準、跨平台製作UI資源、UI結構設計、UI代碼的設計和最佳化、項目案例實戰分析、背包界面的製作等核心技術,最後用一章歸納了NGUI常見疑難問題,以便讀者遇到問題時可以隨時參考。本書適合新上手的Unity客戶端程式設計師、需要做UI的Unity程式設計師、想自學Unity做獨立遊戲開發的人員,以及大專院校相關專業的師生學習用書和培訓學校的教材。

目錄
第1章 初識NGUI 1
1.1 遊戲UI開發介紹 1
1.1.1 什麼是遊戲UI 1
1.1.2 UI為何如此重要 1
1.1.3 UI開發的流程 2
1.1.4 UI開發的難點 2
1.2 什麼是NGUI 3
1.2.1 NGUI外掛程式介紹 3
1.2.2 NGUI的強大優勢 3
第2章 NGUI基礎 5
2.1 導入NGUI外掛程式 5
2.1.1 NGUI版本介紹 5
2.1.2 NGUI的下載和購買 5
2.1.3 導入NGUI外掛程式套用 6
2.1.4 導入常見問題 9
2.2 認識基本的UI資源 10
2.2.1 什麼是UI精靈(Sprite) 10
2.2.2 什麼是UI圖集(Atlas) 10
2.2.3 什麼是UI貼圖(Texture) 10
2.2.4 什麼是UI標籤(Label) 12
2.2.5 什麼是UI字型(Font) 12
2.3 製作第一個UI圖集 13
2.3.1 學會解剖UI的資源結構 13
2.3.2 如何導入切好的美術資源 15
2.3.3 用Atlas Maker製作圖集 16
2.4 製作第一個UI字型 20
2.4.1 為什麼要製作UI字型 20
2.4.2 靜態字型和動態字型 20
2.4.3 製作靜態字型介紹 21
2.4.4 製作動態字型介紹 22
2.5 創建第一個UI 22
2.5.1 創建一個2D UI 22
2.5.2 創建一個3D UI 24
2.5.3 了解UIRoot、UIPanel和UICamera組件 24
2.6 2DUI和3DUI的工作原理 28
2.6.1 2DUI的工作原理 28
2.6.2 3DUI的工作原理 30
2.6.3 如何判斷該選擇哪一種UI 31
2.7 深度(Depth)概念 31
2.7.1 強化對深度的理解 31
2.7.2 小心相機的深度 32
第3章 核心組件 34
3.1 什麼是UI控制項 34
3.2 製作精靈(UISprite) 34
3.2.1 怎樣判斷是否應該使用精靈 34
3.2.2 創建精靈 35
3.2.3 Sprite組件的設定 37
3.3 製作標籤(Label) 43
3.3.1 怎樣判斷是否應當使用標籤 43
3.3.2 創建標籤 43
3.3.3 Label的文字設定 43
3.4 製作UI紋理(UITexture) 46
3.4.1 什麼情況下使用UITexture 46
3.4.2 創建紋理 46
3.4.3 紋理的設定 46
3.5 製作按鈕(Button) 48
3.5.1 怎樣判斷應該使用按鈕 48
3.5.2 創建按鈕 49
3.5.3 核心組件BoxCollider 49
3.5.4 核心組件UIButton 52
3.5.5 製作按鈕的放縮動畫 54
3.5.6 製作按鈕的偏移動畫 55
3.5.7 製作按鈕的旋轉動畫 56
3.5.8 添加按鈕單擊音效 56
3.5.9 任何事物都可以變成按鈕,
不僅僅是UI 57
3.6 製作進度條(UISlider) 58
3.6.1 怎樣判斷是否應當使用
進度條 58
3.6.2 創建進度條 59
3.6.3 核心組件UISlider設定 60
3.6.4 進度條的BoxCollider說明 62
3.7 製作輸入框(Input) 63
3.7.1 怎樣判斷是否應當使用
輸入框 63
3.7.2 創建輸入框 63
3.7.3 核心組件Input設定 64
3.7.4 輸入框使用的一些
注意事項 67
3.8 製作滾動視圖(ScrollView) 68
3.8.1 怎樣判斷是否應當使用
滾動視圖 68
3.8.2 創建滾動視圖 69
3.8.3 滾動視圖核心組件
UIPanel 69
3.8.4 滾動視圖核心組件
UIScrollView 72
3.8.5 創建一個拖動條 75
3.8.6 拖動條說明 76
3.8.7 讓視圖內的內容可以
被拖動 77
3.8.8 製作滾動視圖時的
注意事項 78
3.9 製作複選框(Toggle) 79
3.9.1 怎樣判斷是否應當使用
複選框 79
3.9.2 創建複選框 79
3.9.3 複選框的核心組件
UIToggle 80
3.10 製作下拉選單(PopupList) 82
3.10.1 怎樣判斷是否應當使用
下拉選單 82
3.10.2 創建下拉選單 82
3.10.3 顯示當前選中的選項 84
3.10.4 下拉選單核心組件
PopupList 85
3.10.5 製作下拉選單的注意事項 87
第4章 UI動畫 88
4.1 常見的兩種UI動畫介紹 88
4.1.1 要區分UI動畫和UI特效
兩個概念 88
4.1.2 關於Tween動畫 88
4.1.3 關於Animation動畫 89
4.2 漸隱漸現動畫(透明度動畫) 89
4.2.1 透明度動畫的介紹和套用 89
4.2.2 使用透明度動畫
TweenAlpha 90
4.2.3 使用透明度動畫的注意點 94
4.3 顏色變化動畫(變色動畫) 95
4.3.1 變色動畫的介紹和套用 95
4.3.2 使用顏色動畫TweenColor 96
4.3.3 使用顏色動畫的注意點 96
4.4 位置變換動畫(位移動畫) 97
4.4.1 位移動畫的介紹和套用 97
4.4.2 使用位移動畫
TweenPosition 98
4.4.3 使用位移動畫的注意點 98
4.5 旋轉變化動畫(旋轉動畫) 99
4.5.1 旋轉動畫的介紹和套用 99
4.5.2 使用旋轉動畫
TweenRotation 99
4.5.3 使用旋轉動畫的注意點 100
4.6 大小變化動畫(放縮動畫) 100
4.6.1 放縮動畫的介紹和套用 100
4.6.2 使用放縮動畫
TweenScale 101
4.6.3 使用放縮動畫的注意點 101
4.7 Tween動畫總結 102
4.8 動畫控制組件UIPlayTween 102
4.8.1 為什麼要用UIPlayTween 102
4.8.2 動畫核心組件UIPlayTween
講解 103
4.8.3 使用UIPlayTween的
注意事項 106
4.9 動畫控制組件UIPlayAnimation 107
4.9.1 為什麼要用
UIPlayAnimation 107
4.9.2 為UI添加Animation組件 107
4.9.3 動畫核心組件
UIPlayAnimation講解 108
4.9.4 使用UIPlayAnimation
注意事項 110
第5章 其他組件 111
5.1 使用Toggle製作頁簽 111
5.1.1 頁簽的工作原理 111
5.1.2 一個完整的頁簽界面 111
5.1.3 製作兩個頁簽按鈕 111
5.1.4 使用ToggleObjects來記錄
頁簽內容 114
5.1.5 製作頁簽注意事項 115
5.2 拖動攝像機來瀏覽超大界面 115
5.2.1 拖動相機功能的介紹
和套用 115
5.2.2 核心原理和組件介紹 117
5.2.3 拖動相機瀏覽超大界面
的注意事項 119
5.3 使用Grid自動排列UI 120
5.3.1 自動排列UI的套用 120
5.3.2 自動排列UI核心組件
Grid介紹 120
5.4 使用DragObject直接拖動物體 122
5.5 讓玩家通過拖動自由改變
控制項大小 124
5.6 製作序列幀精靈動畫
(SpriteAnimation) 125
5.6.1 什麼是序列幀精靈動畫 125
5.6.2 SpriteAnimation組件 125
第6章 NGUI實戰進階 127
6.1 UI開發核心問題——UI隨螢幕
自適應 127
6.1.1 螢幕解析度對UI適配
的影響 127
6.1.2 主流設備的螢幕解析度 129
6.1.3 自適應核心組件Anchor
的使用 130
6.1.4 使用Anchor的注意事項 133
6.1.5 正式開發UI之前必須明確
的幾個問題 134
6.2 UI元素的相對自適應 134
6.2.1 什麼是UI元素的相對
自適應 134
6.2.2 Anchors的介紹及使用 134
6.2.3 使用Anchors的範例:
背景圖的全螢幕適配 137
6.2.4 使用Anchors的注意事項 138
6.3 多攝像機同時協作運行 139
6.3.1 攝像的渲染層的概念 139
6.3.2 多攝像機協作的套用範圍 140
6.3.3 如何創建多個UI攝像機 140
6.3.4 多攝像機協作的注意事項 142
6.4 巧用九宮格以減少UI資源量 142
6.4.1 項目安裝包大小對項目
的影響 142

相關詞條

熱門詞條

聯絡我們