|
-- 會員 / 註冊 --
|
|
|
|
Cocos2d-x 3D與VR游戲開發實戰詳解 ( 簡體 字) |
作者:吳亞峰 索依娜 于復興 | 類別:1. -> 程式設計 -> 手機程式 -> Cocos2d 2. -> 程式設計 -> VR+AR |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 47333 詢問書籍請說出此書號!【缺書】 NT售價: 395 元 |
出版日:7/1/2017 |
頁數:395 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115461247 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介: 內 容 提 要 本書共分為15章,全面講解了用Cocos2d-x引擎進行3D游戲開發的知識和開發技巧,首先介紹3D開發中使用到的相關Cocos2d-x基礎類,包括加載模型、背面剪裁、攝像機、骨骼動畫、異步加載和自定義著色器等,接下來介紹常用的3D開發技巧,如標志板技術、天空盒、立方圖紋理、水特效和材質系統、Cocos2d-x引擎中的地形(Terrain類)和導航網格(NavMesh類),適合模擬室外的平原、高山、丘陵等,使游戲場景更加豐富,也講解了拾取與包圍盒、光照和陰影、3D粒子系統與拖尾效果的使用、正六邊形瓦片地圖、正六邊形地圖的路徑搜素和手機截屏等方面的知識,以及Bullet物理引擎、VR游戲開發等知識,最后講解了綜合案例,包括益智類游戲—指尖方塊和射擊解謎類游戲—綠色行動,讓讀者學以致用。 本書適合Cocos2d-x初學者、游戲開發者、程序員學習,也適合作為大專院校相關專業師生學習用書以及培訓學校的教材。
|
目錄:第1章 初識Cocos2d-x 1 1.1 Cocos2d-x的概述 1 1.1.1 Cocos2d-x的發展史 1 1.1.2 Cocos2d-x的市場前景 2 1.2 Cocos2d-x開發環境的搭建 2 1.2.1 Android Studio以及Android SDK的下載與配置 2 1.2.2 Android NDK的下載與配置 5 1.2.3 Cocos2d-x的下載與配置 6 1.3 初識Cocos2d-x應用程序 7 1.3.1 本書案例的導入與運行 7 1.3.2 Cocos2d-x案例導入后的相關修改 9 1.3.3 創建自己的項目 9 1.4 本章小結 12 第2章 3D開發基礎 13 2.1 與3D開發相關的基礎知識 13 2.1.1 基礎知識 13 2.1.2 加載obj格式模型的案例 18 2.1.3 背面剪裁 23 2.1.4 攝像機背景畫筆 25 2.2 骨骼動畫的使用 27 2.2.1 基礎知識 27 2.2.2 c3b文件的生成 28 2.2.3 加載骨骼動畫的案例 29 2.2.4 骨骼動畫關鍵幀回調的使用 32 2.3 3D精靈的異步加載 35 2. 3.1 異步加載的基礎知識 35 2.3.2 3D精靈的異步加載案例 35 2.4 三種基本變換的靈活使用 39 2.4.1 背景知識 39 2.4.2 桌球案例的實現策略 40 2.4.3 案例的開發 41 2.5 3D基本動作 45 2.5.1 基礎知識 45 2.5.2 案例的開發 45 2.6 自定義著色器基礎 47 2.6.1 背景知識 47 2.6.2 Cocos2d-x中的相關方法 47 2.6.3 自定義著色器案例 48 2.7 本章小結 51 第3章 常用的3D開發技巧 52 3.1 標志板技術的應用 52 3.1.1 基礎知識 52 3.1.2 一個簡單案例的開發 53 3.2 天空盒 57 3.2.1 基礎知識 57 3.2.2 一個簡單案例的開發 58 3.3 立方圖紋理 60 3.3.1 基礎知識 60 3.3.2 一個簡單案例的開發 60 3.4 讓游戲更加靈動—水特效 62 3.4.1 基礎知識 63 3.4.2 一個簡單案例的開發 63 3.5 壓縮紋理的使用 69 3.6 材質系統 70 3.6.1 基礎知識 70 3.6.2 一個簡單案例的開發 71 3.7 本章小結 74 第4章 3D地形和導航網格 75 4.1 地形的基礎知識 75 4.2 地形制作相關工具 78 4.2.1 TerrainEditTool的下載 78 4.2.2 TerrainEditTool的使用 79 4.2.3 地形預烘焙貼圖制作 82 4.3 3D地形案例開發 85 4.3.1 定向光照案例 85 4.3.2 可變方向光照案例 89 4.4 導航網格的相關類 92 4.5 導航網格設計軟件 94 4.5.1 設計軟件的下載與編譯 94 4.5.2 設計軟件的使用 96 4.6 導航網格案例 98 4.7 本章小結 103 第5章 拾取與包圍盒 104 5.1 AABB包圍盒 104 5.1.1 基礎知識 104 5.1.2 一個簡單案例的開發 105 5.2 拾取 107 5.2.1 基礎知識 107 5.2.2 一個簡單案例的開發 108 5.3 AABB包圍盒的不精確性 113 5.4 OBB包圍盒 116 5.4.1 基礎知識 116 5.4.2 一個簡單案例的開發 117 5.5 本章小結 120 第6章 光照和陰影 121 6.1 光照的使用 121 6.1.1 基礎知識 121 6.1.2 光照開發的案例 122 6.2 陰影的重要性 126 6.2.1 陰影可以幫助判斷物體在三維空間中的位置關系 126 6.2.2 陰影可以反映接收體的 形狀 127 6.2.3 陰影可以表現出一些當前視點看不見的物體的信息 127 6.2.4 通過陰影可以判斷出光源的數目、位置 128 6.3 平面陰影 128 6.3.1 案例效果與基本原理 128 6.3.2 案例的開發步驟 129 6.4 投影貼圖 133 6.5 多輪渲染 138 6.5.1 基本原理及實現策略 138 6.5.2 鏡像技術的實現 138 6.5.3 高真實感水面倒影的實現 142 6.6 本章小結 147 第7章 3D粒子系統與拖尾效果的使用 148 7.1 3D粒子系統 148 7.1.1 基礎知識 148 7.1.2 3D粒子系統編輯器Particle Universe Editor 150 7.1.3 一個簡單粒子系統的制作 151 7.1.4 3D粒子系統展示案例 155 7.2 3D拖尾效果 160 7.2.1 基礎知識 160 7.2.2 一個簡單案例的開發 161 7.3 本章小結 163 第8章 雜項 164 8.1 正六邊形瓦片地圖 164 8.1.1 基本原理及特點 164 8.1.2 正六邊形地圖的設計 165 8.1.3 網格定位案例 168 8.2 正六邊形地圖的路徑搜索 172 8.2.1 路徑搜索示例基本框架的 搭建 172 8.2.2 廣度優先路徑搜索算法 BFS 178 8.2.3 廣度優先路徑搜索算法BFS的實現 179 8.2.4 Dijkstra路徑搜索算法 185 8.2.5 Dijkstra路徑搜索算法的 實現 186 8.2.6 用A*思想優化廣度優先路徑搜索 190 8.2.7 用A*思想優化Dijkstra路徑搜索 192 8.3 手機截屏 193 8.3.1 基礎知識 194 8.3.2 案例開發 194 8.4 本章小結 196 第9章 初識3D物理引擎Bullet 197 9.1 常用類的介紹 197 9.1.1 Vec3類—三維向量類 197 9.1.2 Mat4類—矩陣類 198 9.1.3 Physics3D類— 3D物理類 199 9.1.4 PhysicsSprite3D類— 3D物理精靈類 200 9.1.5 Physics3DRigidBody類—剛體類 201 9.1.6 Physics3DWorld類— 物理世界類 202 9.1.7 Physics3DShape類— 碰撞形狀類 203 9.2 箱子撞擊案例 204 9.2.1 案例運行效果 204 9.2.2 案例的基本框架結構 204 9.2.3 場景管理類—SceneManager類 205 9.2.4 信息布景類— My2DLayer類 206 9.2.5 物理世界布景類—My3DLayer類 207 9.3 物體下落案例 212 9.3.1 案例運行效果 212 9.3.2 物體下落布景類—My3DLayer類 212 9.4 旋轉的陀螺 214 9.4.1 案例運行效果 214 9.4.2 旋轉的陀螺布景類—My3DLayer類 215 9.5 消失的木塊 217 9.5.1 案例運行效果 217 9.5.2 消失的木塊布景類—My3DLayer類 217 9.6 物體碰撞下落 219 9.6.1 案例運行效果 219 9.6.2 自定義物理世界類—MPhysicsWorld類 220 9.6.3 物體碰撞下落布景類—My3DLayer類 222 9.7 三角形網格形狀的介紹 223 9.7.1 三角形索引數組類—btTriangleIndexVertex Array類 223 9.7.2 層次包圍結構三角形網格形狀類—btBvhTriangleMesh Shape類 224 9.7.3 層次包圍結構三角形網格 形狀類的案例—波動的 水紋 225 9.8 固定三角形網格形狀類的介紹 229 9.8.1 固定三角形網格形狀類—btGImpactMeshShape類 229 9.8.2 固定形狀物體案例 230 9.9 本章小結 232 第10章 3D物理引擎Bullet—關節 233 10.1 初識3D關節 233 10.2 鉸鏈關節 233 10.2.1 基礎知識 233 10.2.2 案例開發 235 10.3 齒輪關節 237 10.3.1 基礎知識 237 10.3.2 案例開發 237 10.4 點對點關節 240 10.4.1 基礎知識 240 10.4.2 案例開發 240 10.5 滑動關節 242 10.5.1 基礎知識 242 10.5.2 案例開發 243 10.6 六自由度關節 245 10.6.1 基礎知識 245 10.6.2 案例開發 246 10.7 本章小結 250 第11章 3D物理引擎Bullet— 交通工具 251 11.1 交通工具類— btRaycastVehicle類 251 11.2 交通工具的案例— 移動的小車 253 11.3 本章小結 258 第12章 3D物理引擎Bullet— 軟體及光線投射 259 12.1 初識3D軟體 259 12.2 軟布 259 12.2.1 案例運行效果 260 12.2.2 軟布布景類— My3DLayer類 260 12.2.3 軟布開發中需要注意的 問題 262 12.3 三角形網格軟體案例 263 12.3.1 案例運行效果 263 12.3.2 三角形網格軟體類—MyCustomSprite3D類 263 12.3.3 三角形網格軟體布景類—My3DLayer類 265 12.4 繩索軟體 265 12.4.1 案例運行效果 265 12.4.2 案例開發過程 266 12.5 光線投射 267 12.5.1 光線投射回調結構體Closest RayResultCallback 268 12.5.2 光線投射的案例— 旋轉光線 268 12.6 本章小結 270 第13章 VR游戲開發 271 13.1 背景知識 271 13.1.1 發展歷史 271 13.1.2 基本特征 273 13.1.3 關鍵技術 274 13.2 Cocos2d-x開發VR環境搭建 276 13.3 Cocos2d-x開發VR游戲前的 準備 279 13.4 Cardboard平臺VR游戲的開發 280 13.4.1 背景知識 280 13.4.2 基礎知識 281 13.4.3 VR場景漫游案例的準備 工作 282 13.4.4 VR場景漫游案例的開發 283 13.5 GearVR平臺VR游戲的開發 286 13.5.1 背景知識 286 13.5.2 Oculus Home 287 13.5.3 基礎知識 288 13.5.4 VR場景射擊案例的準備 工作 288 13.5.5 VR場景射擊案例的開發 290 13.6 本章小結 297 第14章 益智類游戲—指尖方塊 298 14.1 游戲的背景及功能概述 298 14.1.1 游戲開發的背景概述 298 14.1.2 游戲的功能介紹 298 14.2 游戲的策劃及準備工作 301 14.2.1 游戲的策劃 301 14.2.2 游戲的準備工作 302 14.3 游戲的架構 305 14.3.1 游戲中各類的簡要介紹 305 14.3.2 游戲的框架簡介 306 14.4 游戲常量類—Constant 307 14.5 場景相關類 307 14.5.1 游戲場景管理類—SceneManager 307 14.5.2 歡迎布景類— BeginLayer 310 14.5.3 主菜單場景布景類—MainMenuScene2D 311 14.5.4 幫助場景布景類—HelpLayer 315 14.5.5 設置場景布景類—SetLayer 317 14.5.6 選擇關卡場景布景類—SelectGameLayer 319 14.6 游戲場景布景類 321 14.6.1 2D布景類—My2Dlayer 321 14.6.2 3D布景類—FirstLayer 321 14.7 輔助類 326 14.7.1 方塊類—Cubes 326 14.7.2 地圖類—GameMap 328 14.7.3 暫停和通關界面類—GameSet 329 14.7.4 機關類—Organ 332 14.7.5 碰撞檢測類—Collision 334 14.8 引擎引用入口類— AppDelegate 335 14.9 游戲的優化及改進 336 14.10 本章小結 337
第15章 射擊解謎類游戲—綠色行動 338 15.1 游戲的背景及功能概述 338 15.1.1 游戲開發的背景概述 338 15.1.2 游戲的功能介紹 338 15.2 游戲的策劃及準備工作 340 15.2.1 游戲的策劃 340 15.2.2 游戲的準備工作 341 15.3 游戲的架構 346 15.3.1 游戲中各類的簡要介紹 346 15.3.2 游戲的框架簡介 347 15.4 游戲常量頭文件— AppConstant 348 15.5 游戲場景布景類 349 15.5.1 CG 1場景2D布景類—CG2DLayer 349 15.5.2 CG 1場景3D布景類—CG3DLayer 350 15.5.3 CG 2場景3D布景類—CG3Dlayer 354 15.5.4 主菜單場景2D布景類— MainMenuScene2D 356 15.5.5 主菜單場景3D布景類—MainMenuScene3D 357 15.5.6 異步加載類— LoadLayer 358 15.5.7 2D場景類的開發 360 15.5.8 3D場景類的開發 364 15.5.9 場景管理類的開發 377 15.6 輔助類 378 15.6.1 數據類—GameData 379 15.6.2 暫停和設置界面類—GameSet 380 15.6.3 音樂音效管理類—MusicManager 382 15.6.4 粒子系統管理類—ParticleManager 384 15.6.5 波動水面類Water 385 15.6.6 英雄類—Hero 389 15.7 引擎引用入口類— AppDelegate 393 15.8 游戲的優化及改進 395 15.9 本章小結 395
|
序: |
|