Unity 3.x游戲開發實例( 簡體 字) | |
作者:[加] Ryan Henson Creighton | 類別:1. -> 多媒體 -> 遊戲引擎 -> Unity |
出版社:人民郵電出版社 | 3dWoo書號: 37049 詢問書籍請說出此書號! 有庫存 NT售價: 275 元 |
出版日:11/1/2013 | |
頁數:324 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115327710 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
PART Ⅰ 從安裝與概念開始
CHAPTER 1 安裝 3 在Windows下安裝 3 在OS X下安裝 4 在Linux下安裝 5 編譯 5 確保安裝成功 5 Node REPL 5 執行文件 6 NPM 6 安裝模塊 7 自定義模塊 8 安裝二進制工具包 9 瀏覽NPM倉庫 9 小結 10 CHAPTER 2 JavaScript概覽 11 介紹 11 JavaScript基礎 12 類型 12 類型的困惑 12 函數 13 THIS、FUNCTION#CALL以及FUNCTION#APPLY 14 􀬢􀩣􀀏􀁊􀁏􀁅􀁅􀀁􀀁􀀁􀀚 􀀓􀀑􀀒􀀔􀀎􀀒􀀒􀀎􀀒􀀁􀀁􀀁􀀒􀀙􀀛􀀔􀀚􀀛􀀓􀀚 X 目錄 函數的參數數量 14 閉包 14 類 15 繼承 16 TRY {} CATCH {} 17 v8中的JavaScript 17 OBJECT#KEYS 18 ARRAY#ISARRAY 18 數組方法 18 字符串方法 19 JSON 19 FUNCTION#BIND 19 FUNCTION#NAME 19 _PROTO_(繼承) 20 存取器 20 小結 21 CHAPTER 3 阻塞與非阻塞IO 23 能力越強,責任就越大 23 阻塞 25 單線程的世界 27 錯誤處理 29 堆棧追蹤 30 小結 32 CHAPTER 4 Node中的JavaScript 33 global對象 33 實用的全局對象 34 模塊系統 34 絕對和相對模塊 35 暴露API 37 事件 38 buffer 40 小結 41 􀬢􀩣􀀏􀁊􀁏􀁅􀁅􀀁􀀁􀀁􀀒􀀑 􀀓􀀑􀀒􀀔􀀎􀀒􀀒􀀎􀀒􀀁􀀁􀀁􀀒􀀙􀀛􀀔􀀚􀀛􀀓􀀚 目錄XI PART Ⅱ Node重要的API CHAPTER 5 命令行工具(CLI)以及FS API:首個Node應用 45 需求 45 編寫首個Node程序 46 創建模塊 46 同步還是異步 47 理解什么是流(stream) 49 輸入和輸出 50 重構 53 用fs進行文件操作 55 對CLI一探究竟 56 argv 57 工作目錄 57 環境變量 58 退出 58 信號 58 ANSI轉義碼 59 對fs一探究竟 59 Stream 59 監視 60 小結 61 CHAPTER 6 TCP 63 TCP有哪些特性 64 面向連接的通信和保證順序的傳遞 64 面向字節 65 可靠性 65 流控制 65 擁堵控制 65 Telnet 65 基于TCP的聊天程序 68 創建模塊 68 理解NET.SERVER API 68 􀬢􀩣􀀏􀁊􀁏􀁅􀁅􀀁􀀁􀀁􀀒􀀒 􀀓􀀑􀀒􀀔􀀎􀀒􀀒􀀎􀀒􀀁􀀁􀀁􀀒􀀙􀀛􀀔􀀚􀀛􀀓􀀚 XII 目錄 接收連接 70 data事件 71 狀態以及記錄連接情況 73 圓滿完成此程序 75 一個IRC客戶端程序 77 創建模塊 77 理解NET#STREAM API 78 實現部分IRC協議 78 測試實際的IRC服務器 78 小結 79 CHAPTER 7 HTTP 81 HTTP結構 81 頭信息 82 連接 87 一個簡單的Web服務器 88 創建模塊 88 輸出表單 88 method和URL 90 數據 92 整合 94 讓程序更健壯 95 一個Twitter Web客戶端 96 創建模塊 96 發送一個簡單的HTTP請求 97 發送數據 98 獲取推文 99 superagent來拯救 102 使用up重啟HTTP服務器 103 小結 104 PART Ⅲ Web開發 CHAPTER 8 Connect 107 使用HTTP構建一個簡單的網站 108 􀬢􀩣􀀏􀁊􀁏􀁅􀁅􀀁􀀁􀀁􀀒􀀓 􀀓􀀑􀀒􀀔􀀎􀀒􀀒􀀎􀀒􀀁􀀁􀀁􀀒􀀙􀀛􀀔􀀚􀀛􀀓􀀚 目錄XIII 通過Connect實現一個簡單的網站 111 中間件 112 書寫可重用的中間件 static中間件 119 query中間件 120 logger中間件 120 body parser中間件 122 cookie 125 會話(session) 126 Redis session 131 methodOverride中間件 132 basicAuth中間件 132 小結 134 CHAPTER 9 Express 135 一個小型Express應用 135 創建模塊 136 HTML 136 SETUP 137 定義路由 137 查詢 140 運行 141 設置 142 模板引擎 143 錯誤處理 144 快捷方法 144 路由 146 中間件 148 代碼組織策略 149 小結 151 CHAPTER 10 WebSocket 153 Ajax 153 HTML5 WebSocket 156 􀬢􀩣􀀏􀁊􀁏􀁅􀁅􀀁􀀁􀀁􀀒􀀔 􀀓􀀑􀀒􀀔􀀎􀀒􀀒􀀎􀀒􀀁􀀁􀀁􀀒􀀙􀀛􀀔􀀚􀀛􀀓􀀚 XIV 目錄 一個ECHO示例 157 初始化項目 157 建立服務器 158 建立客戶端 159 運行示例程序 160 鼠標光標 161 初始化示例程序 161 建立服務器 161 建立客戶端 164 運行示例程序 166 面臨一個挑戰 166 關閉并不意味著斷開連接 166 JSON 167 重連 167 廣播 167 WebSocket屬于HTML5:早期瀏覽器不支持 167 解決方案 167 小結 167 CHAPTER 11 Socket.IO 169 傳輸 170 斷開 VS 關閉 170 事件 170 命名空間 171 聊天程序 172 初始化程序 172 構建服務器 172 構建客戶端 173 事件和廣播 175 消息接收確認 179 一個輪流做DJ的應用 180 擴展聊天應用 181 集成Grooveshark API 182 播放歌曲 185 􀬢􀩣􀀏􀁊􀁏􀁅􀁅􀀁􀀁􀀁􀀒􀀕 􀀓􀀑􀀒􀀔􀀎􀀒􀀒􀀎􀀒􀀁􀀁􀀁􀀒􀀙􀀛􀀔􀀚􀀛􀀓􀀚 目錄XV 小結 190 PART Ⅳ 數據庫 CHAPTER 12 MongoDB 193 安裝 195 使用MongoDB:一個用戶認證的例子 195 構建應用程序 195 創建Express App 196 連接MongoDB 200 創建文檔 201 查找文檔 203 身份驗證中間件 204 校驗 205 原子性 206 安全模式 206 Mongoose介紹 206 定義模型 207 定義嵌套的鍵 208 定義嵌套文檔 209 構建索引 209 中間件 209 探測模型狀態 210 查詢 210 擴展查詢 210 排序第1章 這是一個神奇的工具 1 1.1 Unity 3D簡介 1 1.2 風靡全球的Unity 1 1.3 基于瀏覽器的3D?歡迎來到未來 2 1.4 實踐時刻——安裝Unity網絡播放器 2 1.5 歡迎來到Unity 3D 3 1.5.1 可以用Unity制作什么呢 3 1.5.2 完全搞定 3 1.5.3 我們應該嘗試制作《FusionFall》嗎 4 1.5.4 另一種選擇 4 1.5.5 我選擇Wooglie 6 1.6 先走后跑(或雙腳跳) 7 1.7 永遠沒有“終點” 8 1.8 停一下!工具時間 8 1.9 技術的神奇之處 10 1.10 Scene窗口 11 1.10.1 Game窗口 11 1.10.2 Hierarchy面板 12 1.11 別停下來——享受一下 16 1.12 小結 17 第2章 讓我們從天空開始 19 2.1 靈感 20 2.2 3D誘惑 20 2.3 功能VS內容 21 2.4 沒有任何功能的游戲 21 2.5 機制VS 主題 22 2.6 被困在自己的主題中 22 2.7 非凡的趣味性 23 2.8 百分之一的靈感 23 2.9 《太空采礦機》 23 2.10 注意 25 2.11 《Artillery Live!》 26 2.12 《Pong》 29 2.13 適合上千款游戲的機制 31 2.14 玩具還是故事 33 2.15 重新定義天空 34 2.16 小結 34 第3章 游戲#1:《Ticker Taker》 36 3.1 構建新Unity項目 36 3.2 Tis volley 38 3.3 讓美夢成真 38 3.4 一種古老的方法 39 3.5 顛球游戲的多方面 39 3.6 制作球和擊球手 40 3.7 實踐時刻——制作一個球 40 3.8 重命名球 41 3.9 實踐時刻——為球重命名 42 3.10 原點介紹 42 3.11 實踐時刻——將球移到空中 43 3.12 實踐時刻——將球縮小 44 3.13 實踐時刻——保存場景 45 3.14 實踐時刻——添加球拍 46 3.14.1 網格 47 3.14.2 多邊形是否會破壞游戲性能 49 3.15 讓自己處于黑暗中 49 3.16 實踐時刻——添加光源 50 3.17 實踐時刻——移動并旋轉光源 51 3.18 你是杰出人物嗎 54 3.18.1 誰把燈關了 54 3.18.2 黑暗統治 54 3.19 實踐時刻——相機工坊 54 3.20 實踐時刻——測試游戲 55 3.21 讓游戲對象動起來 56 3.22 實踐時刻——在游戲中添加動作 56 3.23 了解這種情況的嚴重性 57 3.24 讓球多次反彈 57 3.25 實踐時刻——讓球彈起來 58 3.26 小結 61 第4章 代碼 62 4.1 什么是代碼 62 4.2 實踐時刻——編寫自己的第一個Unity腳本 62 4.3 大膽一試 64 4.4 將腳本和游戲對象綁定 65 4.5 我完全不懂 65 4.6 你再也不會挨餓了 66 4.7 好代碼需要遵循的規則 67 4.8 代碼的檢查 67 4.9 實踐時刻——查找網格渲染器組件 68 4.10 實踐時刻——讓球重新出現 69 4.11 再次重申 69 4.12 實踐時刻——Unity腳本參考之旅 70 4.13 Renderer類 71 4.14 “哼”的同義詞是什么 73 4.15 這是很有意思的 74 4.16 實踐時刻——將腳本解綁 75 4.17 取消,但不要忘記 75 4.18 為什么要用代碼 76 4.19 用代碼控制游戲對象 76 4.20 實踐時刻——創建新mousefollow腳本 76 4.21 好主意 78 4.22 用代碼制作動畫效果 79 4.23 實踐時刻——為球拍制作動畫 79 4.24 選擇一個單詞——(幾乎可以是)任何詞 81 4.25 屏幕坐標VS全局坐標 81 4.26 移動球拍 83 4.27 最差的游戲 83 4.28 了解矩陣 83 4.29 實踐時刻——聽球拍的 83 4.30 一點點數學知識 84 4.31 數字的追蹤 84 4.32 修改這些數字 85 4.33 實踐時刻——記錄新數字 85 4.34 付諸行動 86 4.35 使用變量存儲重復值 86 4.36 實踐時刻——聲明存儲屏幕中心的變量 87 4.37 使用3D屏幕的所有D 88 4.38 實踐時刻——追蹤鼠標的Y位置 89 4.39 無聊的顛球游戲 90 4.40 再次挑戰自我 90 4.41 實踐時刻——再次訪問Unity語言參考 90 4.42 我們的工作到此為止 91 4.43 實踐時刻——將示例代碼添加到腳本中 92 4.44 最后的調整 94 4.45 合理的分析 94 4.46 得到target 96 4.47 繼續努力吧 97 第5章 游戲#2:《機械修復手》 99 5.1 可以完全翻轉 100 5.2 新建項目 101 5.3 創建場景 101 5.4 實踐時刻——創建兩個場景 101 5.5 沒有正確的答案 103 5.6 實踐時刻——準備GUI 103 5.7 跟著你自己的節奏 104 5.8 實踐時刻——創建并連接自定義GUI外觀 105 5.9 實踐時刻——創建UI按鈕控件 107 5.10 是否想要自定義字體 110 5.11 覆蓋素材 111 5.12 實踐時刻——禁止mip貼圖 112 5.13 位于最突出的位置 113 5.14 實踐時刻——將按鈕居中 114 5.15 進入game場景 116 5.26 實踐時刻——將這兩個場景添加到構建列表中 117 5.17 為機器人提供舞臺 118 5.18 實踐時刻——準備game場景 118 5.19 游戲創意 119 5.20 創建類 120 5.21 實踐時刻——要素的存儲 121 5.22 開始吧 122 5.23 使代碼可循環 123 5.24 循環的分解 123 5.25 嵌套是最好的 124 5.26 眼見為實 126 5.27 實踐時刻——創建存儲網格的區域 126 5.28 創建網格 127 5.29 我們已經學習了很多知識 129 第6章 游戲#2:《機械修復手》第2部分 130 6.1 從頭開始制作游戲 130 6.2 找到中心點 131 6.3 實踐時刻——將游戲網格垂直居中 132 6.4 實踐時刻——將游戲網格水平居中 134 6.5 深入問題本質 136 6.6 實踐時刻——準備創建卡片組 137 6.7 實踐時刻——創建卡片組 138 6.8 實踐時刻——修改img參數 141 6.9 “this”到底是什么呢 143 6.10 隨機占據絕對優勢 145 6.11 劃去第二項 146 6.12 是時候完全翻轉了 146 6.13 實踐時刻——將卡片做成雙面的 146 6.14 實踐時刻——創建卡片翻轉函數 148 6.15 實踐時刻——創建卡片翻轉函數 150 6.16 吃南瓜的人 152 6.17 再去掉一項吧 153 6.18 游戲和配對 153 6.19 實踐時刻——為卡片提供ID值 153 6.20 實踐時刻——比較ID值 154 6.21 迎接最后的挑戰 157 6.22 實踐時刻——檢查是否勝利 158 6.23 放馬過來吧 161 第7章 不是時鐘攔截器 166 7.1 施加壓力 166 7.2 實踐時刻——準備clockScript腳本 167 7.3 實踐時刻——準備倒計時文本 167 7.4 實踐時刻——修改倒計時文本的顏色 168 7.5 實踐時刻——創建字體紋理和材質 169 7.6 實踐時刻——小小的字體有什么用呢 172 7.7 實踐時刻——準備倒計時代碼 173 7.8 實踐時刻——創建倒計時邏輯 174 7.9 實踐時刻——在屏幕中顯示時間 176 7.10 將它圖形化 178 7.11 實踐時刻——獲取圖形倒計時的圖形 178 7.12 實踐時刻——顯示GUI的功能 180 7.13 神奇的縮減倒計時 184 7.14 拿起叉子——餅來了 184 7.15 他們如何制作這種倒計時呢 185 7.16 實踐時刻——拼湊紋理 186 7.17 實踐時刻——編寫餅圖腳本 187 7.18 實踐時刻——開始操作餅圖倒計時 190 7.19 實踐時刻——定位并縮小倒計時 192 7.20 未完成的工作 194 第8章 《Ticker Taker》 195 8.1 歡迎來到Snoozeville 195 8.2 實踐時刻——研究模型 197 8.3 實踐時刻——準備行動 200 8.4 實踐時刻——修改FBX導入縮放設置 201 8.5 實踐時刻——讓網格碰撞器凸起 202 8.6 實踐時刻——讓手和托盤隨鼠標移動 203 8.7 實踐時刻——添加heart游戲對象 203 8.8 實踐時刻——刪除球和球拍 206 8.9 實踐時刻——提供材質 206 8.10 讓游戲在三維空間中顯示 210 8.11 實踐時刻——創建幾堵墻 210 8.12 實踐時刻——創建一個字體紋理 212 8.13 實踐時刻——創建HeartBounce腳本 213 8.14 實踐時刻——給托盤設置標記 214 8.15 實踐時刻——調整反彈 215 8.16 實踐時刻——記錄反彈 216 8.17 實踐時刻——添加失敗條件 217 8.18 實踐時刻——添加Play Again按鈕 219 第9章 游戲#3:《The Break-Up》 223 9.1 實踐時刻——炸彈來了 224 9.2 實踐時刻——設置粒子的參數 227 9.3 實踐時刻——創建Spark材質 229 9.4 實踐時刻——創建預制 231 9.5 實踐時刻——燈光、攝像頭、公寓 233 9.6 實踐時刻——添加角色 234 9.7 實踐時刻——注冊動畫 235 9.8 實踐時刻——為角色添加腳本 236 9.9 實踐時刻——打開分離艙門,哈爾 238 9.10 實踐時刻——允許角色碰撞 239 9.11 實踐時刻——重新設置Character預制 240 9.12 實踐時刻——現代啟示錄嗎 240 9.13 實踐時刻——讓炸彈爆炸 241 9.14 實踐時刻——碰撞點 244 9.15 實踐時刻——將爆炸與炸彈連接起來 244 9.16 小結 245 第10章 游戲#3:《The Break-Up》第2部分 246 10.1 實踐時刻——收集玻璃 246 10.2 實踐時刻——創建一個粒子系統 247 10.3 實踐時刻——讓它更鋒利 249 10.4 實踐時刻——控制爆炸 250 10.5 實踐時刻——使用同一個腳本 251 10.6 不同的速度 254 10.7 極速是不可能實現的——讓炸彈下落的速度更快 254 10.8 實踐時刻——標記對象 255 10.9 實踐時間——編寫碰撞檢測代碼 256 10.10 實踐時間——動畫中斷 257 10.11 實踐時刻——添加面部爆炸 258 10.12 實踐時刻——創建聲音 259 10.13 實踐時刻——在FallingObjectScript中添加聲音 260 10.14 catch 261 10.15 實踐時刻——把音效混合起來 262 10.16 小結 265 第11章 游戲#4:《Shoot the Moon》 266 11.1 實踐時刻——復制游戲項目 267 11.2 實踐時刻——創建游戲的背景空間 267 11.3 實踐時刻——創建heroShip 271 11.4 實踐時刻——這是一個碰撞 273 11.5 實踐時刻——引入敵方飛船 275 11.6 實踐時刻——干一些雜活 277 11.7 實踐時刻——修改物體的降落 278 11.8 實踐時刻——修改HeroShip腳本 279 11.9 實踐時刻——刪除重復的重定位代碼 282 11.10 實踐時刻——想要射擊了 284 11.11 實踐時刻——設置子彈的外觀 285 11.12 實踐時刻——創建光暈 285 11.13 實踐時刻——開火 288 11.14 實踐時刻——修改檢測碰撞的代碼 290 11.15 實踐時刻——神奇的參數 292 11.16 實踐時刻——添加最重要的部分:太空發射器 293 11.17 小結 294 11.18 意猶未盡 295 第12章 動作 296 12.1 心內直視手術 296 12.2 實踐時刻——在場景中添加hallway模型 297 12.3 實踐時刻——添加第二個攝像頭 298 12.4 實踐時刻——調整主攝像頭 300 12.5 實踐時刻——裝飾走廊 300 12.6 實踐時刻——打開燈 301 12.7 實踐時刻——創建攝像頭綁定 307 12.8 實踐時刻——為bouncer游戲對象創建動畫 309 12.9 實踐時刻——我要讓它移動 310 12.10 實踐時刻——為runner制作動畫 312 12.11 實踐時刻——如何“處理”Slipperfoot護士 314 12.12 實踐時刻——你讓我轉太多圈了 316 12.13 實踐時刻——部署游戲 317 12.14 需要時間來成長 319 12.15 本書之外的知識 320 附錄A 參考資料 321211 選擇 211 限制 211 跳過 211 自動產生鍵 211 轉換 212 一個使用Mongoose的例子 212 構建應用 212 重構 213 􀬢􀩣􀀏􀁊􀁏􀁅􀁅􀀁􀀁􀀁􀀒􀀖 􀀓􀀑􀀒􀀔􀀎􀀒􀀒􀀎􀀒􀀁􀀁􀀁􀀒􀀙􀀛􀀔􀀚􀀛􀀓􀀚 XVI 目錄 建立模型 213 小結 215 CHAPTER 13 MySQL 217 node-mysql 217 初始化項目 217 Express應用 218 連接MySQL 219 初始化腳本 220 創建數據 224 獲取數據 228 sequelize 229 初始化sequelize 230 初始化Express應用 230 連接sequelize 233 定義模型和同步 234 創建數據 236 獲取數據 238 刪除數據 239 完整地完成應用 240 小結 241 CHAPTER 14 Redis 243 安裝Redis 244 Redis查詢語言 245 數據類型 245 字符串 246 哈希 246 列表 248 數據集 249 有序數據集 249 Redis和Node 249 使用node-redis實現一個社交圖譜 250 小結 259 􀬢􀩣􀀏􀁊􀁏􀁅􀁅􀀁􀀁􀀁􀀒􀀗 􀀓􀀑􀀒􀀔􀀎􀀒􀀒􀀎􀀒􀀁􀀁􀀁􀀒􀀙􀀛􀀔􀀚􀀛􀀓􀀚 目錄XVII PART Ⅴ 測試 CHAPTER 15 代碼共享 263 什么樣的代碼可以共享 263 書寫兼容的JavaScript代碼 264 導出模塊 264 模擬實現ECMA API 265 模擬實現Node API 267 模擬實現瀏覽器端API 267 跨瀏覽器的繼承實現 268 集成到一起:browserbuild 268 基礎案例 269 小結 271 CHAPTER 16 測試 273 簡單測試 273 測試目標 274 測試策略 274 測試程序 275 expect.js 276 API一覽 276 Mocha 278 測試異步代碼 279 BDD風格 281 TDD風格 281 export風格 282 在瀏覽器端使用Mocha 282 小結 284 索引 285 Unity是一款商業化的專業游戲引擎,可以幫助用戶創建諸如3D視頻效果、建筑可視化、實時3D動畫等內容。Unity可以用來制作在iPhone、iPod、iPad、Android等多種平臺上運行的游戲。很多商業游戲采用Unity 3D引擎進行開發。
《Unity 3.x游戲開發實例》是通過典型開發實例來介紹Unity游戲開發的初學者指南。全書共12章,分別介紹了Unity基礎知識和安裝、游戲機制和主題、Unity物理引擎、腳本編程、Unity GUI系統、游戲倒計時、3D建模和材質制作、粒子系統、音效、動畫系統等核心話題。這些都是通過貫穿全書的4款游戲的制作來介紹和講解的。 《Unity 3.x游戲開發實例》適合游戲開發初學者、對Unity感興趣的讀者,以及專職游戲設計和開發人員閱讀學習。閱讀完《Unity 3.x游戲開發實例》,讀者將具備使用Unity進行游戲開發的實用技能。 |