最新公告
  • 开通终身SVIP,享全站不限量下载次数-云资源-集成各类网络资源-正在更新中-预计更新到5W+文章开通SVIP
  • 文章介绍
  • 评价建议
  • 资源名称:Unity 3D网络游戏实战 PDF

    内容简介:

    深入讲解Unity3D网络游戏开发的原理和实现细节,全面剖析游戏网络框架设计。 ·实战性强,以多人坦克对战游戏案例贯穿全书,详述网络游戏的开发过程,帮助读者掌握商业游戏的设计思路和实现方法。

    作者简介:

    罗培羽,广州四三九九信息科技有限公司项目负责人、主程序,参与《卡布魔镜》《卡布西游》《卡布仙踪》等多款游戏的开发工作。对游戏程序开发有着深入了解,对游戏项目的组织和管理有着一定的实战经验。目前关注休闲手机游戏、虚拟现实和现实增强、独立游戏等领域。

    曾组织团队开发3D仙剑同人游戏《仙剑5前传之心愿》,该项目为目前仅有的一款成功的3D仙剑同人,引起仙侠游戏圈的普遍关注。发布后获得游侠网单机RPG类下载排行第四名,仙剑官方也给予高度评价。

    自2009年开始,发布《教你用vb制作rpg游戏》、《教你制作3DRPG游戏》、《掌握X3D》、《不会电脑也汇编》等大量教程。2004年出版专著《手把手教你用c#制作rpg游戏》,该书为《十二五全国高校数字游戏设计精品教材》系列之一。

    资源目录:

    前言

    第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

    资源截图:

    1.png


    源码网-yuanma.in » Unity 3D网络游戏实战 PDF_游戏开发教程

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

    发表评论

    • 2会员总数(位)
    • 40993资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1699稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情