-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Unity 3D網絡游戲實戰

( 簡體 字)
作者:羅培羽類別:1. -> 多媒體 -> 遊戲引擎 -> Unity
譯者:
出版社:機械工業出版社Unity 3D網絡游戲實戰 3dWoo書號: 45617
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:11/1/2016
頁數:429
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111549963
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書分為兩個部分,第一部分“單機游戲”在于開發一款功能完整坦克單機游戲,除了讓坦克行走、開炮,還將介紹基于代碼和資源分離的界面系統、敵人AI。第二部分“網絡游戲”主要介紹網絡通信的原理,并開發客戶端的網絡模塊和服務端程序框架。然后將一部分的坦克游戲改造成聯網對戰的多人游戲。本書基于Unity3D5.2編寫,Unity3D5.X版本都適用。書中例子為商業游戲簡化版本,讀者可以從中了解商業游戲的設計思路和實現方法。讀者看完本書,初步擁有開發一款完整網絡游戲的能力。
目錄:

第1章 掌握Unity3D基本元素 / 1
1.1 最最簡單的游戲 / 2
1.1.1 Unity3D的界面構成 / 2
1.1.2 在場景中創建立方體 / 3
1.1.3 編寫第一個程序 / 4
1.1.4 測試游戲 / 6
1.1.5 總結 / 6
1.2 導入資源 / 6
1.2.1 從本地導入素材 / 7
1.2.2 從本地導入包文件 / 7
1.2.3 從AssetStore導入 / 8
1.3 山體系統 / 10
1.4 燈光 / 12
1.5 材質 / 14
1.5.1 什么是材質 / 14
1.5.2 如何創建材質 / 15
1.5.3 Mesh Renderer組件 / 16
1.5.4 著色器 / 16
1.6 預設 / 19
1.6.1 制作預設 / 19
1.6.2 預設的實例化 / 19
1.6.3 使用預設的例子 / 20
1.7 聲音 / 22
1.7.1 音源 / 22
1.7.2 接收器 / 23
1.7.3 簡單播放器 / 23
1.8 GUI / 24
1.8.1 GUI繪圖基礎 / 24
1.8.2 編寫HelloWorld程序 / 25
1.8.3 繪制登錄框 / 25
1.9 場景 / 26
1.9.1 創建場景 / 27
1.9.2 場景切換 / 27
1.10 導出游戲 / 28
第2章 坦克控制單元 / 31
2.1 導入坦克模型 / 31
2.1.1 導入模型 / 31
2.1.2 調整尺寸 / 32
2.1.3 材質和貼圖 / 33
2.2 行走控制 / 34
2.2.1 基礎知識 / 35
2.2.2 上下左右移動 / 37
2.2.3 轉向和前后移動 / 38
2.3 相機跟隨 / 40
2.3.1 數學原理 / 41
2.3.2 跟隨算法 / 42
2.3.3 設置跟隨目標 / 46
2.3.4 橫向旋轉相機 / 47
2.3.5 縱向旋轉相機 / 50
2.3.6 滾輪調節距離 / 51
2.4 旋轉炮塔 / 52
2.4.1 坦克的層次結構 / 52
2.4.2 炮塔 / 56
2.4.3 炮管 / 58
2.5 車輛行駛 / 61
2.5.1 Unity3D的物理系統 / 62
2.5.2 車輪碰撞器 / 65
2.5.3 控制車輛 / 69
2.5.4 制動(剎車) / 73
2.6 輪子和履帶 / 74
2.6.1 輪子轉動 / 74
2.6.2 履帶滾動 / 77
2.7 音效 / 79
第3章 火炮與敵人 / 82
3.1 發射炮彈 / 82
3.1.1 制作炮彈 / 82
3.1.2 制作爆炸效果 / 83
3.1.3 炮彈軌跡 / 84
3.1.4 坦克開炮 / 86
3.2 摧毀敵人 / 88
3.2.1 坦克的控制類型 / 88
3.2.2 坦克的生命值 / 89
3.2.3 焚燒特效 / 89
3.2.4 坦克被擊中后的處理 / 90
3.2.5 炮彈的攻擊處理 / 92
3.3 準心 / 94
3.3.1 概念和原理 / 94
3.3.2 計算目標射擊位置 / 96
3.3.3 計算實際射擊位置 / 101
3.3.4 繪制準心 / 103
3.4 繪制生命條 / 104
3.4.1 生命條素材 / 105
3.4.2 繪制生命條 / 105
3.5 擊殺提示 / 107
3.5.1 誰發射了炮彈 / 107
3.5.2 誰被擊中 / 107
3.5.3 顯示擊殺提示 / 108
3.6 炮彈的音效 / 110
3.6.1 發射音效 / 110
3.6.2 爆炸音效 / 111
第4章 人工智能 / 113
4.1 基于有限狀態機的人工智能 / 113
4.1.1 有限狀態機 / 113
4.1.2 分層有限狀態機 / 115
4.2 程序結構 / 116
4.2.1 AI類的結構 / 116
4.2.2 在Tank中調用 / 118
4.3 搜尋目標 / 119
4.3.1 搜尋規則 / 119
4.3.2 坦克標簽 / 119
4.3.3 主動搜尋算法 / 120
4.3.4 被動搜尋算法 / 122
4.3.5 調試 / 123
4.4 向敵人開炮 / 124
4.4.1 電腦控制的方式 / 124
4.4.2 炮塔炮管的目標角度 / 125
4.4.3 調試程序 / 125
4.4.4 開炮 / 126
4.5 走向目的地 / 128
4.5.1 路點 / 128
4.5.2 路徑 / 128
4.5.3 根據場景標志物生成路徑 / 130
4.5.4 給AI指定路徑 / 131
4.5.5 操控坦克 / 132
4.5.6 調試程序 / 136
4.6 使用NavMesh計算路徑 / 137
4.6.1 NavMesh的原理 / 137
4.6.2 生成導航圖 / 137
4.6.3 生成路徑 / 140
4.7 行為決策 / 143
4.7.1 巡邏狀態 / 144
4.7.2 進攻狀態 / 145
4.7.3 調試 / 146
4.8 戰場系統 / 147
4.8.1 單例模式 / 147
4.8.2 BattleTank / 148
4.8.3 戰場邏輯 / 148
4.8.4 敵我區分 / 150
4.8.5 出生點 / 151
4.8.6 坦克預設 / 152
4.8.7 開啟一場兩軍對峙的戰斗 / 152
4.8.8 戰場結算 / 154
4.8.9 開始戰斗 / 155
第5章 代碼分離的界面系統 / 157
5.1 Unity UI系統 / 157
5.1.1 創建UI部件 / 158
5.1.2 Canvas畫布 / 159
5.1.3 EventSystem / 161
5.1.4 RectTransform / 162
5.1.5 其他UGUI組件 / 164
5.1.6 事件觸發 / 165
5.1.7 簡單的面板調用 / 165
5.2 制作界面素材 / 167
5.2.1 標題面板和信息面板 / 167
5.2.2 制作預設 / 168
5.3 面板基類PanelBase / 168
5.3.1 代碼與資源分離的優勢 / 168
5.3.2 面板系統的設計 / 169
5.3.3 面板基類的設計要點 / 169
5.3.4 面板基類的實現 / 170
5.4 面板管理器PanelMgr / 172
5.4.1 層級管理 / 173
5.4.2 打開面板OpenPanel / 174
5.4.3 關閉面板ClosePanel / 176
5.5 面板邏輯 / 176
5.5.1 標題面板TitlePanel / 176
5.5.2 信息面板InfoPanel / 178
5.6 調用界面系統 / 179
5.6.1 界面系統的資源 / 179
5.6.2 界面系統的調用 / 179
5.7 勝負面板 / 181
5.7.1 面板素材 / 181
5.7.2 面板邏輯 / 181
5.7.3 面板調用 / 183
5.8 設置面板 / 184
5.8.1 面板素材 / 184
5.8.2 面板邏輯 / 185
5.8.3 面板調用 / 186
第6章 網絡基礎 / 188
6.1 七層網絡模型 / 189
6.1.1 應用層 / 190
6.1.2 傳輸層 / 190
6.1.3 網絡層 / 190
6.1.4 數據鏈路層 / 191
6.1.5 物理層 / 191
6.2 IP與端口 / 192
6.2.1 IP地址 / 192
6.2.2 端口 / 192
6.2.3 C#中的相關類型 / 193
6.3 TCP協議 / 193
6.3.1 TCP連接的建立 / 193
6.3.2 TCP的數據傳輸 / 195
6.3.3 TCP連接的終止 / 195
6.4 Socket套接字 / 196
6.4.1 Socket連接的流程 / 196
6.4.2 Socket類 / 196
6.5 同步Socket程序 / 198
6.5.1 新建控制臺程序 / 198
6.5.2 編寫服務端程序 / 199
6.5.3 客戶端界面 / 202
6.5.4 客戶端程序 / 203
6.6 異步Socket程序 / 205
6.6.1 BeginAccept / 205
6.6.2 BeginReceive / 205
6.6.3 Conn(state) / 206
6.6.4 服務端程序(主體結構) / 208
6.6.5 服務端程序(Accept回調) / 210
6.6.6 服務端程序(接收回調) / 211
6.6.7 開啟服務端 / 212
6.6.8 客戶端界面 / 212
6.6.9 客戶端程序 / 213
6.6.10 調試程序 / 215
6.7 MySQL / 216
6.7.1 配置MySQL環境 / 216
6.7.2 建立MySQL數據庫 / 218
6.7.3 MySQL基礎知識 / 218
6.7.4 MySQL留言板服務端程序 / 220
6.7.5 調試程序 / 222
6.8 類的序列化 / 223
6.9 定時器 / 225
6.10 線程互斥 / 226
6.11 通信協議和消息列表 / 228
6.11.1 通信協議 / 228
6.11.2 服務端程序 / 229
6.11.3 消息列表 / 229
6.11.4 客戶端場景 / 230
6.11.5 客戶端程序 / 231
6.11.6 調試 / 236
第7章 服務端框架 / 238
7.1 服務端架構 / 238
7.1.1 總體架構 / 238
7.1.2 游戲流程 / 239
7.1.3 連接的數據結構 / 240
7.1.4 數據庫結構 / 241
7.1.5 項目結構 / 241
7.2 數據管理類DataMgr / 243
7.2.1 數據表結構 / 243
7.2.2 角色數據 / 244
7.2.3 Player的初步版本 / 244
7.2.4 連接數據庫 / 245
7.2.5 防止sql注入 / 246
7.2.6 Register注冊 / 247
7.2.7 CreatePlayer創建角色 / 249
7.2.8 登錄校驗 / 250
7.2.9 獲取角色數據 / 251
7.2.10 保存角色數據 / 252
7.2.11 調試 / 253
7.3 臨時數據 / 255
7.4 網絡管理類ServNet / 256
7.4.1 粘包分包現象 / 256
7.4.2 粘包分包的處理方法 / 256
7.4.3 Conn連接類 / 257
7.4.4 ServNet網絡處理類 / 260
7.4.5 ReceiveCb的粘包分包處理 / 261
7.4.6 發送消息 / 264
7.4.7 啟動服務端 / 265
7.4.8 調試 / 265
7.5 心跳 / 267
7.5.1 心跳機制 / 267
7.5.2 時間戳 / 268
7.5.3 使用定時器 / 269
7.5.4 心跳協議 / 270
7.5.5 調試心跳協議 / 270
7.6 協議 / 271
7.6.1 協議基類 / 272
7.6.2 字符串協議 / 273
7.6.3 字節流協議 / 274
7.6.4 字節流輔助方法 / 276
7.6.5 使用協議 / 278
7.6.6 調試 / 280
7.7 中間層Player類 / 282
7.7.1 登錄流程 / 282
7.7.2 下線 / 282
7.7.3 Player類的實現 / 283
7.8 消息分發 / 285
7.8.1 消息處理的類 / 285
7.8.2 消息處理類的實現 / 286
7.8.3 反射 / 287
7.9 注冊登錄 / 289
7.9.1 協議 / 289
7.9.2 注冊功能 / 290
7.9.3 登錄功能 / 291
7.9.4 登出功能 / 292
7.9.5 獲取分數功能 / 293
7.9.6 增加分數功能 / 293
7.9.7 輸出服務端信息 / 294
7.9.8 Main中的調用 / 294
7.9.9 測試用客戶端 / 295
7.9.10 調試 / 297
第8章 客戶端網絡模塊 / 300
8.1 網絡模塊設計 / 300
8.1.1 整體架構 / 300
8.1.2 監聽表 / 301
8.1.3 類結構 / 301
8.2 委托 / 302
8.2.1 使用委托 / 302
8.2.2 示例 / 302
8.2.3 操作符 / 303
8.3 MsgDistribution消息分發 / 304
8.3.1 MsgDistribution的成員 / 304
8.3.2 DispatchMsgEvent / 305
8.3.3 AddListener / 306
8.4 Connection連接 / 307
8.4.1 Connection的成員 / 307
8.4.2 連接服務端 / 309
8.4.3 關閉連接 / 309
8.4.4 異步回調 / 310
8.4.5 消息處理 / 311
8.4.6 發送數據 / 311
8.4.7 心跳機制 / 312
8.5 NetMgr網絡管理 / 313
8.6 登錄注冊功能 / 314
8.6.1 界面資源 / 315
8.6.2 登錄面板功能 / 316
8.6.3 注冊面板功能 / 319
8.7 位置同步的服務端程序 / 320
8.7.1 協議 / 321
8.7.2 場景 / 321
8.7.3 協議處理 / 324
8.7.4 事件處理 / 324
8.8 位置同步的客戶端程序 / 325
8.8.1 客戶端資源 / 325
8.8.2 客戶端程序 / 326
8.9 調試框架 / 331
第9章 房間系統 / 334
9.1 游戲界面 / 335
9.1.1 登錄面板 / 335
9.1.2 注冊面板 / 336
9.1.3 提示面板 / 337
9.1.4 UGUI的滑動區域 / 338
9.1.5 房間列表面板 / 340
9.1.6 房間面板 / 342
9.1.7 創建預設 / 343
9.2 協議設計 / 344
9.3 提示框的功能實現 / 346
9.4 登錄注冊的功能實現 / 348
9.4.1 登錄面板的功能 / 348
9.4.2 GameMgr / 349
9.4.3 注冊面板的功能 / 350
9.4.4 調試 / 351
9.5 房間列表面板的功能 / 352
9.5.1 獲取部件 / 353
9.5.2 開啟監聽 / 354
9.5.3 刷新成績欄 / 355
9.5.4 刷新房間列表 / 355
9.5.5 刷新按鈕 / 357
9.5.6 加入房間 / 357
9.5.7 新建房間 / 358
9.5.8 登出 / 359
9.5.9 測試面板 / 360
9.6 房間面板的功能 / 360
9.6.1 獲取部件 / 361
9.6.2 監聽 / 362
9.6.3 刷新列表 / 362
9.6.4 退出按鈕 / 364
9.6.5 開始戰斗 / 365
9.6.6 測試面板 / 366
第10章 房間系統服務端 / 368
10.1 玩家數據 / 368
10.2 房間類 / 370
10.2.1 數據結構 / 370
10.2.2 添加玩家 / 371
10.2.3 刪除玩家 / 372
10.2.4 更換房主 / 373
10.2.5 廣播消息 / 373
10.2.6 輸出房間信息 / 374
10.3 房間管理器 / 374
10.3.1 數據結構 / 374
10.3.2 創建房間 / 375
10.3.3 離開房間 / 376
10.3.4 輸出房間列表 / 376
10.4 玩家消息處理 / 377
10.4.1 查詢成績GetAchieve / 377
10.4.2 獲取房間列表GetRoomList / 377
10.4.3 創建房間CreateRoom / 378
10.4.4 加入房間EnterRoom / 379
10.4.5 獲取房間信息GetRoomInfo / 380
10.4.6 離開房間LeaveRoom / 380
10.5 玩家事件處理 / 381
10.6 調試 / 382
第11章 戰場系統 / 386
11.1 協議設計 / 386
11.2 開始戰斗 / 388
11.2.1 客戶端戰場數據 / 389
11.2.2 獲取陣營 / 390
11.2.3 清理場景 / 390
11.2.4 開始戰斗 / 391
11.2.5 產生坦克 / 391
11.2.6 服務端戰場數據 / 394
11.2.7 服務端條件檢測 / 395
11.2.8 服務端開啟戰斗 / 395
11.2.9 服務端消息處理 / 396
11.2.10 調試程序 / 397
11.3 三種同步位置方案 / 398
11.3.1 瞬移式位置同步 / 399
11.3.2 移動式位置同步 / 400
11.3.3 預測式位置同步 / 401
11.4 位置同步的服務端處理 / 402
11.5 位置同步的客戶端處理 / 404
11.5.1 發送同步信息 / 404
11.5.2 網絡同步類型 / 405
11.5.3 預測目標位置 / 405
11.5.4 向目標位置移動 / 408
11.5.5 監聽服務端協議 / 408
11.5.6 調試 / 409
11.6 同步炮塔炮管 / 410
11.7 輪子和履帶 / 411
第12章 炮火同步 / 413
12.1 炮彈同步 / 413
12.1.1 協議設計 / 413
12.1.2 服務端處理 / 414
12.1.3 客戶端發送同步信息 / 415
12.1.4 客戶端接收同步信息 / 416
12.2 傷害同步 / 418
12.2.1 協議設計 / 418
12.2.2 服務端處理 / 418
12.2.3 客戶端發送傷害信息 / 420
12.2.4 客戶端接收傷害信息 / 420
12.3 勝負判斷 / 423
12.3.1 協議設計 / 423
12.3.2 服務端勝負判斷 / 423
12.3.3 服務端處理戰斗結果 / 424
12.3.4 客戶端接收戰斗結果 / 425
12.4 中途退出 / 427
12.5 完整的游戲 / 428
序: