《Unity与C++网络游戏开发实战 基于VR、AI与分布式架构》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:王静逸,刘岵编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111617617
  • 页数:592 页
图书介绍:本书以Unity图形开发和C++网络开发为主线,系统地介绍了网络仿真系统和网络游戏开发的相关知识。本书从客户端开发和服务器端开发两个方面着手,讲解了一个完整的仿真模拟系统的开发,既有详细的基础知识,也有常见的流行技术,更有完整的项目实战案例,而且还介绍了AR、人工智能和分布式架构等前沿知识在开发中的应用。本书共21章,分为4篇。第1、2篇为客户端开发,主要介绍了Unity基础与实战开发;第3、4篇为服务器端开发,主要介绍了C++网络开发基础与实战。本书内容全面,讲解通俗易懂,适合网络游戏开发、军事虚拟仿真和智能网络仿真系统开发等领域的开发人员和技术爱好者阅读,也适合系统架构人员阅读。另外,本书还适合作为相关院校和培训机构的培训教材使用。

第1篇Unity基础(客户端) 2

第1章Unity介绍与相关环境的搭建和调试 2

1.1 Unity引擎介绍 2

1.1.1 Unity3D引擎部分 2

1.1.2 Unity3D编辑器部分 3

1.2 Unity引擎发展 5

1.3 Unity 引擎应用场景和使用范围介绍 5

1.4 Unity软件安装 7

1.5 Unity Windows环境的安装和搭建 9

1.6 Unity Android环境的安装和搭建 11

1.7 Unity授权 15

1.8 Unity服务 16

第2章 编写Hello World与仿真系统体验 18

2.1创建第一个空的工程 18

2.2创建第一个脚本程序 20

2.3编写第一个Hello Word程序 21

2.4编译输出第一个程序 22

2.5运行Hello World 23

2.6打开仿真程序Demo 23

2.7这是一个很好玩的仿真系统 25

2.8进入训练场准备体验训练操作 25

2.9控制人物行走 26

2.10开动第一辆汽车 27

2.11完成第一个仿真任务 27

2.12本章小结与分析 28

第3章Unity游戏开发语言 29

3.1 C#语言介绍 29

3.2 C#常用数据结构介绍 31

3.2.1 ArrayList链表结构 31

3.2.2泛型List 31

3.2.3 Stack栈 32

3.2.4队列Queue 33

3.2.5字典Dictionary 34

3.3 C#的接口与继承 35

3.3.1实现继承和接口继承 35

3.3.2多重继承 35

3.3.3结构的继承 35

3.4 C#的委托 37

3.5 C#多线程使用介绍 38

3.6 C#的反射机制 39

3.7 Unity中使用泛型 42

3.8 Unity中使用协程 42

3.9 Unity的序列化和网络协议库介绍 45

3.10 Unity中使用CLR进行Native交互 46

3.11 Unity中使用热更新语言Lua 47

3.12本章小结与分析 50

第4章在Unity中使用图形学知识 51

4.1 3D数学基本知识在游戏中的应用 51

4.2三维坐标系 52

4.3顶点坐标变换 53

4.3.1向量是什么 53

4.3.2矩阵是什么 54

4.3.3如何操作向量 55

4.3.4如何处理点或者向量与矩阵的乘法 55

4.3.5点和向量通过矩阵的变换 56

4.4光照与材质 58

4.4.1什么是Shader的基本光照模型 59

4.4.2什么是光照模型 59

4.4.3什么是材质 61

4.5 Unity引擎中的渲染管线流程 67

4.6 Unity中实现模型的缩放和旋转等程序处理 70

4.7 Unity中计算射线相关的程序处理 74

4.8 Unity中制作一个简单的渲染特效 77

4.9本章小结与分析 84

第5章Unity编辑器的使用 86

5.1创建一个空的工程 86

5.2编辑器界面布局介绍 88

5.3编辑器的常用功能介绍 89

5.4编辑器模型编辑——旋转控制第一个模型 95

5.5编辑器动作骨骼编辑——让人物动起来 96

5.6编辑器光照和相机的编辑——让人物更真实 98

5.7编辑器粒子特效编辑——让环境更绚丽 101

5.8编辑器场景编辑——创建简单的战场 104

5.9编辑器地形和光照贴图烘焙——让战场真实起来 105

5.10编辑器遮挡剔除——提高战场的运行效率 107

5.11 编辑器资源管理——让1程更容易管理 109

5.12编辑器控制台和调试——输出调试信息 110

5.13编辑器资源商店和常用插件 111

5.14编辑器材质编辑——让车辆变化一下样式 114

5.15 编辑器物理系统介绍——让人和车辆发生碰撞 116

5.16本章小结与分析 118

第2篇Unity实战(客户端) 122

第6章 虚拟仿真训练系统的架构和模块 122

6.1什么是虚拟仿真训练 122

6.1.1战斗模拟仿真训练 122

6.1.2车辆仿真和工业操作 123

6.2物理架构介绍——虚拟仿真训练系统 123

6.3使用态势端发布授权任务 126

6.4将分队长学员配置加入授权任务 127

6.5启动仿真任务——完成一次美妙的任务体验 128

6.6本章小结与分析 130

第7章 人物资源编辑与程序开发 132

7.1模型资源的导入和整理编辑 132

7.2人物动作资源的编辑和管理 134

7.3数据资源的导入和整理 137

7.4人物的控制和脚本程序开发 141

7.5人物的行为状态机开发 147

7.6人物特效的控制和状态交互 150

7.7人物的物理状态和碰撞瞄准的程序交互 151

7.8人物的属性和程序接口开发 154

7.9在场景中运行人物资源和调试程序 158

7.10本章小结与分析 159

第8章 场景资源编辑与程序开发 161

8.1场景资源的导入和整理管理 161

8.2场景数据资源的导入和场景程序管理 162

8.3地形的编辑和程序相关功能开发 169

8.4添加碰撞体树木和非碰撞体植被 172

8.5创建光源和阴影渲染 174

8.6添加场景静态物体和动态物体 176

8.7添加场景水的插件并使用代码集成 182

8.8添加天气系统插件并集成代码系统 187

8.9添加场景道路插件并制作道路 192

8.10添加天空盒和雾态效果 194

8.11场景预览和渲染效率优化 196

8.12场景系统加载切换和系统程序开发 198

8.13本章小结与分析 202

第9章 资源组件和交互物品开发 203

9.1资源组件的导入和整理管理 203

9.2资源物品的数据导入和整理管理 205

9.3 AssetBundle的资源组成和功能API 207

9.4开发自己的AssetBundle打包工具插件 208

9.5加载和管理AssetBundle资源 212

9.6车辆动力系统的插件使用和系统集成开发 216

9.7关于飞行器直升机的开发和使用 223

9.8地雷组件的开发和功能交互 225

9.9物品管理器系统开发 230

9.10本章小结与分析 235

第10章NGUI组件开发和操作交互开发 236

10.1 NGUI插件介绍和导入工程 236

10.2 NGUI图集的使用和制作 237

10.3 NGUI图集的优化和DrawCal l的优化策略 239

10.4 NGUI的底层实现原理和分析 240

10.5 UILable的使用 242

10.6 UISprite的使用 243

10.7 UIPanel的使用 244

10.8 UIScrollView的使用 245

10.9 UIButton的使用 247

10.10 UIRoot和UICamera的自适应 250

10.11打造UI面向对象的动态加载和管理 251

10.12登录UI功能开发 257

10.13大厅任务信息系统UI功能开发 261

10.14战场场景中主视角UI系统功能开发 268

10.15 VR开发——VR可以使用的VRGUI 276

10.16本章小结与分析 277

第3篇C+网络开发基础(服务器) 280

第11章C++语言基础 280

11.1 C+++简介 280

11.2 C+++基本语法 281

11.3 C+++数据结构 283

11.4 C+++变量类型 289

11.5 C+++修饰符类型 290

11.6 C+++存储类 291

11.7 C+++运算符和运算方式 294

11.8 C+++函数 297

11.9 C+++数组和高级功能 300

11.10 C+++指针和高级功能 301

11.11 C+++引用和常用方式 303

11.12 C+++类和对象 305

11.13 C+++继承和多态 307

11.14 C+++接口和抽象 309

11.15 C+++文件和流的处理 311

11.16 C+++STL库介绍 314

11.17本章小结与分析 319

第12章C++网络编程基础 321

12.1 Socket套接字 321

12.2套接字寻址方式 326

12.3 Winsocket网络程序开发流程 328

12.4在Visual Studio中创建网络工程 330

12.5 Winsocket编程准备 331

12.6基于TCP的Socket编程 332

12.7基于UDP的Socket编程 336

12.8本章小结与分析 343

第13章 多线程和异步套接字 345

13.1 C+++多线程开发 345

13.2 C+++多线程互斥对象和同步 347

13.3 C+++进程间通信 350

13.4 C+++设置异步I/O的模式和方法 356

13.5本章小结与分析 358

第14章MySQL数据库的使用 359

14.1 MySQL数据库介绍和使用范围 359

14.2安装MySQL数据库 360

14.3 MySQL可视化管理工具的使用 362

14.4使用C+++连接MySQL数据库 364

14.5 SQL语句和语法 369

14.6 MySQL备份导出数据和导入转移数据 371

14.7本章小结与分析 374

第15章 网络协议Protobuf的使用 376

15.1什么是Protobuf 376

15.2 Protobuf的功能是什么 378

15.3 Protobuf序列化的原理是什么 385

15.4如何编写Protobuf的.proto文件 387

15.5如何编译和生成Protobuf的编译程序 389

15.6使用Protobuf协议制作一段网络小程序 392

15.7本章小结与分析 399

第4篇C+网络开发实战(服务器) 402

第16章 设计架构简单的互动服务器体系 402

16.1 Visio:一个绘制架构图的软件 402

16.2如何使用图和连接线来表示架构 404

16.3需要哪些服务来构建整个服务体系 406

16.4登录服务器(LoginServer) 407

16.5网关服务器(GateServer) 410

16.6中心服务器(CenterServer) 413

16.7战场服务器(BattleServer) 414

16.8本章小结与分析 418

第17章 开发登录服务器LoginServer 420

17.1登录服务器的作用 420

17.2使用Protobuf生成登录授权文件和协议 421

17.3创建LoginServer网络会话层底层模块 429

17.4创建LoginServer服务逻辑模块 436

17.5导入LoginServer的Protobuf协议 440

17.6客户端Protobuf协议的导入和使用 443

17.7从客户端登录到授权的逻辑处理过程 445

17.8启动LoginServer,完成第一次授权登录 449

17.9 Redis缓存存储和信息处理 450

17.10本章小结与分析 452

第18章 开发网关服务器GateServer 453

18.1网关服务器及其作用 453

18.2创建GateServer的框架主程序 454

18.3创建网关转发和验证所需要的Protobuf协议脚本 461

18.4生成服务器所需要的C+++协议程序 464

18.5生成客户端所需要的C#协议程序 466

18.6完成网关服务器的逻辑功能开发 468

18.7完成客户端从网关授权进入大厅的逻辑 478

18.8本章小结与分析 481

第19章 开发中心服务器CenterServer 482

19.1中心服务器及其作用 482

19.2创建CenterServer框架主程序 484

19.3创建中心服务器的Protobuf协议脚本 488

19.4生成服务器所需要的C+++协议程序 495

19.5生成客户端所需要的C#协议程序 497

19.6生成服务器data数据和协议代码 500

19.7完成中心服务器的逻辑功能开发 504

19.8启动客户端完成任务配置并开始仿真任务 513

19.9本章小结与分析 520

第20章 开发战场服务器BattleServer 522

20.1战场服务器及其作用 522

20.2创建BattleServer框架主程序 524

20.3创建战场服务器Protobuf协议脚本 527

20.4生成服务器所需要的C+++协议程序 537

20.5生成客户端所需要的C#协议程序 539

20.6生成服务器data数据和协议代码 550

20.7创建战场服务器的聊天模块 553

20.8创建战场逻辑模块 556

20.9创建战场仿真人员同步模块 558

20.10创建战场仿真车辆和飞行器模块 564

20.11创建战场动态资源管理和监控模块 568

20.12创建战场AI仿真敌人和飞行器AI状态机 571

20.13调试战场服务器和客户端,启动仿真任务 576

20.14本章小结与分析 579

第21章 一些仿真框架和人工智能的介绍 581

21.1 VR-LINK与HLA框架:高层体系模型框架的使用 581

21.2游戏中常用的人工智能算法和深度学习引申 584

后记——全书总结与个人发展建议 588