出版時間:2012-6 出版社:人民郵電出版社 作者:宣雨松 頁數(shù):334 字數(shù):508000
Tag標簽:無
前言
近年來,游戲行業(yè)出現(xiàn)了前所未有的震蕩期,各種平臺的涌現(xiàn)使得行業(yè)內(nèi)部的競爭愈演愈烈。前幾年,要想制作好的游戲,肯定就需要強大硬件的支持,所以大部分3D游戲都出現(xiàn)在PC或PS3、Xbox等專業(yè)游戲主機上,其他平臺則由于受硬件條件的限制而無法制作出較好的游戲?!? 目前基于iOS、Android、Windows Phone 7等移動平臺的智能手機迅速崛起,它們的硬件配置已經(jīng)得到大幅提升,目前的硬件條件已經(jīng)達到了幾年前的水平,在移動平臺上制作3D游戲已不再是夢想。此外,F(xiàn)lash與HTML5也開始對網(wǎng)頁中的圖形加速渲染,這也使得網(wǎng)頁游戲得到了迅速發(fā)展。在這場浩浩蕩蕩的戰(zhàn)爭中,鹿死誰手迄今無人可知,套用游戲玩家的一句老話“沒有最強的職業(yè),只有最強的玩家”,一切我們只好拭目以待?!? 由于平臺之間激烈的競爭,游戲開發(fā)商在制作游戲時非常頭大,因為不知道選擇從哪種平臺入手。平臺的不同就意味著開發(fā)方式也截然不同,所以“跨平臺游戲開發(fā)”這樣的字眼近年來也慢慢出現(xiàn)在我們的視野當(dāng)中??缙脚_開發(fā)的好處是一次編碼多平臺適用,只需要花人力、物力和財力制作一遍,就可適用全部游戲平臺,這樣將大大節(jié)約開發(fā)成本?!? 目前市面上的跨平臺游戲引擎已經(jīng)有好幾款,其中最專業(yè)、最穩(wěn)定、效率最高并且支持游戲平臺最多的就是Unity。目前它的最新版本為Unity 3.5,可橫跨9種主要游戲平臺,包括Web平臺、PC平臺、Mac平臺、iOS平臺、Flash平臺、Android平臺、Xbox 360平臺、PS3平臺和Wii平臺。無論是電腦游戲、網(wǎng)游游戲、手機游戲、主機游戲、單機游戲還是網(wǎng)絡(luò)游戲,都可以使用Unity輕松實現(xiàn)跨平臺游戲開發(fā)?!? 現(xiàn)在網(wǎng)絡(luò)游戲已不局限于電腦終端,手機與網(wǎng)頁終端的網(wǎng)絡(luò)游戲也迅速走進玩家的世界。分析師預(yù)測,未來的網(wǎng)絡(luò)游戲肯定是跨平臺網(wǎng)游,玩家不僅可以在電腦上,還可以在手機或者網(wǎng)頁甚至在掌機中去玩游戲,這是多么酷的一件事啊,所以Unity將肩負重任?!? 本書主要從初學(xué)者入門的角度去講解Unity游戲開發(fā),無論讀者是轉(zhuǎn)行學(xué)習(xí)也好,入門學(xué)習(xí)也罷,甚至是毫無任何編程經(jīng)驗的人員,都可以閱讀本書,并且可以讓讀者快速學(xué)會如何使用Unity制作3D游戲。本書將以兩種語言去講解游戲腳本的編寫,由于JavaScript語言更適合初學(xué)者,所以入門階段我們將使用JavaScript語言介紹,而在進階階段將使用C#語言。為方便讀者學(xué)習(xí),書中每一章都含有豐富的游戲?qū)嵗c源代碼。最后一章以一個第一人稱射擊類3D游戲為實例充分向讀者介紹游戲?qū)崙?zhàn)開發(fā)的過程?!? 閱讀本書 書中所有例子的源代碼都可以在圖靈網(wǎng)站本書主頁免費注冊下載,并且下載的源碼按章編號,如圖0-1所示。查看源碼前,請確保Unity已經(jīng)安裝在本機當(dāng)中,安裝無誤后按照圖中所示找到章節(jié)源碼對應(yīng)的游戲場景文件,雙擊該場景文件即可打開游戲工程,繼而查看閱讀。 圖0-1 查看源碼 由于Unity自帶的腳本編輯器MonoDevelop無法正常顯示中文,編輯器Unitron雖然可以顯示中文,但是需要修改編碼格式,而它無法修改默認打開時采用的編碼格式,所以使用腳本編輯器直接打開腳本文件,都會出現(xiàn)中文亂碼的情況。為了解決這個問題,讀者可以先以記事本格式打開示例游戲中的腳本,然后復(fù)制至Unity自帶的另一款編輯器Unitron當(dāng)中查看,接著在Unitron中修改編碼格式。在用JavaScript語言編寫的腳本中,請使用UTF-8編碼格式,而在C#語言編寫的腳本中,請使用UTF-16編碼格式?!? 由于本書是在Mac OS下講解Unity開發(fā),如果讀者采用Windows操作系統(tǒng)的話,查看源碼的方式會與Mac OS有點區(qū)別,并且按照上述的方法是無法查看源碼的。為了方便讀者在Windows操作系統(tǒng)下查看游戲源碼,筆者已將游戲工程封裝成自定義游戲包放置在工程根目錄下,讀者只需導(dǎo)入工程對應(yīng)的游戲包即可查看源碼。首先打開Windows下對應(yīng)的Unity,在導(dǎo)航菜單欄中選擇“Assets”→“Import Package”→“Custom Package”菜單項,如圖0-2所示?!? 在源碼的根目錄中尋找需要導(dǎo)入的自定義游戲包,如圖0-3所示,該游戲包的文件名后綴為unitypackage,選擇后打開即可。此外,讀者也可將游戲包拖曳到其他目錄(比如桌面)當(dāng)中,然后選擇該游戲包,雙擊它也可導(dǎo)入工程。 圖0-2 導(dǎo)入程序包 圖0-3 尋找需要導(dǎo)入的自定義程序包 如圖0-4所示,自定義游戲包中的資源已經(jīng)出現(xiàn)在列表當(dāng)中,點擊右下角的“Import”按鈕即可完成導(dǎo)入,然后運行游戲即可看到效果?!? 圖0-4 資源出現(xiàn)在列表當(dāng)中 致謝 我從事移動終端開發(fā)已有5個年頭,從早期的第一代諾基亞智能手機到Android和iOS,從軟件開發(fā)到游戲開發(fā),從2D游戲到3D游戲,這對一個程序員來說,說短不短說長也不長。在這期間,我首先需要感謝一個人,他就是我的師父王嘉鑫,這些年來他讓我從一名剛畢業(yè)的學(xué)生磨練成為一名真正的工程師,滴水之恩我將涌泉相報;第二個需要感謝的就是一名大姐姐王璐,她在我迷茫的時候為我指了一條路,正是因為她我才有機會走進了游戲行業(yè);第三個需要感謝的就是我的女友和家人,正是他們的理解與支持,我才取得今天的成績;還要感謝公司里一起經(jīng)常通宵加班的好同事、好兄弟,希望我們大家今后能繼續(xù)一如既往地好好工作,為了人生的理想一起奮斗! 此外,我必須感謝圖靈公司的楊海玲與小花,正是因為她們的鼓勵,我才有動力去寫這本書,感謝她們教會了我很多寫作技巧與一些重要的寫作建議,感謝她們仔細審閱了我的書稿,確保這本書的整體質(zhì)量;還要感謝我的同事孫磊和張堯為本書制作了很多好看的美術(shù)資源。最后,祝圖靈公司越做越好,為祖國的IT人才培養(yǎng)貢獻出偉大的力量?!? 2012年2月29日 宣雨松
內(nèi)容概要
《Unity 3D游戲開發(fā)》通過實例詳細介紹了如何使用Unity進行游戲開發(fā),書中先簡要介紹了Unity環(huán)境搭建、編輯器和GUI游戲界面相關(guān)的知識,接著介紹了如何使用C#和JavaScript構(gòu)建游戲腳本,添加樹、草、石頭等模型以及鍵盤事件、鼠標事件和3D模型動畫相關(guān)的內(nèi)容,然后介紹了持久化數(shù)據(jù)、音頻與視頻播放等內(nèi)容,最后以一款第一人稱射擊類游戲為原型,向讀者詳細介紹游戲制作的整個過程。
《Unity 3D游戲開發(fā)》適合具備一些JavaScript與C#語言基礎(chǔ),并且想快速入門Unity 3D游戲開發(fā)的人員閱讀。
作者簡介
宣雨松,網(wǎng)名雨松MOMO。首款入駐美國蘋果店數(shù)字體育產(chǎn)品GolfSense Unity3D主程,CSDN博客專家,51CTO博客之星,51CTO移動開發(fā)論壇版主,Unity圣典開發(fā)論壇版主,5年以上移動游戲與軟件開發(fā)經(jīng)驗。曾經(jīng)領(lǐng)導(dǎo)與參與的游戲項目包括:GolfSense、新少林寺、天降少女、游龍戲鳳西門慶等。個人獨立博客地址http://www.xuanyusong.com/。
書籍目錄
目 錄
第1章 基礎(chǔ)知識 1
1.1 Unity簡介 1
1.2 下載與安裝 2
1.3 游戲界面對比 8
1.4 購買許可證 10
1.5 打包與發(fā)布 13
1.6 本章小結(jié) 16
第2章 編輯器的結(jié)構(gòu) 17
2.1 游戲工程 17
2.1.1 創(chuàng)建工程 17
2.1.2 打開工程 19
2.2 Project視圖 20
2.3 Hierarchy視圖 23
2.4 Inspector視圖 24
2.4.1 簡介 24
2.4.2 平臺設(shè)定 25
2.5 Scene視圖 26
2.5.1 視圖介紹 27
2.5.2 移動視圖 28
2.5.3 場景工具 32
2.5.4 Scene視圖控制條 33
2.6 Game視圖 35
2.6.1 運行游戲 35
2.6.2 Game視圖控制條 35
2.6.3 導(dǎo)出與導(dǎo)入 38
2.7 第一個游戲?qū)嵗?拓展訓(xùn)練) 38
2.8 本章小結(jié) 42
第3章 GUI游戲界面 43
3.1 GUI高級控件 43
3.1.1 Label控件 43
3.1.2 Button控件 46
3.1.3 TextField控件 48
3.1.4 ToolBar控件 50
3.1.5 Slider控件 52
3.1.6 ScrollView控件 53
3.1.7 群組視圖 55
3.1.8 窗口 56
3.1.9 GUI Skin 58
3.1.10 自定義風(fēng)格組件 62
3.2 GUILayout游戲界面布局 64
3.2.1 GUI與GUILayout的區(qū)別 64
3.2.2 GUILayoutOption界面布局設(shè)置 66
3.2.3 線性布局 67
3.2.4 控件偏移 68
3.2.5 對齊方式 69
3.2.6 實例——添加與關(guān)閉窗口 71
3.2.7 設(shè)置字體 73
3.2.8 顯示中文 75
3.3 2D貼圖與幀動畫 77
3.3.1 繪制貼圖 77
3.3.2 繪制動畫 79
3.3.3 實例——人物移動 81
3.3.4 實例——用Unity開發(fā)2D游戲 83
3.4 游戲?qū)嵗螒蛑鞑藛巍?8
3.5 本章小結(jié) 90
第4章 Unity游戲腳本 91
4.1 MonoDevelop腳本編輯器 91
4.1.1 編輯器簡介 91
4.1.2 調(diào)試 92
4.2 Unity腳本的生命周期 95
4.3 利用腳本來操作游戲?qū)ο蟆?5
4.3.1 創(chuàng)建游戲?qū)ο蟆?6
4.3.2 獲取游戲?qū)ο蟆?7
4.3.3 添加組件與修改組件 102
4.3.4 發(fā)送廣播與消息 104
4.3.5 克隆游戲?qū)ο蟆?05
4.3.6 腳本組件 106
4.4 用腳本來控制對象的變換 108
4.4.1 改變游戲?qū)ο蟮奈恢谩?09
4.4.2 旋轉(zhuǎn)游戲?qū)ο蟆?10
4.4.3 平移游戲?qū)ο蟆?12
4.4.4 縮放游戲?qū)ο蟆?13
4.5 用C#編寫腳本 115
4.5.1 繼承MonoBehaviour類 115
4.5.2 聲明變量 116
4.5.3 調(diào)用方法 116
4.5.4 JavaScript與C#腳本之間的通信 119
4.6 工具類 122
4.6.1 時間 122
4.6.2 等待 123
4.6.3 隨機數(shù) 124
4.6.4 數(shù)學(xué) 124
4.6.5 四元數(shù) 125
4.7 游戲?qū)嵗〉貓D的制作 126
4.8 本章小結(jié) 130
第5章 游戲元素 131
5.1 游戲地形 131
5.1.1 創(chuàng)建地形 131
5.1.2 地形參數(shù) 132
5.1.3 編輯地形 133
5.1.4 地形貼圖 136
5.2 地形元素 140
5.2.1 樹元素 140
5.2.2 草與網(wǎng)格元素 142
5.2.3 其他設(shè)置 144
5.3 光源 145
5.3.1 點光源(Point Light) 146
5.3.2 聚光燈 147
5.3.3 平行光 148
5.4 天空盒子 149
5.4.1 Skybox組件 149
5.4.2 在場景中添加天空盒子 151
5.5 常用編輯器組件 152
5.5.1 攝像機 152
5.5.2 攝像機的類型 153
5.5.3 定制導(dǎo)航菜單欄 155
5.5.4 預(yù)設(shè) 157
5.5.5 抗鋸齒 159
5.6 游戲?qū)嵗獢z像機切換鏡頭 162
5.7 本章小結(jié) 164
第6章 物理引擎 165
6.1 剛體 165
6.1.1 簡單使用 165
6.1.2 物理管理器 167
6.1.3 力 168
6.1.4 碰撞與休眠 169
6.2 碰撞器 170
6.2.1 添加碰撞器 171
6.2.2 物理材質(zhì) 171
6.3 角色控制器 173
6.3.1 第一人稱 173
6.3.2 第三人稱 175
6.3.3 控制組件 176
6.3.4 移動與飛行 178
6.3.5 碰撞監(jiān)測 180
6.4 射線 182
6.4.1 射線的原理 182
6.4.2 碰撞監(jiān)測 183
6.5 關(guān)節(jié) 185
6.5.1 關(guān)節(jié)介紹 185
6.5.2 實例——關(guān)節(jié)組件 186
6.6 粒子特效 188
6.6.1 粒子發(fā)射器 188
6.6.2 粒子動畫 189
6.6.3 粒子渲染器 190
6.6.4 粒子效果實例 191
6.6.5 布料 193
6.6.6 路徑渲染 196
6.7 游戲?qū)嵗獡艨鍑鷫Α?98
6.8 本章小結(jié) 200
第7章 輸入與控制 201
7.1 鍵盤事件 201
7.1.1 按下事件 201
7.1.2 抬起事件 203
7.1.3 長按事件 205
7.1.4 任意鍵事件 205
7.1.5 實例——組合按鍵 206
7.2 鼠標事件 211
7.2.1 按下事件 211
7.2.2 抬起事件 212
7.2.3 長按事件 213
7.3 自定義按鍵事件 214
7.3.1 輸入管理器 214
7.3.2 按鍵事件 215
7.3.3 按鍵軸 216
7.3.4 實例——觀察模型 217
7.4 模型與動畫 219
7.4.1 模型的載入 219
7.4.2 設(shè)置3D動畫 220
7.4.3 播放3D動畫 221
7.4.4 動畫剪輯 222
7.4.5 動畫的幀 224
7.5 GL圖像庫 226
7.5.1 繪制線 226
7.5.2 實例——繪制曲線 228
7.5.3 繪制四邊形 230
7.5.4 繪制三角形 232
7.5.5 繪制3D幾何圖形 233
7.5.6 線渲染器 236
7.5.7 網(wǎng)格渲染 239
7.6 游戲?qū)嵗刂迫宋镆苿印?41
7.7 本章小結(jié) 243
第8章 持久化數(shù)據(jù) 244
8.1 PlayerPrefs類 244
8.1.1 保存與讀取數(shù)據(jù) 244
8.1.2 刪除數(shù)據(jù) 245
8.1.3 實例——注冊界面 245
8.2 自定義文件 247
8.2.1 文件的創(chuàng)建與寫入 247
8.2.2 文件的讀取 248
8.2.3 實例——讀取笑話 250
8.3 應(yīng)用程序 253
8.3.1 創(chuàng)建關(guān)卡 253
8.3.2 切換關(guān)卡 253
8.3.3 截屏 254
8.3.4 打開網(wǎng)頁 255
8.3.5 退出游戲 256
8.4 資源數(shù)據(jù)庫 256
8.4.1 加載資源 256
8.4.2 創(chuàng)建資源 257
8.4.3 創(chuàng)建文件夾 258
8.4.4 移動與復(fù)制 260
8.4.5 刪除與刷新 260
8.4.6 實例——鼠標拖動模型 261
8.4.7 實例——鼠標揀選 264
8.5 游戲?qū)嵗邮苋蝿?wù) 265
8.6 本章小結(jié) 270
第9章 多媒體與網(wǎng)絡(luò) 271
9.1 游戲音頻 271
9.1.1 音頻介紹 271
9.1.2 添加音頻 271
9.1.3 播放音頻 273
9.2 游戲視頻 275
9.2.1 創(chuàng)建視頻 275
9.2.2 播放視頻 276
9.2.3 GUI播放視頻 278
9.3 網(wǎng)絡(luò) 279
9.3.1 下載文件 279
9.3.2 自定義資源包 281
9.3.3 下載資源包 283
9.3.4 創(chuàng)建本地服務(wù)器 285
9.3.5 客戶端連接服務(wù)器 289
9.3.6 實例——多人聊天服務(wù)器端 290
9.3.7 實例——多人聊天客戶端 292
9.4 游戲?qū)嵗唵蔚木W(wǎng)絡(luò)游戲 297
9.5 本章小結(jié) 304
第10章 游戲?qū)嵗怀鲋貒?05
10.1 游戲狀態(tài)機 305
10.2 游戲界面 307
10.2.1 游戲主菜單 307
10.2.2 制作角色血條 311
10.2.3 制作圖片數(shù)字 312
10.3 游戲邏輯 314
10.3.1 發(fā)射子彈與擊打目標 314
10.3.2 敵人的AI 318
10.3.3 增加敵人預(yù)設(shè) 321
10.4 完整的游戲 322
10.5 本章小結(jié) 334
章節(jié)摘錄
基礎(chǔ)知識 Unity是一款3D跨平臺次世代游戲引擎,“Unity”一詞的中文解釋為“團結(jié)”,好比集合所有人的力量一起來完成一件偉大的巨作一般,這款游戲引擎以其強大的跨平臺特性與絢麗的3D渲染效果而聞名出眾。該款游戲引擎的開發(fā)商是大名鼎鼎的Unity Technologies,近年來該公司處于飛速發(fā)展當(dāng)中。起初Unity的版本為1.0.0,它只可部署在Mac OS下并且只能制作iPhone中的游戲。隨著它不斷發(fā)展與壯大,目前Unity的版本已經(jīng)升級至3.5,可同時部署在Mac OS與Windows兩種操作系統(tǒng)之上,橫跨的主流游戲平臺高達9種。而且其3D渲染效果也得到了大幅度提升?!? 目前全球的Unity注冊用戶已經(jīng)超過6000萬,國內(nèi)首款Unity 3D PC網(wǎng)游《將魂》已震撼面市,開啟了網(wǎng)絡(luò)游戲的新紀元。此外,大量的Unity 3D網(wǎng)頁游戲也涌現(xiàn)在我們的視線當(dāng)中。在移動方面,蘋果的App Store中有1500多款游戲是使用Unity進行開發(fā)的,Android平臺中也有不少Unity制作的優(yōu)秀游戲??傊?,Unity近幾年的蓬勃發(fā)展已經(jīng)讓它在游戲業(yè)內(nèi)站穩(wěn)腳跟,讓越來越多的好游戲脫穎而出。未來,Unity還會融合更多炫酷的功能并且橫跨更多的游戲平臺,請大家拭目以待?!? 1.1 Unity簡介 Unity是一款標準的商業(yè)游戲引擎,而商業(yè)引擎的主要特點有收費、封閉源碼和功能強大?!? 關(guān)于收費情況,Unity的使用費用非常昂貴,最便宜的普通版許可證也需要400美元,加強版本為1500美元。當(dāng)然許可證的版本不同,引擎支持的功能也就截然不同。具有加強版許可證的引擎的很多強大功能是有普通版許可證的引擎所不具備的。但是從學(xué)習(xí)的角度來說,無須購買許可證同樣可以進行,因為許可證更大的用處在于游戲制作完成后的打包與發(fā)布,不購買許可證制作的游戲是無法發(fā)售的,不過,單就學(xué)習(xí)而言,我們完全無須購買許可證,選擇免費的Unity即可?!? 游戲引擎的開源與閉源是兩種主要的趨勢,它們之間各有利弊。如果采取開源形式,那么為了學(xué)習(xí)與鉆研引擎,使用人數(shù)肯定會大幅度提高,缺點是因為已經(jīng)將源代碼赤裸裸地發(fā)放,所以第三方對源碼加以修改,容易造成不勞而獲的情況。而封閉源碼則可以讓引擎更加安全,并且有效地保護引擎的知識產(chǎn)權(quán)。Unity就是采取完全封閉源碼的形式?!? Unity引擎的功能非常強大,其中一個顯著特點就是跨平臺游戲開發(fā)??缙脚_開發(fā)無疑為開發(fā)者節(jié)省了大量時間。平臺之間的差異會直接影響到開發(fā)進度,比如屏幕尺寸、操作方式、硬件條件等的不同會給開發(fā)者造成巨大的麻煩,因為在不同的平臺中開發(fā)者需要花更多時間去做平臺之間的移植開發(fā),而將大量時間浪費在這上面并不值得。Unity幾乎為開發(fā)者完美地解決了這一難題,將大幅度減少移植過程中一些不必要的麻煩,但使用它后也并非一點麻煩都不會產(chǎn)生。因為各平臺的硬件條件是不同的,比如PC的硬件條件肯定會強于移動平臺,所以開發(fā)者還需要針對不同的平臺做一番取舍?!? 介紹完Unity的主要特點后,下面簡要介紹一下開發(fā)環(huán)境。Unity可部署在Mac OS或Windows操作系統(tǒng)中,在這兩種操作系統(tǒng)中,除了客戶端操作習(xí)慣與界面有些差異以外,引擎自身的功能沒有任何區(qū)別。學(xué)習(xí)Unity之前,請讀者選擇適合自己的操作系統(tǒng)?!? 1.2 下載與安裝 在撰寫本書之時,Unity官方的最新版本為Unity 3.5,所以書中將主要以Unity3.5進行講解。后續(xù)如果Unity版本進行了升級,讀者亦可在Unity官網(wǎng)下載最新版本并結(jié)合本書進行學(xué)習(xí)。因為Unity支持向下兼容,所以在新版本中同樣可以運行書中的所有游戲例子,這點請讀者放心。 首先我們登錄Unity官網(wǎng)的下載地址開始下載Unity 3.5的安裝包。打開Unity官方下載網(wǎng)頁(如圖1-1所示)后,點擊右側(cè)的Download Unity 3.5按鈕,開始下載Unity的程序安裝包。下載時,官網(wǎng)會檢測下載此安裝包所使用的操作系統(tǒng)從而進入對應(yīng)的下載頁面,比如讀者使用Mac OS操作系統(tǒng),下載Unity時下載頁面就是Mac OS版本,使用Windows操作系統(tǒng)時,下載Unity時下載頁面就是Windows版本。當(dāng)然,也可自行選擇下載的Unity程序包,在圖中右下方點擊“ Developing on Windows”鏈接可切換到Windows版本的下載頁面,點擊“Developing on Mac OS X”鏈接可切換到Mac OS版本的下載頁面?!? 如圖1-1所示,在Download Unity 3.5按鈕下方,還有3個比較重要的鏈接,其含義如下所示?!? System Requirements:系統(tǒng)需求,開發(fā)環(huán)境的硬件需求?!? License Comparison:許可證對比,許可證版本之間的區(qū)別。 Release Notes:版本發(fā)布說明,這里包含Unity所有歷史版本的發(fā)布說明以及它們的下載地址?!? 圖1-1 Unity下載頁面 目前Unity支持在Mac OS與Windows兩種操作系統(tǒng)下編寫游戲,本節(jié)我們將向讀者詳細介紹如何在這兩種操作系統(tǒng)下搭建Unity開發(fā)環(huán)境。下面我們先介紹如何在Mac OS中搭建Unity開發(fā)環(huán)境?!? 1. 在Mac OS下安裝Unity 下載完畢后,可以看到Unity 3.5的安裝包,雙擊它后即可進行Unity的安裝。這里需要說明的是,在首次安裝Unity時需要聯(lián)網(wǎng)注冊,只有注冊成功后才可以使用Unity。啟動Unity 3.5安裝包后,程序?qū)棾鯱nity的注冊向?qū)Ы缑?,如圖1-2所示?!? 圖1-2 注冊向?qū)Ы缑妗? 在頁面下方點擊”Register“按鈕后,此時將進入Unity激活界面,如圖1-3所示。在激活界面中,首先需要選擇激活方式。激活方式有聯(lián)網(wǎng)激活(Internet activation)與手動激活(Manual activation)兩種。聯(lián)網(wǎng)激活適用于未購買Unity許可證的用戶,而手動激活適用于已購買許可證的用戶,這里我們選擇”Internet activation“進行聯(lián)網(wǎng)激活?!? 圖1-3 Unity激活頁面 點擊”Next“按鈕,程序會自動幫我們打開Unity聯(lián)網(wǎng)激活的頁面,如圖1-4所示。為了完成激活,讀者需要按照提示正確填寫注冊的相關(guān)信息,它們包括開發(fā)者郵箱與公司地址。內(nèi)容填寫完畢后,直接點擊”Free“按鈕免費激活Unity?!? 這里需要說明一下,Unity的試用期只有30天。我們知道Unity的許可證可分為普通版與加強版兩種,普通版本只具備Unity的基本功能,而加強版本更為強大,比如增強了3D特效、特殊的光影效果、3D渲染特效等。然而30天的使用期限是針對于加強版本的,30天后將無法繼續(xù)免費使用加強版本中的功能,需要繳費購買許可證,但是普通版本的功能仍然可以繼續(xù)使用。關(guān)于普通版本與加強版本兩者的詳細區(qū)別,讀者可點擊”License Comparison“按鈕進行查看?!? 圖1-4 聯(lián)網(wǎng)激活頁面 點擊”Free“按鈕后,程序?qū)⒋蜷_注冊完成界面,如圖1-5所示,這表示Unity的 Mac OS版本已經(jīng)徹底在本機中注冊完畢,然后在界面中點擊下方的”Finish“按鈕,開始我們Unity學(xué)習(xí)之旅?!? 圖1-5 注冊完成 需要說明的是,Unity注冊向?qū)е粫诒緳C第一次安裝Unity時出現(xiàn),注冊完畢即表示安裝成功。后續(xù)如果讀者需要覆蓋安裝或者升級,只需打開Unity程序安裝包,根據(jù)提示點擊下一步即可?!? 2. 在Windows下安裝Unity 在Windows下安裝Unity與在Mac OS下安裝有細微的差別。首先下載Unity 3.5 Windows版本,然后打開它開始安裝。 在Windows中首次安裝Unity同樣需要注冊,由于注冊方法與Mac OS完全一樣,這里就不再贅述。但是在Windows下注冊完畢后,需要進行安裝,具體操作如下:首先按照Mac OS中的注冊方法在本機完成注冊,然后程序?qū)棾霭惭bUnity界面,如圖1-6所示。 點擊”Next“按鈕,將進入安裝說明界面,如圖1-7所示?!? 安裝前,請仔細閱讀安裝說明,確保無誤后點擊 “I Agree” 按鈕繼續(xù)安裝,此時將進入Unity選擇安裝界面,如圖1-8所示。除了安裝Unity主程序外,還可選擇性安裝一些插件或工具。下面簡單介紹一下這些安裝組件?!? Unity:主程序,必須安裝。 Example Project:示例程序,可供用戶參考?!? Unity Development Web Player:Web開發(fā)者安裝包?!? MonoDevelop:腳本編輯器,強烈建議安裝?!? 圖1-6 開始安裝 圖1-7 安裝說明界面 圖1-8 選擇安裝界面 選擇完插件與工具后,點擊”Next“按鈕,將打開確認安裝界面,如圖1-9所示,點擊”Browse…“按鈕,可設(shè)定Unity程序的安裝路徑。 圖1-9 確認安裝界面 選擇安裝路徑后,點擊”Install“按鈕,程序?qū)㈤_始自動安裝。此時需要耐心等待一會兒,安裝完畢后,程序?qū)⑦M入最后的安裝完成界面,如圖1-10所示,然后點擊”Finish“按鈕,將徹底完成Unity的安裝。如果在界面中勾選”Run Unity 3.5.0f5“復(fù)選框,安裝完畢后Unity將自動被打開?!? 圖1-10 完成安裝 1.3 游戲界面對比 安裝完Unity后,我們來打開它,首先映入我們眼簾的就是Unity的編輯器界面。在Mac OS 與Windows下,Unity的界面非常相似,并且它們之間的功能也都完全一樣,包括制作游戲的方法、腳本的編寫以及打包的過程等。它們之間唯一的一點小區(qū)別就是導(dǎo)航菜單欄的位置不太一樣,但是導(dǎo)航菜單欄中的選項與功能都是完全一樣的。所以說,無論在Mac OS中使用Unity還是在Windows中使用Unity,其開發(fā)過程完全一樣。下面我們首先在Mac OS下打開Unity的界面?!? 1. Mac OS下的Unity界面 根據(jù)Mac OS操作系統(tǒng)自身的習(xí)慣,Unity的導(dǎo)航菜單欄位于屏幕頂部,如圖1-11所示,其優(yōu)點是它不會因為鼠標拖動下方引擎界面而發(fā)生位置的改變。導(dǎo)航菜單欄中包括Unity非常重要的一些功能,后面會向讀者詳細介紹其中的含義?!? 圖1-11 導(dǎo)航菜單欄 首次進入Unity時會彈出歡迎窗口(如圖1-12所示),如果不設(shè)置關(guān)閉,每次打開Unity時都會自動打開這個窗口,其有一些選項可以幫助我們學(xué)習(xí)Unity,下面介紹一些這些選項的具體含義。 Video Tutorials:視頻學(xué)習(xí)教程,這些都是Unity官方推薦的視頻教程,它們非常全面,只可惜都是英文的?!? Unity Basics:使用事項,涵蓋引擎自身的一些配置參數(shù)以及對電腦硬件的需求等?!? Unity Answers:問題與回答,讀者可在這里與世界各地的朋友一起討論Unity游戲開發(fā)?!? Unity Forum:Unity官方創(chuàng)建的開發(fā)者論壇?!? Unity Asset Store:資源商店,這里聚集著很多游戲開發(fā)所需的資源,有免費的也有收費的?!? 圖1-12 Mac OS下的Unity界面 2. Windows下的Unity界面 圖1-13為Windows下進入Unity的主界面效果圖。和Mac OS下基本相同,只是界面的顏色與導(dǎo)航菜單欄的位置有點小小的區(qū)別,在Windows下Unity導(dǎo)航菜單欄可隨窗口移動,而在Mac OS中,它則位于屏幕頂部?!? 圖1-13 Windows下的Unity界面 1.4 購買許可證 Unity是一款收費的游戲引擎,讀者可登錄官網(wǎng)查看Unity許可證的購買地址與方式。 目前,可使用歐元、美元和日元購買Unity的許可證。如圖1-14所示,打開Unity的購買網(wǎng)址,在”Store“的子頁面標題中選擇”Products“頁面,在下方Unity版本中選擇一個需要購買的版本,左側(cè)為普通版本,右側(cè)為加強版本,然后在右側(cè)的下拉列表中選擇購買Unity的幣種。 圖1-14 選擇購買版本 選擇完購買版本后,可以繼續(xù)購買Unity配置插件。插件可以更好地幫助Unity開發(fā)游戲,目前配置插件只包括移動開發(fā)的Android平臺與iOS平臺,分為普通插件與加強插件。Team License為團隊許可證,多臺電腦可使用Team License同時進行開發(fā)。如圖1-15所示,其中已經(jīng)列出了詳細的購買參數(shù)?!? 圖1-15 選擇配置插件 選擇完合適的版本與插件后,點擊右下角的”Add to Cart“按鈕,將彈出確認購買頁面,如圖1-16所示,其中將出現(xiàn)之前選擇購買的Unity版本與配置插件。確認無誤后,點擊”Check Out“按鈕開始購買,系統(tǒng)將調(diào)出信用卡支付界面,根據(jù)提示即可完成購買?!? 圖1-16 確認購買頁面 這里需要說明的是,購買時需要登錄自己的Unity賬號,如果之前沒有注冊賬號,系統(tǒng)會提示你注冊,或者自己登錄官網(wǎng)注冊,注冊Unity的網(wǎng)址如下:https://store.unity3d.com/users/new?!? 如果已經(jīng)購買過Unity許可證,比如之前購買的許可證是普通版本,既可以繼續(xù)購買新版本,也可以為許可證進行加強版升級。不過升級也需要付款,支付金額與升級選項均與已有版本相關(guān)。如圖1-17所示,在”Store“的子頁面中選擇”My Licenses“頁面,登錄Unity,然后就可以繼續(xù)購買或升級自己的許可證?!? 圖1-17 升級 許可證購買成功后,會得到Unity提供的一串序列號,這串序列號需要在Unity程序中進行激活。在Unity導(dǎo)航菜單欄中選擇”Unity“→”Enter Serial Number“菜單項,如圖1-18所示,接著輸入購買的許可證序列號即可完成激活。 圖1-18 輸入序列號 然后在導(dǎo)航菜單欄中選擇”Unity“→”About Unity“菜單項,將彈出”About Unity“頁面,如圖1-19所示,許可證類型與序列號出現(xiàn)在界面的右下角。 圖1-19 “About Unity”界面 1.5 打包與發(fā)布 首先我們需要找一個游戲工程來學(xué)習(xí)如何打包與運行游戲,在Unity官網(wǎng)中有很多可免費下載的示例程序,這是相當(dāng)珍貴的學(xué)習(xí)資料?!? 下面我們介紹如何打包與發(fā)布游戲。首先選擇一個比較完整的游戲示例來進行講解,根據(jù)上述的下載地址將游戲工程“AngryBots”下載至本地。啟動Unity,在導(dǎo)航菜單欄中選擇“File”→“Open Project”菜單項,打開一個現(xiàn)有的游戲工程,這里我們選擇打開剛才下載的“AngryBots”游戲工程?!? 默認情況下,打開游戲工程后,場景視圖與游戲視圖中是不存在任何游戲資源的,需要打開當(dāng)前游戲?qū)?yīng)的某個場景文件。如圖1-20所示,我們打開“AngryBots”這個場景文件,此時場景視圖與游戲視圖中出現(xiàn)了該場景文件中游戲的所有資源。不同場景對應(yīng)的游戲資源也會不一樣,所以直接打開對應(yīng)的場景文件即可?!? 如圖1-20所示,在Unity界面右上角的下拉列表用于設(shè)置Unity界面的整體布局,默認布局為“Wide”,我習(xí)慣使用“2 by 3”布局,讀者也可根據(jù)自己的喜好選擇適當(dāng)?shù)慕缑娌季?。? 游戲制作完畢后,需要進行平臺打包才能最終發(fā)布。由于我已經(jīng)購買了iOS平臺的Unity許可證,所以本節(jié)將以iOS平臺打包為例向讀者介紹打包過程?!? 首先在Unity導(dǎo)航菜單欄中選擇“File”→“Build Settings”菜單項,打開“Build Settings”窗口,如圖1-21所示,在打包平臺中選擇iOS,然后點擊右下角的“Build And Run”按鈕,此時Unity將幫我們自動生成對應(yīng)iOS平臺的Xcode游戲工程。其他平臺的游戲包制作方法與iOS平臺完全一樣。只需選擇對應(yīng)的打包平臺,Unity遍可輕松實現(xiàn)跨平臺游戲打包與發(fā)布。 注意 Xcode是蘋果公司免費向開發(fā)人員提供的集成開發(fā)環(huán)境,用于開發(fā)Mac OS X應(yīng)用程序。Xcode從3.1開始附帶iOS SDK?!? 圖1-20 界面布局 圖1-21 “Build Settings”窗口 構(gòu)建完iOS工程后,Unity會自動生成對應(yīng)的Xcode游戲工程,其中包括運行在iOS平臺下的所有Objective-C代碼。使用Xcode打開Unity生成的游戲工程后,點擊運行游戲按鈕,構(gòu)建的游戲工程與運行效果圖將出現(xiàn)在我們面前,如圖1-22所示?!? 圖1-22 運行效果 在Windows下打包與運行的方式與Mac下完全一樣,同樣是在Unity導(dǎo)航菜單欄中選擇“File”→“Build Settings”菜單項,此時打開Build Settings對話框,如圖1-23所示,在打包游戲平臺中選擇Unity 3.5版本最新支持的Flash Player格式(目前免費),因為Flash Player格式需要Java虛擬機的支持,所以在構(gòu)建項目之前請確保電腦中配置了Java環(huán)境。確保無誤后,點擊右下角的“Build and Run”按鈕,即可在Windows下創(chuàng)建自己的項目?!? 圖1-23 在Windows下打包與運行 項目構(gòu)建完畢后,Unity會將Flash文件生成在指定路徑當(dāng)中。找到生成的Flash文件,打開它即可在Windows下運行該Flash游戲,如圖1-24所示。怎么樣?跨平臺開發(fā)很酷吧。 圖1-24 打包與運行 上面我們介紹了Unity在iOS平臺下的打包過程。Unity在iOS平臺下打包后,會將整個Xcode工程提供給開發(fā)者,而其他平臺不會像iOS那樣將源代碼提供給開發(fā)者,而僅提供一個可運行的文件,比如在Android平臺中打包后將生成一個.apk包,PC and Mac平臺下打包后生成對應(yīng)的.exe與mac應(yīng)用程序,F(xiàn)lash Player平臺下打包后生成.swf格式的運行程序,WebPlayer平臺下打包后生成網(wǎng)頁格式的運行程序?!? 實際開發(fā)中可以通過消息傳遞或者插件的形式將游戲平臺的相關(guān)代碼加入到Unity工程中。例如,在Android平臺下,Unity中無法使用Android系統(tǒng)提供的高級控件,可以將Android下的Java代碼以插件的形式放在Unity工程中,最終通過傳遞消息的形式通知插件調(diào)用Android高級控件的方法。 1.6 本章小結(jié) 本章主要向讀者介紹了學(xué)習(xí)Unity的基礎(chǔ)知識,開發(fā)Unity 3D游戲之前的一切準備工作。首先介紹了Unity這款商業(yè)游戲引擎的特點,之后分別以Mac OS和Windows平臺為例,簡明扼要地介紹了這兩種操作系統(tǒng)下Unity引擎的環(huán)境搭建以及它們之間的一些區(qū)別。然后介紹了Unity這款商業(yè)引擎的購買方式,學(xué)習(xí)了如何購買Unity及其相關(guān)配置插件。最后介紹Unity跨平臺打包與運行的過程,以Mac OS下iOS平臺與Windows下Flash平臺為例向讀者展示了完整的打包與制作方法。作為Unity學(xué)習(xí)的基礎(chǔ),希望讀者們認真學(xué)習(xí)本章內(nèi)容,為后續(xù)章節(jié)的學(xué)習(xí)做好鋪墊?!? ……
媒體關(guān)注與評論
如今移動平臺iOS、Android、Windows Phone 7智能手機的迅速崛起,讓整個游戲行業(yè)的競爭愈演愈烈。在各個游戲平臺相互競爭的同時,Unity跨平臺游戲引擎出現(xiàn)在了我們面前,跨平臺將會開啟下一代游戲開發(fā)的模式,本書基于Unity 3.5編寫,通過豐富的游戲?qū)嵗?,以JavaScript與C#這兩種語言介紹Unity開發(fā)。對于入門Unity開發(fā)的讀者,這本書是絕佳的參考資料,強烈推薦! ——Unity圣典 Unity 3D跨平臺游戲引擎以迅雷不及掩耳之勢出現(xiàn)在我們面前,橫跨9種主流游平臺,具有出色的物理引擎以及3D渲染效果。當(dāng)你在Unity開發(fā)門外徘徊時,本書絕對值得你閱讀。此外,每章最后都有一個游戲示例引導(dǎo)你快速上手Unity開發(fā)。 ——51CTO產(chǎn)品部副經(jīng)理老友 與其他游戲引擎相比,Unity最顯而易見的特點就是,一次開發(fā)即可輕松部署到Windows、Mac、iOS、Android、Wii、PS3等平臺,告別以往高難度的、耗時的跨平臺游戲開發(fā),使快速、高質(zhì)量的游戲開發(fā)成為可能。本書詳盡介紹了Unity的安裝、使用及深入開發(fā)等,并通過相應(yīng)的實例來鞏固知識點,是快速入門及提高Unity技術(shù)的必備書。愿本書能給我們大家?guī)碓絹碓蕉嘤蒛nity開發(fā)的優(yōu)秀游戲! ——Unity資深用戶四角錢
編輯推薦
《Unity3D游戲開發(fā)》主要從初學(xué)者入門的角度去講解Unity游戲開發(fā),無論讀者是轉(zhuǎn)行學(xué)習(xí)也好,入門學(xué)習(xí)也罷,甚至是毫無任何編程經(jīng)驗的人員,都可以閱讀本書,并且可以讓讀者快速學(xué)會如何使用Unity制作3D游戲。本書將以兩種語言去講解游戲腳本的編寫,由于JavaScript語言更適合初學(xué)者,所以入門階段我們將使用JavaScript語言介紹,而在進階階段將使用C#語言。為方便讀者學(xué)習(xí),書中每一章都含有豐富的游戲?qū)嵗c源代碼。最后一章以一個第一人稱射擊類3D游戲為實例充分向讀者介紹游戲?qū)崙?zhàn)開發(fā)的過程。本書由宣雨松編著。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載