Unity 3D网络游戏实战PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:罗培羽著
- 出 版 社:北京:机械工业出版社
- 出版年份:2016
- ISBN:7111549963
- 页数:430 页
第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 MeshRenderer组件 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 UnityUI系统 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
- 《幼儿园游戏 规则性游戏》徐仁吉编 1951
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《幼儿英语游戏活动指导与实训》苏小菊,任晓琴主编;颜晓芳,覃静,谢恬恬,钟博维副主编 2020
- 《Python3从入门到实战》董洪伟 2019
- 《近代体育游戏教育史料汇编 第1辑 1》王强主编 2016
- 《花样民游 幼儿园民间传统游戏的创新与指导》刘娟 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《星空摄影后期实战》阿五在路上著 2020
- 《社会转型期档案利用政策研究》黄霄羽著 2019
- 《唐宋道教与世俗礼仪互动研究》吴羽著 2013
- 《90后零姿态 死于荣耀之夜》修新羽著 2013
- 《只有医生知道 2》张羽著 2013
- 《体育教育实习指导》易小坚,罗培著 2012
- 《丰顺旅泰精英录》丁文志,罗培衡,徐位常编著 2013
- 《雅思写作高分路径》(美)麦克,王羽著 2013
- 《丰顺历史名人》朱支辉,罗培衡编著 2010
- 《信马由缰》韩羽著 2014
- 《视觉传达设计》张福昌,王延羽著 1995
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019