《Unity3D网络游戏实战》读书笔记思维导图_第1页
《Unity3D网络游戏实战》读书笔记思维导图_第2页
《Unity3D网络游戏实战》读书笔记思维导图_第3页
《Unity3D网络游戏实战》读书笔记思维导图_第4页
《Unity3D网络游戏实战》读书笔记思维导图_第5页
已阅读5页,还剩114页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

思维导图PPT模板《Unity3D网络游戏实战》最新版读书笔记,下载可以直接修改系统坦克界面类服务端协议面板目标程序功能游戏网络场景资源客户端结构消息敌人第章本书关键字分析思维导图01第1章掌握Unity3D基本元素第3章火炮与敌人第5章代码分离的界面系统第2章坦克控制单元第4章人工智能第6章网络基础目录030502040607第7章服务端框架第9章房间系统第11章战场系统第8章客户端网络模块第10章房间系统服务端第12章炮火同步目录0901108010012内容摘要本书先提出了一个明确的学习目标,即制作一款完整的多人对战游戏,然后逐步去实现它。全书涉及行走控制、人工智能系统、界面系统、服务端框架、客户端框架、房间系统、战场系统等多项内容。在涉及相关知识点时,书中会有详细的讲解。具体来说,本书分为如下3个部分。第一部分“单机游戏”:第1章至第5章,主要介绍如何开发一款功能完整的坦克单机游戏。除了让坦克行走、开炮,还将介绍基于代码和资源分离的界面系统、敌人AI。了解开发单机游戏的知识,也是为接下来的网络开发学习奠定基础。第二部分“网络原理”:第6章至第8章,主要介绍网络通信的原理,开发客户端的网络模块和服务端程序框架。这套框架具有较高的通用性,可以运用在多种游戏上。第三部分“网络游戏”:第9章至第12章,主要讲解房间系统和同步系统的逻辑实现,将单机坦克游戏改造成多人对战的网络游戏。作为实例教程,本书偏重于例子中涉及的知识点。如果读者想要深入了解某些内容,或者了解实现某种功能的更多方法,建议在阅读本书的过程中多多查询相关资料,以便做到举一反三。第1章掌握Unity3D基本元素1.1最最简单的游戏1.2导入资源1.3山体系统1.4灯光1.5材质1.6预设010302040506第1章掌握Unity3D基本元素1.7声音1.8GUI1.9场景1.10导出游戏第1章掌握Unity3D基本元素1.1.1Unity3D的界面构成1.1.2在场景中创建立方体1.1.3编写第一个程序1.1.4测试游戏1.1.5总结123451.1最最简单的游戏1.2.1从本地导入素材1.2.3从AssetStore导入1.2.2从本地导入包文件1.2导入资源1.5.1什么是材质1.5.2如何创建材质1.5.3MeshRenderer组...1.5.4着色器1.5材质1.6.1制作预设1.6.3使用预设的例子1.6.2预设的实例化1.6预设1.7.1音源1.7.3简单播放器1.7.2接收器1.7声音1.8.1GUI绘图基础1.8.3绘制登录框1.8.2编写HelloWorld程序1.8GUI1.9.2场景切换1.9.1创建场景1.9场景第2章坦克控制单元2.1导入坦克模型2.2行走控制2.3相机跟随2.4旋转炮塔第2章坦克控制单元2.5车辆行驶2.7音效2.6轮子和履带第2章坦克控制单元2.1.1导入模型2.1.3材质和贴图2.1.2调整尺寸2.1导入坦克模型2.2.1基础知识2.2.3转向和前后移动2.2.2上下左右移动2.2行走控制2.3.1数学原理2.3.2跟随算法2.3.3设置跟随目标2.3.4横向旋转相机2.3.5纵向旋转相机2.3.6滚轮调节距离0103020405062.3相机跟随2.4.1坦克的层次结构2.4.3炮管2.4.2炮塔2.4旋转炮塔2.5.1Unity3D的物理系统2.5.2车轮碰撞器2.5.3控制车辆2.5.4制动(刹车)2.5车辆行驶2.6.2履带滚动2.6.1轮子转动2.6轮子和履带第3章火炮与敌人3.1发射炮弹3.2摧毁敌人3.3准心3.4绘制生命条3.5击杀提示3.6炮弹的音效010302040506第3章火炮与敌人3.1.1制作炮弹3.1.2制作爆炸效果3.1.3炮弹轨迹3.1.4坦克开炮3.1发射炮弹3.2.1坦克的控制类型3.2.2坦克的生命值3.2.3焚烧特效3.2.4坦克被击中后的处理3.2.5炮弹的攻击处理123453.2摧毁敌人3.3.1概念和原理3.3.2计算目标射击位置3.3.3计算实际射击位置3.3.4绘制准心3.3准心3.4.2绘制生命条3.4.1生命条素材3.4绘制生命条3.5.1谁发射了炮弹3.5.3显示击杀提示3.5.2谁被击中3.5击杀提示3.6.2爆炸音效3.6.1发射音效3.6炮弹的音效第4章人工智能4.1基于有限状态机的人工智能4.2程序结构4.3搜寻目标4.4向敌人开炮第4章人工智能4.5走向目的地4.6使用NavMesh计算路径4.7行为决策4.8战场系统第4章人工智能4.1.2分层有限状态机4.1.1有限状态机4.1基于有限状态机的人工智能4.2.2在Tank中调用4.2.1AI类的结构4.2程序结构4.3.1搜寻规则4.3.2坦克标签4.3.3主动搜寻算法4.3.4被动搜寻算法4.3.5调试123454.3搜寻目标4.4.1电脑控制的方式4.4.2炮塔炮管的目标角度4.4.3调试程序4.4.4开炮4.4向敌人开炮4.5.1路点4.5.2路径4.5.3根据场景标志物生成路径4.5.4给AI指定路径4.5.5操控坦克4.5.6调试程序0103020405064.5走向目的地4.6.1NavMesh的原理4.6.3生成路径4.6.2生成导航图4.6使用NavMesh计算路径4.7.1巡逻状态4.7.3调试4.7.2进攻状态4.7行为决策4.8.1单例模式4.8.2BattleTank4.8.3战场逻辑4.8.4敌我区分4.8.5出生点4.8.6坦克预设0103020405064.8战场系统4.8.7开启一场两军对峙的战斗4.8.9开始战斗4.8.8战场结算4.8战场系统第5章代码分离的界面系统5.1UnityUI系统5.2制作界面素材5.3面板基类PanelBase5.4面板管理器PanelMgr第5章代码分离的界面系统5.5面板逻辑5.6调用界面系统5.7胜负面板5.8设置面板第5章代码分离的界面系统5.1.1创建UI部件5.1.2Canvas画布5.1.3EventSystem5.1.4RectTransform5.1UnityUI系统5.1.5其他UGUI组件5.1.7简单的面板调用5.1.6事件触发5.1UnityUI系统5.2.2制作预设5.2.1标题面板和信息面板5.2制作界面素材5.3.1代码与资源分离的优势5.3.2面板系统的设计5.3.3面板基类的设计要点5.3.4面板基类的实现5.3面板基类PanelBase5.4.1层级管理5.4.3关闭面板ClosePanel5.4.2打开面板OpenPanel5.4面板管理器PanelMgr5.5.2信息面板InfoPanel5.5.1标题面板TitlePanel5.5面板逻辑5.6.2界面系统的调用5.6.1界面系统的资源5.6调用界面系统5.7.1面板素材5.7.3面板调用5.7.2面板逻辑5.7胜负面板5.8.1面板素材5.8.3面板调用5.8.2面板逻辑5.8设置面板第6章网络基础6.1七层网络模型6.2IP与端口6.3TCP协议6.4Socket套接字6.5同步Socket程序6.6异步Socket程序010302040506第6章网络基础6.7MySQL6.8类的序列化6.9定时器6.10线程互斥6.11通信协议和消息列表12345第6章网络基础6.1.1应用层6.1.2传输层6.1.3网络层6.1.4数据链路层6.1.5物理层123456.1七层网络模型6.2.1IP地址6.2.3C#中的相关类型6.2.2端口6.2IP与端口6.3.1TCP连接的建立6.3.3TCP连接的终止6.3.2TCP的数据传输6.3TCP协议6.4.2Socket类6.4.1Socket连接的流程6.4Socket套接字6.5.1新建控制台程序6.5.2编写服务端程序6.5.3客户端界面6.5.4客户端程序6.5同步Socket程序6.6.1BeginAccept6.6.2BeginReceive6.6.3Conn(state)6.6.4服务端程序(主体结构)6.6.5服务端程序(Accept回调...6.6.6服务端程序(接收回调)0103020405066.6异步Socket程序6.6.7开启服务端6.6.8客户端界面6.6.9客户端程序6.6.10调试程序6.6异步Socket程序6.7.1配置MySQL环境6.7.2建立MySQL数据库6.7.3MySQL基础知识6.7.4MySQL留言板服务端程序6.7.5调试程序123456.7MySQL6.11.1通信协议6.11.2服务端程序6.11.3消息列表6.11.4客户端场景6.11.5客户端程序6.11.6调试0103020405066.11通信协议和消息列表第7章服务端框架7.1服务端架构7.2数据管理类DataMgr7.3临时数据7.4网络管理类ServNet7.5心跳7.6协议010302040506第7章服务端框架7.7中间层Player类7.9注册登录7.8消息分发第7章服务端框架7.1.1总体架构7.1.2游戏流程7.1.3连接的数据结构7.1.4数据库结构7.1.5项目结构123457.1服务端架构7.2.1数据表结构7.2.2角色数据7.2.3Player的初步版本7.2.4连接数据库7.2.5防止sql注入7.2.6Register注册0103020405067.2数据管理类DataMgr7.2.7CreatePlayer创建...7.2.8登录校验7.2.9获取角色数据7.2.10保存角色数据7.2.11调试123457.2数据管理类DataMgr7.4.1粘包分包现象7.4.2粘包分包的处理方法7.4.3Conn连接类7.4.4ServNet网络处理类7.4网络管理类ServNet7.4.5ReceiveCb的粘包分包...7.4.6发送消息7.4.7启动服务端7.4.8调试7.4网络管理类ServNet7.5.1心跳机制7.5.2时间戳7.5.3使用定时器7.5.4心跳协议7.5.5调试心跳协议123457.5心跳7.6.1协议基类7.6.2字符串协议7.6.3字节流协议7.6.4字节流辅助方法7.6.5使用协议7.6.6调试0103020405067.6协议7.7.1登录流程7.7.3Player类的实现7.7.2下线7.7中间层Player类7.8.1消息处理的类7.8.3反射7.8.2消息处理类的实现7.8消息分发7.9.1协议7.9.2注册功能7.9.3登录功能7.9.4登出功能7.9.5获取分数功能7.9.6增加分数功能0103020405067.9注册登录7.9.7输出服务端信息7.9.8Main中的调用7.9.9测试用客户端7.9.10调试7.9注册登录第8章客户端网络模块8.1网络模块设计8.2委托8.3MsgDiistriibutii...8.4Connectiion连接8.5NetMgr网络管理8.6登录注册功能010302040506第8章客户端网络模块8.7位置同步的服务端程序8.9调试框架8.8位置同步的客户端程序第8章客户端网络模块8.1.1整体架构8.1.3类结构8.1.2监听表8.1网络模块设计8.2.1使用委托8.2.3操作符8.2.2示例8.2委托8.3.1MsgDistributio...8.3.3AddListener8.3.2DispatchMsgEve...8.3MsgDiistriibutii...8.4.1Connection的成员8.4.2连接服务端8.4.3关闭连接8.4.4异步回调8.4Connectiion连接8.4.5消息处理8.4.7心跳机制8.4.6送数据8.4Connectiion连接8.6.1界面资源8.6.3注册面板功能8.6.2登录面板功能8.6登录注册功能8.7.1协议8.7.2场景8.7.3协议处理8.7.4事件处理8.7位置同步的服务端程序8.8.2客户端程序8.8.1客户端资源8.8位置同步的客户端程序第9章房间系统9.1游戏界面9.2协议设计9.3提示框的功能实现9.4登录注册的功能实现9.5房间列表面板的功能9.6房间面板的功能010302040506第9章房间系统9.1.1登录面板9.1.2注册面板9.1.3提示面板9.1.4UGUI的滑动区域9.1游戏界面9.1.5房间列表面板9.1.7创建预设9.1.6房间面板9.1游戏界面9.4.1登录面板的功能9.4.2GameMgr9.4.3注册面板的功能9.4.4调试9.4登录注册的功能实现9.5.1获取部件9.5.2开启监听9.5.3刷新成绩栏9.5.4刷新房间列表9.5.5刷新按钮9.5.6加入房间0103020405069.5房间列表面板的功能9.5.7新建房间9.5.9测试面板9.5.8登出9.5房间列表面板的功能9.6.1获取部件9.6.2监听9.6.3刷新列表9.6.4退出按钮9.6.5开始战斗9.6.6测试面板0103020405069.6房间面板的功能第10章房间系统服务端10.1玩家数据10.2房间类10.3房间管理器10.4玩家消息处理10.5玩家事件处理10.6调试010302040506第10章房间系统服务端10.2.1数据结构10.2.2添加玩家10.2.3删除玩家10.2.4更换房主10.2.5广播消息10.2.6输出房间信息01030204050610.2房间类10.3.1数据结构10.3.2创建房间10.3.3离开房间10.3.4输出房间列表10.3房间管理器10.4.1查询成绩GetAchiev...10.4.2获取房间列表GetRoom...10.4.3创建房间CreateRoo...10.4.4加入房间EnterRoom10.4.5获取房间信息GetRoom...10.4.6离开房间LeaveRoom01030204050610.4玩家消息处理第1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论