馬遙 陳虹松 林凡超 著
適讀人群 :本書(shū)適用于廣大Unity 初學(xué)者入門(mén)學(xué)習(xí),也適合用戶查閱和參考具體系統(tǒng)的使用方法、注意事項(xiàng)等,所以也可以作為一本Unity的參考手冊(cè)使用。
Unity引擎已經(jīng)進(jìn)入了成熟期并一直保持平穩(wěn)而持續(xù)的更新,但是官方資料和文檔的更新并不是很及時(shí),還遲遲沒(méi)有中文文檔,對(duì)于學(xué)習(xí)者來(lái)說(shuō)形成了一個(gè)不大不小的困難。同時(shí)網(wǎng)絡(luò)上的視頻教程、圖文教程的知識(shí)呈碎片化,難以形成體系,導(dǎo)致學(xué)習(xí)者在一些重要的細(xì)節(jié)上不知其所以然。
本書(shū)的作者均是多年置身于游戲開(kāi)發(fā)一線的開(kāi)發(fā)者,有著豐富的游戲開(kāi)發(fā)實(shí)踐經(jīng)驗(yàn),且部分作者有豐富的游戲開(kāi)發(fā)教學(xué)經(jīng)驗(yàn),本書(shū)是他們總結(jié)經(jīng)驗(yàn)、持續(xù)學(xué)習(xí)的成果,適合初學(xué)Unity,又具有比較完整的知識(shí)體系。本書(shū)既可以作為初學(xué)者的入門(mén)書(shū)籍,又可以作為進(jìn)階者的查閱材料。
Unity 作為一個(gè)成熟的游戲引擎,其設(shè)計(jì)和使用都是有層次的。本書(shū)共 13 章,第 1 章至第 3 章為基礎(chǔ)知識(shí)部分,主要介紹 Unity 的基本操作、基本概念、編寫(xiě)腳本的方法、導(dǎo)入和使用資源的方法,學(xué)完這部分內(nèi)容后,你已經(jīng)可以做出很多有趣的小游戲了。第 4 章至第 11 章主要介紹 Unity 重要的系統(tǒng)模塊、功能,包括物理系統(tǒng)、UI 界面系統(tǒng)、動(dòng)畫(huà)系統(tǒng)、3D 數(shù)學(xué)基礎(chǔ)、場(chǎng)景管理、導(dǎo)航系統(tǒng)、著色器系統(tǒng)、打包與發(fā)布等,讀完以后可以掌握高級(jí)的開(kāi)發(fā)技術(shù)并解決實(shí)際問(wèn)題。第 12 章和第 13 章是兩個(gè)有代表性的 Unity游戲示例,一個(gè)是 3D 跑酷游戲,另一個(gè)是 2D 的彈球游戲,綜合展示了 Unity 的大部分功能,具有較強(qiáng)的代表性。除了這些內(nèi)容,每章都會(huì)有一些小的示例,以方便大家實(shí)踐并理解具體概念。由于實(shí)例部分的內(nèi)容操作流程較多,不易用圖文展現(xiàn),本書(shū)還特別附贈(zèng)了視頻教程來(lái)方便讀者學(xué)習(xí)。
本書(shū)適合廣大 Unity 初學(xué)者入門(mén)時(shí)使用,也適合 Unity 用戶查閱和參考軟件具體的使用方法、注意事項(xiàng)等,所以也可以作為一本 Unity 的參考手冊(cè)使用。
馬遙:
從高中時(shí)代就開(kāi)始制作“文曲星”游戲,就此踏入游戲開(kāi)發(fā)的世界。曾在像素軟件公司開(kāi)發(fā)大型網(wǎng)絡(luò)游戲《尋仙》,創(chuàng)業(yè)時(shí)期曾主持開(kāi)發(fā)多款手游和HTML 5游戲。后期專(zhuān)注于高性能游戲服務(wù)器的設(shè)計(jì)。平時(shí)喜歡研究動(dòng)態(tài)語(yǔ)言和算法,擅長(zhǎng)講解復(fù)雜的算法和概念。Practical Game AI Programming 譯者。目前專(zhuān)業(yè)從事游戲開(kāi)發(fā)教育,教授Unity引擎的使用,希望帶領(lǐng)更多人走進(jìn)游戲開(kāi)發(fā)的世界。
陳虹松:
擁有多年一線游戲開(kāi)發(fā)工作經(jīng)驗(yàn),對(duì)Gameplay設(shè)計(jì)與實(shí)現(xiàn)的相關(guān)內(nèi)容有著深入的理解,特別是動(dòng)作游戲與回合制游戲。擅長(zhǎng)分析游戲開(kāi)發(fā)中的疑難問(wèn)題。工作中的“填坑俠”,團(tuán)隊(duì)中的“萬(wàn)事屋”。參與項(xiàng)目有《次元召喚師》,《悠唐天下》等。希望把Unity理論與實(shí)踐中的關(guān)鍵問(wèn)題總結(jié)出來(lái),讓新手少走彎路,老手也能作為參考。
林凡超:
擁有8年游戲行業(yè)研發(fā)經(jīng)驗(yàn),項(xiàng)目曾獲得全球iOS Feature推薦??蛻舳伺c服務(wù)器兼修,擅長(zhǎng)游戲框架設(shè)計(jì)。曾在龍淵網(wǎng)絡(luò)、酷咔數(shù)字、維京游戲等多家著名游戲公司擔(dān)任主程職位,對(duì)于行業(yè)發(fā)展及項(xiàng)目研發(fā)有較為深入的了解。擅長(zhǎng)UE與Unity 3D等主流引擎,對(duì)多種游戲類(lèi)型均有深度研究,參與過(guò)《蘭空VOEZ》、《霧霾之下》、《禽獸三國(guó)》等項(xiàng)目。
第 1 章 初識(shí) Unity / 1
1.1 下載與安裝 / 1
1.1.1 下載 Unity 安裝程序 / 1
1.1.2 安裝 Unity / 2
1.1.3 多版本并存 / 2
1.2 初次運(yùn)行 / 2
1.2.1 工程頁(yè)面 / 2
1.2.2 學(xué)習(xí)資料頁(yè)面 /3
1.2.3 新建工程 / 3
1.2.4 打開(kāi)工程 / 3
1.3 工程窗口 / 4
1.3.1 基本功能 / 5
1.3.2 搜索功能 / 5
1.3.3 搜索資源商店 / 6
1.3.4 快捷鍵 / 7
1.4 場(chǎng)景視圖窗口 / 8
1.4.1 瀏覽場(chǎng)景 / 8
1.4.2 場(chǎng)景輔助線框 / 8
1.4.3 修改物體的位置 /10
1.4.4 場(chǎng)景視圖工具條 /14
1.5 輔助線框菜單 / 16
1.5.1 輔助線框 / 16
1.5.2 輔助圖標(biāo) / 17
1.5.3 顯示網(wǎng)格 / 18
1.5.4 選中時(shí)高亮和選中框線 /18
1.5.5 內(nèi)置組件的顯示 /19
1.6 層級(jí)窗口 / 19
1.6.1 父子關(guān)系 / 19
1.6.2 將物體設(shè)置為子物體 20
1.6.3 同時(shí)編輯多個(gè)場(chǎng)景 /. 20
1.7 檢視窗口 / 20
1.7.1 檢視物體和選項(xiàng) /.21
1.7.2 添加、刪除組件 /.21
1.7.3 復(fù)制組件或組件參數(shù) 22
1.7.4 查看腳本參數(shù) /.22
1.7.5 查看素材 /23
1.7.6 工程設(shè)置 /24
1.7.7 修改組件的順序 /24
1.8 工具欄 /25
1.9 游戲視圖窗口 /25
1.9.1 播放和暫停 /26
1.9.2 游戲視圖的工具條 /26
1.9.3 自定義 Unity 的開(kāi)發(fā)環(huán)境 /27
1.10 Unity 的常用快捷鍵 /29
1.11 動(dòng)手搭建游戲場(chǎng)景/31
1.12 2D 與 3D 工程的區(qū)別 /36
1.13 總結(jié) /37
第 2 章 開(kāi)始 Unity 游戲開(kāi)發(fā) / 39
2.1 場(chǎng)景 /39
2.1.1 場(chǎng)景的概念 /39
2.1.2 保存場(chǎng)景 /40
2.1.3 打開(kāi)場(chǎng)景 /40
2.2 游戲物體 /40
2.3 組件 /41
2.3.1 變換組件 /41
2.3.2 其他組件 /42
2.4 使用組件 /42
2.4.1 添加組件 /43
2.4.2 編輯組件 /44
2.4.3 組件選項(xiàng)菜單 /45
2.4.4 測(cè)試組件參數(shù) /45
2.5 最基本的組件 — 變換組件 /46
2.5.1 屬性列表 /46
2.5.2 編輯變換組件 /46
2.5.3 父子關(guān)系 /47
2.5.4 非等比縮放的問(wèn)題 /47
2.5.5 關(guān)于縮放和物體大小的問(wèn)題/48
2.5.6 變換組件的其他注意事項(xiàng) / 48
2.6 腳本與組件操作 /49
2.6.1 創(chuàng)建和使用腳本 /49
2.6.2 初識(shí)腳本 / 49
2.6.3 用腳本控制游戲物體 /50
2.6.4 變量與檢視窗口 /51
2.6.5 通過(guò)組件控制游戲物體 /52
2.6.6 訪問(wèn)其他游戲物體 /53
2.6.7 常用的事件函數(shù) /55
2.6.8 時(shí)間和幀率 / 56
2.6.9 創(chuàng)建和銷(xiāo)毀物體 /57
2.6.10 使游戲物體或組件無(wú)效化 /58
2.6.11 父物體無(wú)效化 / 58
2.7 腳本組件的生命期 /58
2.8 標(biāo)簽 /61
2.8.1 為物體設(shè)置標(biāo)簽 /61
2.8.2 創(chuàng)建新的標(biāo)簽 /62
2.8.3 小提示 / 62
2.9 靜態(tài)物體 / 62
2.10 層級(jí) /63
2.10.1 新建層級(jí) / 63
2.10.2 為物體指定層級(jí) /64
2.10.3 僅渲染場(chǎng)景的一部分 /64
2.10.4 選擇性的射線檢測(cè) /65
2.11 預(yù)制體 / 66
2.11.1 使用預(yù)制體 / 66
2.11.2 通過(guò)游戲物體實(shí)例修改預(yù)制體 /67
2.11.3 在運(yùn)行時(shí)實(shí)例化預(yù)制體 /67
2.12 保存工程的注意事項(xiàng) / 71
2.12.1 保存當(dāng)前場(chǎng)景 / 71
2.12.2 保存工程 / 72
2.12.3 不需要保存的改動(dòng) /73
2.13 輸入 /74
2.13.1 傳統(tǒng)輸入設(shè)備與虛擬輸入軸 /74
2.13.2 移動(dòng)設(shè)備的輸入 /77
2.13.3 VR 輸入概覽 / 81
2.14 方向與旋轉(zhuǎn)的表示方法 / 81
2.14.1 歐拉角 / 81
2.14.2 四元數(shù) /82
2.14.3 直接使用四元數(shù) /83
2.14.4 在動(dòng)畫(huà)中表示旋轉(zhuǎn) /84
2.15 燈光 /85
2.15.1 渲染路徑 /85
2.15.2 燈光的種類(lèi) /86
2.15.3 燈光設(shè)置詳解 /89
2.15.4 使用燈光 /90
2.16 攝像機(jī) /91
2.16.1 屬性介紹 /91
2.16.2 細(xì)節(jié) /93
2.16.3 渲染路徑 /93
2.16.4 清除標(biāo)記 /93
2.16.5 剪切面 /95
2.16.6 剔除遮罩 /96
2.16.7 視圖矩形 /96
2.16.8 正交攝像機(jī) /96
2.16.9 渲染貼圖 /96
2.16.10 顯示目標(biāo) /97
2.16.11 其他提示 /97
2.17 開(kāi)始做游戲吧 /97
第 3 章 資源工作流程 / 98
3.1 內(nèi)置的基礎(chǔ)物體/98
3.1.1 立方體 /98
3.1.2 球體 /99
3.1.3 膠囊體 /99
3.1.4 柱體 /99
3.1.5 平面 /100
3.1.6 四邊形 / 100
3.2 資源導(dǎo)入 / 101
3.3 資源導(dǎo)入設(shè)置 / 103
3.4 導(dǎo)入圖片資源的設(shè)置 / 103
3.4.1 圖片資源的導(dǎo)入方式 /103
3.4.2 圖片紋理的類(lèi)型 /104
3.5 模型資源的導(dǎo)入流程 /110
3.5.1 導(dǎo)入人形動(dòng)畫(huà) / 111
3.5.2 導(dǎo)入非人形動(dòng)畫(huà) / 113
3.5.3 模型資源導(dǎo)入設(shè)置 /115
3.6 聲音資源的導(dǎo)入設(shè)置 / 137
3.7 從資源商店導(dǎo)入資源 / 137
3.7.1 進(jìn)入資源商店和選購(gòu) /137
3.7.2 下載的資源文件的存儲(chǔ)位置 /138
3.8 資源包 / 139
3.8.1 導(dǎo)入包 / 139
3.8.2 導(dǎo)出包 / 140
3.8.3 導(dǎo)出更新包 / 141
3.9 標(biāo)準(zhǔn)資源 / 142
第 4 章 物理 /143
4.1 簡(jiǎn)介 /143
4.2 概述基本概念 /143
4.2.1 剛體 /143
4.2.2 休眠 /144
4.2.3 碰撞體 / 144
4.2.4 物理材質(zhì) / 145
4.2.5 觸發(fā)器 / 145
4.2.6 碰撞與腳本行為 /145
4.2.7 對(duì)碰撞體按照處理方式分類(lèi) /145
4.2.8 碰撞事件觸發(fā)表 /.146
4.2.9 物理關(guān)節(jié) / 147
4.2.10 角色控制器 / 147
4.3 剛體 /148
4.3.1 屬性介紹 / 148
4.3.2 父子關(guān)系 / 149
4.3.3 腳本問(wèn)題 / 149
4.3.4 剛體和動(dòng)畫(huà) / 149
4.3.5 剛體和碰撞體 /150
4.3.6 組合碰撞體 / 150
4.3.7 連續(xù)碰撞檢測(cè) / 150
4.3.8 比例和單位的重要性 / 151
4.3.9 其他問(wèn)題 / 152
4.4 盒子碰撞體 / 152
4.5 膠囊碰撞體 / 152
4.6 網(wǎng)格碰撞體 / 153
4.6.1 屬性 /153
4.6.2 限制條件和解決方法 / 154
4.6.3 其他問(wèn)題 / 155
4.7 球體碰撞體 / 155
4.8 地形碰撞體 / 156
4.9 物理材質(zhì) / 156
4.10 固定關(guān)節(jié) / 157
4.11 鉸鏈關(guān)節(jié) / 158
4.12 彈簧關(guān)節(jié) / 160
4.13 角色控制器 / 161
4.13.1 屬性 / 161
4.13.2 詳細(xì)說(shuō)明 / 162
4.13.3 調(diào)整參數(shù)的技巧 / 162
4.13.4 防止角色被卡住 / 162
4.13.5 小技巧 / 163
4.14 常量力 / 163
4.14.1 屬性 / 163
4.14.2 小技巧 / 163
4.15 車(chē)輪碰撞體 / 163
4.15.1 屬性 / 164
4.15.2 詳細(xì)說(shuō)明 / 164
4.15.3 具體的設(shè)置方法 /165
4.15.4 碰撞體的外形問(wèn)題 /165
4.15.5 車(chē)輪阻尼曲線 /165
4.15.6 小技巧 / 166
4.16 車(chē)輛創(chuàng)建入門(mén) / 166
4.16.1 創(chuàng)建車(chē)輛的基本框架 / 166
4.16.2 可控制的車(chē)輛 / 167
4.16.3 車(chē)輪的外觀 /168
4.17 物理系統(tǒng)的實(shí)踐 / 169
4.17.1 不倒翁的制作 / 169
4.17.2 鎖鏈的制作 /173
4.18 物理系統(tǒng)可視化調(diào)試/ 177
第 5 章 UI 界面 /181
5.1 UI 組件 /181
5.1.1 渲染組件 / 181
5.1.2 布局組件 / 183
5.1.3 顯示組件 / 185
5.1.4 交互組件 / 187
5.1.5 事件功能 / 196
5.2 UI 進(jìn)階 /201
5.2.1 圖集 /201
5.2.2 圖片格式 / 202
5.2.3 渲染順序 / 202
5.2.4 實(shí)現(xiàn)圓盤(pán)轉(zhuǎn)動(dòng)的效果 /204
第 6 章 動(dòng)畫(huà) /210
6.1 基礎(chǔ)概念 / 210
6.1.1 什么是幀 / 210
6.1.2 模型動(dòng)畫(huà)與非模型動(dòng)畫(huà) /210
6.1.3 動(dòng)畫(huà)混合的核心 — 插值與權(quán)重 /211
6.2 Mecanim 動(dòng)畫(huà)系統(tǒng) / 211
6.2.1 動(dòng)畫(huà)系統(tǒng)的工作流 /211
6.2.2 動(dòng)畫(huà)剪輯 / 213
6.3 動(dòng)畫(huà)控制器 / 223
6.3.1 動(dòng)畫(huà)狀態(tài)機(jī) / 223
6.3.2 動(dòng)畫(huà)層級(jí) / 228
6.3.3 動(dòng)畫(huà)混合樹(shù) / 228
6.4 使用人形角色動(dòng)畫(huà) /.231
6.4.1 人形骨架映射 / 231
6.4.2 人形動(dòng)畫(huà)身體遮罩 /234
6.4.3 人形動(dòng)畫(huà)的重定向 /235
6.4.4 逆向運(yùn)動(dòng)學(xué) / 237
6.5 實(shí)踐:實(shí)現(xiàn)一個(gè)帶有動(dòng)畫(huà)且操作流暢的角色控制器 /238
6.5.1 創(chuàng)建工程 / 238
6.5.2 模型下載 / 239
6.5.3 創(chuàng)建動(dòng)畫(huà)狀態(tài)機(jī) /239
6.5.4 配置動(dòng)畫(huà)狀態(tài)機(jī) / 241
6.5.5 代碼控制 / 243
第 7 章 游戲開(kāi)發(fā)的數(shù)學(xué)基礎(chǔ) / 245
7.1 坐標(biāo)系 / 245
7.1.1 左手坐標(biāo)系、右手坐標(biāo)系 /245
7.1.2 世界坐標(biāo)系 / 246
7.1.3 局部坐標(biāo)系 / 246
7.1.4 屏幕坐標(biāo)系 / 247
7.2 向量 /248
7.2.1 向量的加法 / 248
7.2.2 向量的減法 / 248
7.2.3 點(diǎn)乘 /248
7.2.4 叉乘 / 249
7.2.5 Vector3 結(jié)構(gòu)體 /249
7.2.6 位置與向量的區(qū)別和聯(lián)系 /250
7.2.7 Vector3 的用法 /251
7.3 矩陣 /252
7.4 齊次坐標(biāo) / 253
7.5 四元數(shù) / 253
7.5.1 概念 /253
7.5.2 結(jié)構(gòu)體的簡(jiǎn)介 /254
7.5.3 四元數(shù)的操作示例 /255
7.6 本章小結(jié) / 258
第 8 章 場(chǎng)景管理 / 259
8.1 多場(chǎng)景編輯 / 259
8.1.1 在編輯器中打開(kāi)多個(gè)場(chǎng)景 /259
8.1.2 場(chǎng)景分隔欄菜單 /260
8.1.3 多場(chǎng)景烘焙光照貼圖 /261
8.1.4 多場(chǎng)景烘焙尋路網(wǎng)格 /261
8.1.5 多場(chǎng)景烘焙遮擋剔除信息 /261
8.1.6 多場(chǎng)景運(yùn)行游戲 /262
8.1.7 場(chǎng)景相關(guān)設(shè)置 /262
8.1.8 注意事項(xiàng) / 262
8.2 運(yùn)行時(shí)的場(chǎng)景管理 / 263
8.2.1 場(chǎng)景管理類(lèi) / 263
8.2.2 運(yùn)行時(shí)切換場(chǎng)景 /263
8.2.3 切換場(chǎng)景時(shí)不銷(xiāo)毀游戲物體 /265
8.2.4 異步加載場(chǎng)景 /266
第 9 章 導(dǎo)航系統(tǒng) / 268
9.1 概述 /268
9.2 導(dǎo)航系統(tǒng)內(nèi)部的工作機(jī)制 / 269
9.2.1 可行走區(qū)域 / 269
9.2.2 尋路算法 / 269
9.2.3 具體路徑 / 270
9.2.4 避開(kāi)障礙 / 270
9.2.5 讓代理移動(dòng) / 270
9.2.6 全局導(dǎo)航與局部導(dǎo)航 /270
9.2.7 障礙的兩個(gè)例子 / 271
9.2.8 鏈接關(guān)系 / 271
9.3 導(dǎo)航系統(tǒng)的構(gòu)建組件 / 271
9.3.1 導(dǎo)航代理組件 / 271
9.3.2 導(dǎo)航障礙物 / 273
9.3.3 網(wǎng)格鏈接組件 /274
9.4 構(gòu)建導(dǎo)航網(wǎng)格 /275
9.5 創(chuàng)建導(dǎo)航代理 /277
9.6 創(chuàng)建導(dǎo)航障礙物 /278
9.7 創(chuàng)建網(wǎng)格鏈接 /279
9.8 自動(dòng)構(gòu)建網(wǎng)格鏈接 /280
9.9 建立高度網(wǎng)格 / 281
9.10 導(dǎo)航區(qū)域和移動(dòng)成本 / 282
9.10.1 尋路成本 / 283
9.10.2 區(qū)域類(lèi)型 / 283
9.10.3 區(qū)域掩碼 / 284
9.11 新版導(dǎo)航系統(tǒng)組件 / 284
9.11.1 導(dǎo)航網(wǎng)格表面組件 /284
9.11.2 導(dǎo)航網(wǎng)格修正組件 /286
9.11.3 導(dǎo)航修正區(qū)域組件 /287
9.11.4 導(dǎo)航網(wǎng)格鏈接組件 /287
9.11.5 構(gòu)建導(dǎo)航網(wǎng)格的 API /289
9.12 與其他組件一起使用的問(wèn)題 /291
9.12.1 導(dǎo)航代理組件與物理組件混用 /291
9.12.2 導(dǎo)航網(wǎng)格組件與動(dòng)畫(huà)組件混用 /291
第 10 章 著色器 / 293
10.1 Unity 著色器的簡(jiǎn)介 / 293
10.2 編寫(xiě)表面著色器/ 293
10.2.1 簡(jiǎn)介 / 294
10.2.2 預(yù)處理指令 /295
10.2.3 表面著色器的輸入結(jié)構(gòu)體 / 297
10.3 ShaderLab 簡(jiǎn)介 /297
10.3.1 語(yǔ)法 / 298
10.3.2 屬性 / 298
10.3.3 子著色器與回滾 /298
10.3.4 例子 /298
10.4 材質(zhì)、著色器、貼圖的關(guān)系 /299
10.5 表面著色器的實(shí)例 / 300
10.5.1 從最簡(jiǎn)單的例子開(kāi)始 /300
10.5.2 貼圖 / 301
10.5.3 法線貼圖 / 302
10.5.4 邊緣發(fā)光 / 303
10.5.5 細(xì)節(jié)貼圖 / 304
10.5.6 屏幕空間中的細(xì)節(jié)貼圖 /305
10.5.7 立方體反射 / 306
10.5.8 世界空間切片 /307
10.5.9 修改頂點(diǎn)的位置 /308
10.5.10 逐頂點(diǎn)的數(shù)據(jù)處理 /309
10.5.11 調(diào)整最終顏色 / 310
10.5.12 霧 / 311
10.5.13 總結(jié) / 312
第 11 章 打包與發(fā)布 / 313
11.1 打包設(shè)置 / 313
11.2 發(fā)布設(shè)置菜單 /313
11.3 發(fā)布為桌面程序/ 314
11.4 發(fā)布時(shí)的內(nèi)部流程/ 314
11.5 發(fā)布為安卓應(yīng)用程序/.315
11.5.1 JDK 概述 / 315
11.5.2 JDK 的下載、安裝 /315
11.5.3 配置環(huán)境變量 /316
11.5.4 SDK 概述 /317
11.5.5 下載安卓 SDK / 317
11.5.6 導(dǎo)出設(shè)置 / 319
第 12 章 示例教程——跑酷游戲 / 323
12.1 準(zhǔn)備工具 / 323
12.2 分析需求 / 323
12.3 控制人物動(dòng)作 /323
12.4 生成地圖 / 324
12.4.1 創(chuàng)建地圖模板 /324
12.4.2 設(shè)置地圖生成規(guī)則 /325
12.4.3 使地圖運(yùn)動(dòng) /326
12.4.4 生成道具 / 329
12.4.5 復(fù)雜地形 / 330
12.5 控制人物 / 333
12.5.1 分析人物動(dòng)作 / 333
12.5.2 添加角色控制器 /333
12.5.3 向前移動(dòng) / 333
12.5.4 左右移動(dòng) / 334
12.5.5 左轉(zhuǎn)與右轉(zhuǎn) /334
12.5.6 跳躍與下滑 /334
12.5.7 播放道路動(dòng)畫(huà) /335
12.6 游戲音效 / 336
12.6.1 背景音效 / 336
12.6.2 道具音效 / 336
12.7 顯示得分 / 337
12.8 觸摸控制 / 338
12.8.1 向量的點(diǎn)乘 /338
12.8.2 代碼實(shí)現(xiàn) / 339
第 13 章 示例教程——2D 物理彈球 /343
13.1 游戲玩法 / 343
13.2 分析需求 / 345
13.3 搭建場(chǎng)景 / 345
13.3.1 砌墻(限定小球的活動(dòng)區(qū)域)/345
13.3.2 創(chuàng)建槍口(用于初始化小球的發(fā)射位置)/346
13.3.3 顯示分?jǐn)?shù) / 347
13.3.4 創(chuàng)建小球 / 347
13.3.5 創(chuàng)建道具預(yù)制件 /347
13.3.6 創(chuàng)建幾何圖形 /352
13.3.7 創(chuàng)建關(guān)卡 / 353
13.3.8 發(fā)射 / 359
13.3.9 小球?qū)ぢ?/ 362
13.3.10 菜單面板 / 364
13.3.11 總結(jié) / 366
Unity 引擎已經(jīng)流行了很多年,時(shí)至今日,可以說(shuō)已經(jīng)進(jìn)入了成熟期。進(jìn)入了成熟期的 Unity一直在保持平穩(wěn)而持續(xù)的更新節(jié)奏,但是官方資料和文檔的更新并不是很及時(shí),特別是對(duì)廣大國(guó)內(nèi)游戲開(kāi)發(fā)者來(lái)說(shuō),官方遲遲沒(méi)有推出中文文檔,這對(duì)學(xué)習(xí) Unity 來(lái)說(shuō)就形成了不大不小的阻礙。
除官方資料外,目前市面上也有大量 Unity 的相關(guān)書(shū)籍和學(xué)習(xí)資料。但現(xiàn)在新手學(xué)習(xí) Unity的最常見(jiàn)途徑是通過(guò)視頻,這種新的學(xué)習(xí)方法值得推廣,筆者自己也做過(guò)一些免費(fèi)的視頻教程。
不過(guò),視頻教程、圖文教程有一個(gè)很大的弊端,那就是知識(shí)碎片化、難以形成體系,這導(dǎo)致學(xué)習(xí)者在一些重要的細(xì)節(jié)上不知其所以然。筆者認(rèn)為學(xué)習(xí)時(shí)間可以碎片化,但知識(shí)體系是不能碎片化的。
本書(shū)的幾位作者在閱讀 Unity 官方文檔時(shí)曾受到過(guò)很大的啟發(fā),官方文檔中的一些原理和注意事項(xiàng)對(duì)我們的幫助尤其大。例如,在介紹動(dòng)畫(huà)系統(tǒng)、物理引擎的相關(guān)概念,以及場(chǎng)景拆解合并的內(nèi)容中,都包含了很多極其有用卻容易被忽略的信息。我們?cè)谟螒蜷_(kāi)發(fā)工作中對(duì)引擎的一些錯(cuò)誤使用,其實(shí)都源于我們對(duì)引擎理解得不完整,而這些問(wèn)題在官方文檔中都已經(jīng)有過(guò)提示和講解。
一直以來(lái),我們都渴望將這些幫助過(guò)我們的、精華的知識(shí)分享給所有開(kāi)發(fā)者。這次電子工業(yè)出版社給了我們一個(gè)難得的機(jī)會(huì),讓我們可以編寫(xiě)一本適合 Unity 初學(xué)者的具有比較完整的知識(shí)體系的書(shū)籍,所以我們滿懷熱情地開(kāi)始了這本書(shū)的編寫(xiě)工作。本書(shū)既可以作為初學(xué)者的入門(mén)書(shū)籍,又可以作為進(jìn)階者查閱知識(shí)點(diǎn)的資料。
專(zhuān)為Unity初學(xué)者量身打造
本書(shū)面向 Unity 的初學(xué)者,無(wú)論是對(duì) Unity 一無(wú)所知的初學(xué)者,還是有一定基礎(chǔ)、想要了解更多知識(shí)的 Unity 用戶,都可以從書(shū)中輕松獲取需要的內(nèi)容。
圖書(shū)結(jié)構(gòu)科學(xué)合理
憑借深入細(xì)致的市場(chǎng)調(diào)查和研究,我們針對(duì) Unity 初學(xué)者的特點(diǎn)和需求,精心安排了適合的學(xué)習(xí)結(jié)構(gòu),通過(guò)將知識(shí)點(diǎn)和實(shí)例相結(jié)合幫助讀者輕松、快速地學(xué)習(xí)。
學(xué)練結(jié)合,理論聯(lián)系實(shí)際
本書(shū)以實(shí)用為宗旨,大量知識(shí)點(diǎn)都力求貼近實(shí)戰(zhàn),并提供了眾多精彩且頗具實(shí)用價(jià)值的綜合實(shí)例,希望能幫助讀者輕而易舉地理解重點(diǎn)和難點(diǎn),并有效地提高動(dòng)手能力。
配有精彩、超值的教學(xué)視頻
本書(shū)附贈(zèng)配套教學(xué)視頻,讓讀者學(xué)習(xí)知識(shí)更加輕松自如!
本書(shū)在編寫(xiě)過(guò)程中遇到了很多困難,但最終在“皮皮關(guān)”的老師們的通力合作之下順利完成。在此特別感謝本書(shū)的組織者楊奕,吳江川、黎大林、伍書(shū)培、沈琰也為本書(shū)貢獻(xiàn)了部分內(nèi)容。最后還要感謝電子工業(yè)出版社的孔祥飛老師,沒(méi)有他的敦促與細(xì)心審校,本書(shū)肯定難以完成。
由于編者水平有限,書(shū)中的錯(cuò)誤和疏漏在所難免,如有任何意見(jiàn)和建議,請(qǐng)讀者不吝指正,感激不盡。
更多建議: