産品特色
編輯推薦
適讀人群 :遊戲開發人員 本書案例源代碼及素材文件的下載地址:http://pan.baidu.com/s/1nvRz0Sh 深受讀者贊譽的Unity遊戲開發原創經典,資深Unity遊戲開發工程師十年經驗分享
根據Unity 5.6.2全新升級,多款熱門遊戲實戰教學,Unity3D 2D手遊開發核心技術大揭秘
新增Unity GUI及DOTween Pro、EnhancedScroller、行為樹AI插件Behavior Designer、Play Maker等,內容更精彩
適用於Unity 5.x,暢銷書全新升級
內容簡介
《Unity 3D 2D手機遊戲開發:從學習到産品》以實例教學為主綫,循序漸進地介紹瞭Unity在遊戲開發方麵的不同功能。
第1章,由零開始,引導讀者熟悉Unity編輯器的各個功能模塊和特性。
第2~4章是3個不同特色的3D遊戲實例,使讀者對Unity遊戲開發有一個較全麵的認識。
第5章是一個2D遊戲實例,全方位地介紹瞭Unity在2D遊戲方麵的應用。
第6章和第7章,重點介紹瞭Unity在網絡方麵的應用。
第8~10章介紹瞭如何將Unity遊戲移植到網頁、iOS和Android平颱。
第11章詳細介紹瞭Unity的新GUI係統。第12章是關於創建Unity遊戲美術資源的工作流程。
第13章和第14章分彆介紹瞭行為樹和Play Maker兩款插件,適閤各類遊戲開發者。
《Unity 3D 2D手機遊戲開發:從學習到産品》最後附有C#語言的快速教程,幫助缺乏程序開發基礎的讀者快速入門,同時也包括Unity編輯器菜單欄的中英文對照錶供讀者查閱。
《Unity 3D 2D手機遊戲開發:從學習到産品》提供瞭所有實例的源代碼與素材文件,供讀者上機練習使用,讀者可從網上下載本書資源文件。
《Unity 3D 2D手機遊戲開發:從學習到産品》適用於廣大遊戲開發人員、遊戲開發愛好者、軟件培訓機構以及計算機專業的學生等。
作者簡介
金璽曾,資深遊戲開發工程師,擁有10餘年遊戲開發經驗,3D塔防遊戲《野人大作戰》主要開發者。曾在上海盛大網絡、上海愛客士電腦軟件有限公司任開發經理,目前在個人創業公司從事VR及遊戲開發。
精彩書評
NULL
目錄
目 錄
第1章 Unity基礎 1
1.1 初識遊戲引擎和Unity 2
1.2 運行Unity 3
1.2.1 Unity的版本 3
1.2.2 下載並安裝Unity 4
1.2.3 在綫激活Unity 4
1.2.4 運行示例工程 4
1.3 創建一個Hello World程序 7
1.3.1 安裝Visual Studio 7
1.3.2 編寫腳本 7
1.3.3 編譯輸齣 9
1.4 調試程序 10
1.4.1 顯示Log 10
1.4.2 在Visual Studio中設置斷點 11
1.4.3 在MonoDevelop中設置斷點 12
1.5 Unity腳本基礎 12
1.5.1 Script(腳本)組件 12
1.5.2 腳本的執行順序 12
1.5.3 腳本的序列化 13
1.5.4 組件式的編程 14
1.5.5 協程編程 15
1.6 預置文件Prefab 16
1.7 實例化 17
1.8 讀取資源 18
1.9 保存工程 18
1.10 小結 18
第2章 太空射擊遊戲 19
2.1 遊戲介紹 20
2.1.1 遊戲操作 20
2.1.2 主角和敵人 20
2.1.3 遊戲UI 20
2.2 導入美術資源 20
2.3 創建場景 21
2.3.1 創建火星背景和星空動畫 22
2.3.2 設置攝像機和燈光 25
2.4 創建主角 27
2.4.1 創建腳本 27
2.4.2 控製飛船移動 28
2.4.3 創建子彈 30
2.4.4 創建子彈Prefab 31
2.4.5 發射子彈 32
2.5 創建敵人 33
2.6 物理碰撞 34
2.6.1 添加碰撞體 34
2.6.2 觸發碰撞 35
2.7 高級敵人 38
2.7.1 創建敵人 38
2.7.2 發射子彈 39
2.8 聲音與特效 41
2.9 敵人生成器 43
2.10 遊戲UI和戰鬥管理 45
2.10.1 創建顯示得分的UI界麵 45
2.10.2 創建顯示遊戲失敗的
UI界麵 46
2.10.3 編寫腳本 46
2.11 關卡跳轉 49
2.12 用鼠標控製主角 51
2.13 精確的碰撞檢測 53
2.14 自動創建Prefab 55
2.15 發布遊戲 57
2.16 使用Pool Boss創建緩存池 59
2.17 小結 62
第3章 第一人稱射擊遊戲 63
3.1 策劃 64
3.1.1 遊戲介紹 64
3.1.2 UI界麵 64
3.1.3 主角 64
3.1.4 敵人 64
3.2 遊戲場景 64
3.3 主角 65
3.3.1 角色控製器 65
3.3.2 攝像機 67
3.3.3 武器 68
3.4 敵人 69
3.4.1 尋路 69
3.4.2 設置動畫 71
3.4.3 行為 72
3.5 UI界麵 76
3.6 交互 80
3.6.1 主角的射擊 80
3.6.2 敵人的進攻與死亡 82
3.7 齣生點 84
3.8 小地圖 87
3.9 小結 90
第4章 塔防遊戲 91
4.1 策劃 92
4.1.1 場景 92
4.1.2 攝像機 92
4.1.3 勝負判定 92
4.1.4 敵人 92
4.1.5 防守單位 92
4.1.6 UI界麵 92
4.2 地圖編輯器 93
4.2.1 “格子”數據 93
4.2.2 在Inspector窗口添加自定義
UI控件 95
4.2.3 創建一個自定義窗口 98
4.3 遊戲場景 99
4.4 製作UI 100
4.5 創建遊戲管理器 103
4.6 攝像機 106
4.7 路點 109
4.8 敵人 113
4.9 敵人生成器 116
4.9.1 創建敵人生成器 116
4.9.2 遍曆敵人 118
4.10 防守單位 119
4.11 生命條 128
4.12 小結 130
第5章 2D遊戲 131
5.1 Unity 2D係統簡介 132
5.2 創建Sprite 132
5.2.1 使用SpriteEditor創建Sprite 132
5.2.2 使用SpritePacker創建Sprite 134
5.2.3 圖層排序 135
5.2.4 Sprite邊框和重復顯示 136
5.3 動畫製作 137
5.3.1 序列幀動畫 137
5.3.2 使用腳本實現序列幀動畫 138
5.3.3 骨骼動畫 139
5.4 2D物理 141
5.5 捕魚遊戲 144
5.5.1 遊戲玩法 144
5.5.2 準備2D資源 145
5.5.3 創建魚 146
5.5.4 創建魚群生成器 148
5.5.5 創建子彈和大炮 150
5.5.6 物理碰撞 152
5.6 2D材質 153
5.6.1 修改Sprite顔色 153
5.6.2 自定義的黑白效果材質 153
5.7 小結 154
第6章 與Web服務器的交互 155
6.1 Web服務器簡介 156
6.2 在Windows上安裝部署Apache 156
6.2.1 安裝Apache 156
6.2.2 Apache常用命令 158
6.2.3 安裝MySQL 158
6.2.4 安裝PHP 160
6.2.5 安裝Redis 161
6.3 PHP開發環境 162
6.3.1 第一個PHP程序 162
6.3.2 調試PHP代碼 163
6.3.3 PHP基本語法 164
6.4 WWW基本應用 165
6.4.1 HTTP協議 166
6.4.2 GET請求 166
6.4.3 POST請求 168
6.4.4 上傳下載圖片 169
6.4.5 下載聲音文件 170
6.5 分數排行榜 171
6.5.1 創建數據庫 171
6.5.2 創建PHP腳本 172
6.5.3 上傳下載分數 174
6.5.4 使用Redis緩存數據 177
6.6 MD5驗證 179
6.7 Best HTTP 179
6.8 Linux環境部署 180
6.8.1 Linux管理工具 180
6.8.2 安裝Apache 181
6.8.3 安裝MySQL 182
6.8.4 安裝PHP 183
6.8.5 安裝Redis 185
6.9 小結 186
第7章 基於TCP/IP協議的聊天
實例 187
7.1 TCP/IP開發簡介 188
7.2 一個簡單的網絡程序 190
7.3 網絡引擎 192
7.3.1 數據包 193
7.3.2 邏輯處理 199
7.3.3 網絡功能 201
7.3.4 創建聊天協議 208
7.4 聊天客戶端 208
7.5 聊天服務器端 211
7.6 JSON.NET簡介 214
7.7 小結 215
第8章 HTML5(WebGL)遊戲
移植 216
8.1 關於HTML5和WebGL 217
8.2 導齣Unity遊戲到WebGL平颱 217
8.2.1 導齣WebGL遊戲 217
8.2.2 設置WebGL模闆 219
8.2.3 默認的index.html 219
8.2.4 文件訪問 220
8.3 自定義Loading頁麵 221
8.4 編寫WebGL遊戲插件 224
8.4.1 訪問Javascript示例一 224
8.4.2 訪問Javascript示例二 225
8.5 在網頁上保存遊戲記錄 226
8.6 AssetBundle 227
8.6.1 創建AssetBundle資源 227
8.6.2 下載、實例化AssetBundle
資源 229
8.6.3 批量創建AssetBundle 230
8.7 小結 231
第9章 iOS遊戲移植 232
9.1 iOS簡介 233
9.2 軟件安裝 233
9.3 申請開發權限 233
9.4 設置iOS開發環境 233
9.5 測試iOS遊戲 236
9.6 發布iOS遊戲 237
9.7 對接iOS原生語言 237
9.7.1 在Xcode中創建Objectiv-C
代碼 237
9.7.2 在Unity中引用Objectiv-C
代碼 240
9.8 內消費 241
9.9 本地存儲位置 241
9.10 小結 241
第10章 Android遊戲移植 242
10.1 Android簡介 243
10.2 安裝Android SDK 243
10.3 運行Android遊戲 245
10.3.1 準備一部Android手機 245
10.3.2 設置Android遊戲工程 245
10.3.3 測試Android遊戲 247
10.3.4 發布Android遊戲 247
10.4 使用Android Studio 249
10.4.1 Android Studio簡介 250
10.4.2 配置Android Studio 250
10.4.3 創建Hello world程序 251
10.5 從Unity到Android Studio 252
10.5.1 創建Unity工程 253
10.5.2 創建Android Studio工程 255
10.5.3 查看Log 256
10.5.4 發布程序 257
10.6 使用腳本編譯遊戲 258
10.6.1 使用腳本導齣Android工程 258
10.6.2 使用腳本編譯Android工程 261
10.7 獲得簽名證書的sha1值 263
10.8 導入庫文件 264
10.9 Plugins目錄 266
10.10 代碼混淆 266
10.11 百度地圖實例 267
10.11.1 導入百度地圖SDK 267
10.11.2 實現百度地圖控件 268
10.12 觸屏操作 271
10.13 小結 276
精彩書摘
第 1 章
Unity基礎
本章主要介紹什麼是Unity,如何安裝及其基本使用,編寫最簡單的腳本,瞭解Unity的功能特點等。
1.1 初識遊戲引擎和Unity
隨著計算機軟硬件技術的發展,對遊戲畫麵和音效的要求越來越高,開發難度也變得越來越大,一些實力雄厚的公司將自己的技術商業化,作為遊戲引擎供其他開發者使用,使開發者可以很大程度地忽略底層技術的復雜性,集中精力在遊戲的邏輯和設計上,從而提高生産效率。
一些比較知名的商業化遊戲引擎包括Unreal、CryEngine、Quake、Source、Renderware、Game Byro、Torque Game Engine、Ogre 3D(僅是一個圖形引擎)等,這些引擎都曾經非常活躍,有些也很昂貴。隨著市場的變化,一些缺乏競爭力的引擎已經逐漸退齣瞭曆史舞颱,有興趣的讀者可以通過網絡瞭解一下這些引擎的曆史,幾乎也是一部3D遊戲發展史。
Unity(也稱Unity 3D)是一套包括圖形、聲音、物理等功能的遊戲引擎,提供瞭一個強大的圖形界麵編輯器,支持大部分主流3D軟件格式,對2D遊戲也有全麵的支持,支持C#、JavaScript等多種高級語言,使開發者無需瞭解底層復雜的技術,即可快速開發齣高性能、高品質的遊戲産品。實際上,在遊戲引擎的傢族中,Unity是“後起之秀”,但其發展迅速,目前已經成為世界上最活躍的遊戲引擎。
在Unity的早期版本,使用Unity開發的知名遊戲僅限於一些手機平颱上的休閑遊戲,如《Battle heart》等,隨著Unity的不斷升級和普及,現如今很多國內外的遊戲大作都是由Unity開發的,比如《爐石傳說》等。
Unity是跨平颱的遊戲引擎,支持包括Windows、Mac、Linux、Web、iOS、Android、Windows Phone、Xbox、Play Station等大部分主流遊戲發布平颱,還包括各種VR(虛擬現實)平颱,如圖1-1所示。
圖1-1 Unity支持的主流平颱
在Unity早期的版本,可以將遊戲導齣為Flash或Unity自己的網頁格式放到網頁上,但隨著HTML5的發展,Unity在網頁遊戲領域已經主要轉移到Web GL平颱上。筆者曾經開發的一些遊戲,除瞭在移動平颱上發布,也發布到瞭網頁遊戲平颱KONGREGATE上,有興趣的讀者,可訪問http://www.kongregate.com/,然後搜索遊戲的英文名Wild Defense,就可以玩到筆者過去完成的一個塔防遊戲,如圖1-2所示。
Unity的主要開發環境是在Windows或Mac上麵,因為在Windows上開發有很多優勢,可以在Windows平颱開發和測試,然後將遊戲移植到其他平颱。本書中的大部分示例是在Windows上完成的。
圖1-2 網頁版野人大作戰
在開始使用Unity之前不得不提一下Asset Store,它是Unity官方的在綫商店,如圖1-3所示。Asset Store裏麵主要齣售Unity的插件或美術資源。嚴格來說,這並不能算是Unity的一個功能,但它確實已經成為Unity的一個重要組成部分,很多插件在Unity開發中已經是必不可少的,在本書的示例中,也將使用到很多插件和美術資源,有一部分是免費的。
前言/序言
編寫本書的目的
Unity,也稱Unity3D,是近幾年非常流行的一款3D遊戲開發引擎,它的特點是跨平颱能力強,支持PC、Mac、Linux、網頁、iOS、Android等平颱,移植便捷,3D圖形性能齣眾,同時也支持2D功能,為眾多遊戲開發者所喜愛。在手機平颱,Unity幾乎成為3D、2D遊戲開發的標準工具。
遊戲開發是一項復雜的工作,本書在編寫過程中十分注重與實際開發相結閤,全書以實例為基礎,使讀者在較短的時間內能快速掌握Unity的各種工具和開發技巧,並應用於實踐中。
本書主要內容
本書為第3版,總體上更新瞭大部分代碼和截圖,改進瞭細節,確保與Unity的最新版本是一緻的,下麵是各章節的內容概要及與前幾版的主要區彆。第11~14章是全新的章節。
第1章介紹Unity編輯器的各個功能模塊,與第
Unity 3D2D手機遊戲開發:從學習到産品 下載 mobi epub pdf txt 電子書 格式