Unity 3D网络游戏实战 pdf
Unity 3D网络游戏实战(全)
目录:
掌握Unity3D基本元素
1.1 简单的游戏
1.1.1在场景中创建一个立方体
1.1.2编写可以使立方体运动的程序
1.1.3测试游戏1.1.4总结1.2 资源导入1.3 山体系统1.4 灯光1.5 材质1.6 预设1.6.1制作预设1.6.2例子1.7 声音1.7.1音源1.7.2接收器1.7.3简单播放器1.8 GUI1.8.1用Unity3D编写HelloWorld程序1.8.2用Unity3D编写登录框1.9导出游戏第
2 章 驾驶梦想中的坦克备用章节名:坦克控制单元
2.1行走控制2.1.1Unity3D的脚本2.1.2获取输入操作2.1.3坐标变换2.2 相机跟随2.2.1跟随的数学原理2.2.2相机跟随的功能实现2.2.3鼠标控制相机的角度2.2.4滚轮调整相机与坦克的距离2.3 坦克的物理特征2.3.1 Unity3D的物理引擎2.3.2 车轮碰撞器2.4 驾驶坦克2.5转动的轮子2.6滚动的履带
第3章 开炮击毁敌人备用章节名:火炮系统
3.1 旋转的炮塔3.2 俯仰的炮管 3.3 开炮!3.3.1制作3.3.2制作爆炸效果3.3.3逻辑3.3.4开火3.4 坦克的控制类型3.5 摧毁敌军3.6 准心3.7 生命指示条3.8 击中提示3.8.1谁发射了3.8.2被谁击中3.8.3击杀提示3.9 的音效3.9.1射击音效3.9.2爆炸声音
第4章 进击的人工智能备用章节名:人工智能
4.1 实现人工智能的一般方法4.1.1有限状态机4.1.2分层有限状态机4.2 搜寻目标4.2.1编写AI类4.2.2在Tank中调用AI类4.3 向敌人开炮4.3.1旋转的炮塔4.3.2俯仰的炮管 4.3.3开炮!4.4 路点和路径4.4.1路点4.4.2路径4.4.3一种生成路径的方法4.4.4给坦克指定路径4.5 走向目的地4.6 使用NavMesh计算路径4.6.1NavMesh的原理4.6.2生成导航图4.6.3生成路径4.7 行为决策4.8 战场4.8.1战场逻辑4.8.2两军对峙
第5章 代码分离的界面系统
5.1 了解Unity UI系统(UGUI)5.1.1 Canvas画布5.1.2 EventSystem5.1.3 RectTransform5.1.4 其他UGUI组件5.1.5 事件触发5.2 制作坦克游戏界面5.3 界面基类PanelBase5.3.1 代码与资源分离的优势5.3.2 界面系统的设计5.3.3 PanelBase的设计5.4 界面管理器PanelMgr5.4.1 层级管理5.4.2 打开面板OpenPanel5.4.3 关闭面板ClosePanel5.5 TitlePanel和InfoPanel5.6 调用界面系统5.7 胜负面板5.8 设置面板
第6章 网络基础
6.1 七层网络模型6.1.1 应用层6.1.2传输层6.1.3网络层6.1.4数据链路层6.2 IP与端口6.3 TCP协议6.3.1 TCP连接的建立6.3.2 TCP的数据传输6.3.3 TCP连接的终止6.4 Socket套接字6.5 同步Socket程序6.5.1 新建控制台程序6.5.2编写服务端代码6.5.3编写客户端程序6.6 异步socket程序6.6.1 连接类(state)6.6.2 异步服务端6.6.3 开启服务端6.6.4 编写客户端程序6.7 Mysql6.7.1 Mysql基础入门6.7.2 留言板服务端程序6.7.3 调试程序6.8 类的序列化6.9 定时器6.10 线程互斥6.11 通讯协议和消息列表6.11.1 通讯协议6.11.2 服务端程序6.11.3 客户端场景6.11.4 消息列表6.11.5 客户端程序6.11.6 调试
第7章 游戏服务端框架
7.1服务端架构7.1.1 总体架构7.1.2游戏流程7.1.3连接数据结构7.1.4数据库结构7.1.5项目结构7.2 数据管理类DataMgr7.2.1 数据库结构7.2.2 玩家数据7.2.3 Player的初步版本7.2.4 连接数据库7.2.5 防止sql注入7.2.6 Register注册7.2.7 CreatePlayer创建角色7.2.8 登录校验7.2.9 获取角色数据7.2.10 保存角色数据7.2.11 调试7.3 处理粘包分包7.3.1 Conn类7.3.2 ServNet网络处理类7.3.3 ReceiveCb的沾包分包处理7.3.4 发送消息7.3.5 启动服务端7.3.6 客户端程序7.4 心跳7.4.1 时间戳7.4.2使用定时器7.4.3心跳消息7.4.4调试7.5 协议7.5.1协议基类7.5.2字符串协议7.5.3字节流协议7.5.4字节流辅助方法7.5.5使用协议7.5.6客户端程序7.5.7调试7.6 中间层player类7.7 消息分发7.7.1消息分发类7.7.2 NetServ的消息分发7.8 注册登录7.8.1 协议7.8.2 注册7.8.3 登录7.8.4 登出7.8.5 获取分数7.8.6 增加分数7.8.7 Print输出服务端信息7.8.8 Main7.8.9 客户端7.8.10 调试
第8章 客户端网络模块
8.1 网络模块设计8.2 委托8.3 MsgDistribution消息分发8.4 Connection连接8.4.1 连接服务端8.4.2 异步回调8.4.3 添加消息8.4.4 发送数据8.4.5 心跳处理8.5 NetMgr网络管理8.6 登录注册8.6.1登录注册面板8.6.2登录面板功能8.6.3注册面板功能8.7 服务端程序8.7.1协议8.7.2场景8.7.3协议处理8.7.4事件处理8.8 客户端程序8.8.1客户端资源8.8.2客户端程序8.9调试框架
第9章 房间系统
9.1 房间协议9.2 服务端房间类9.3 服务端协议处理9.4 客户端界面制作9.5 客户端协议处理0章 同步战场系统10.1 战场协议10.2 服务端战场类10.3 服务端协议处理10.4 客户端界面制作10.5 客户端协议处理10.6
下载地址:https://pan.baidu.com/s/1kNggFuy1pjLXAb3GrdCJ2w
关注微信公众号获取提取码:
输入:3dsz 获取提取码
Unity 3D网络游戏实战 pdf的更多相关文章
- unity 3d开发的大型网络游戏
unity 3d开发的大型网络游戏 一.总结 1.unity的官网上面应该有游戏列表 2.unity3D是很好的3d游戏引擎,也支持2d,也能做很多画面精良的3A级游戏 3.范围:电脑游戏,手机游戏, ...
- 使用 Unity 3D 开发游戏的架构设计难点
Unity 3D 引擎对于开发者来说,入手非常快,因为它采用的是 C# 作为开发语言,这也大大降低了开发者的门槛.但凡只要懂一门编程语言的人都能使用 Unity 3D 引擎开发,另外 Unity 3D ...
- Unity3D游戏开发和网络游戏实战书籍及配套资源和一些视频教程分享
目录 1. 按 2. pdf 3. 配套资源 3.1. Unity网络游戏实战第二版 3.2. Unity网络游戏实战第一版 4. 视频教程 5. 更多坦克大战代码 1. 按 本文主要分享了: Uni ...
- C#程序员整理的Unity 3D笔记(十):Unity3D的位移、旋转的3D数学模型
遇到一个想做的功能,但是实现不了,核心原因是因为对U3D的3D数学概念没有灵活吃透.故再次系统学习之—第三次学习3D数学. 本次,希望实现的功能很简单: 如在小地图中,希望可以动态画出Player当前 ...
- HTML5 Canvas游戏开发实战 PDF扫描版
HTML5 Canvas游戏开发实战主要讲解使用HTML5 Canvas来开发和设计各类常见游戏的思路和技巧,在介绍HTML5 Canvas相关特性的同时,还通过游戏开发实例深入剖析了其内在原理,让读 ...
- Circular progress bar in Unity 3D
Circular progress bar in Unity 3D - UnityScripthttp://stackoverflow.com/questions/22662706/circular- ...
- Unity 3D 游戏上线之后的流水总结
原地址:http://tieba.baidu.com/p/2817057297?pn=1 首先.unity 灯光烘焙 :Unity 3D FBX模型导入.选项Model 不导入资源球.Rig 不导入骨 ...
- C#程序员整理的Unity 3D笔记(十五):Unity 3D UI控件至尊–NGUI
目前,UGUI问世不过半年(其随着Unity 4.6发布问世),而市面上商用的产品,UI控件的至尊为NGUI:影响力和广度(可搜索公司招聘Unity 3D,常常能看到对NGUI关键词). NGUI虽然 ...
- C#程序员整理的Unity 3D笔记(十三):Unity 3D基于组件的思想
如果你接触过<设计模式>.软件架构的编程思想,就会知道优秀的设计准则:“组合优于继承的”. 这句话很简短,但开始学习OOP的时候,真切的是—-不太好理解(以我个人当初学习为例). OOP的 ...
随机推荐
- 语义(Semantics)
流计算语义(Semantics)的定义 每一条记录被流计算系统处理了几次 有三种语义: 1.At most once 一条记录要么被处理一次,要么没有被处理 2.At least once 一条记录可 ...
- final修饰的变量引用不能变还是对象不可变
两种情况:如果是基本数据类型,被final修饰的变量一旦初始化就不能改变:如果是引用数据类型的变量,初始化之后不能指向另外一个对象. 基本数据类型: package cn.yqg.day2; publ ...
- C# 接收C++ dll 可变长字节或者 字符指针 char*
网络上查找到的几乎都是 需要提前固定知道 接收字符(字节)数据的大小的方式,现在的数据大小方式 不需要提前知道如下 思路: 1 .C++,返回变长 指针或者字节 的地址给C# 接收,同时返回 该地址的 ...
- grep命令选项
-c:只输出匹配行的计数. -I:不区分大 小写(只适用于单字符). -h:查询多文件时不显示文件名. -l:查询多文件时只输出包含匹配字符的文件名. -n:显示匹配行及 行号. -s:不显示不存在或 ...
- redis详解(包含使用场景)
本文围绕以下几点进行阐述 1.为什么使用redis2.使用redis有什么缺点3.单线程的redis为什么这么快4.redis的数据类型,以及每种数据类型的使用场景5.redis的过期策略以及内存淘汰 ...
- 洛谷 P2279 [HNOI2003]消防局的设立 题解
每日一题 day34 打卡 Analysis 这道题的正解本来是树形dp,但要设5个状态,太麻烦了.于是我就用贪心试图做出此题,没想到还真做出来了. 考虑当前深度最大的叶子结点,你肯定要有一个消防局去 ...
- OPCode详解及汇编与反汇编原理
1. 何为OPCode 在计算机科学领域中,操作码(Operation Code, OPCode)被用于描述机器语言指令中,指定要执行某种操作的那部分机器码,构成OPCode的指令格式和规范由处理器的 ...
- 2017.10.3 国庆清北 D3T3 解迷游戏
题目描述 LYK进了一家古董店,它很想买其中的一幅画.但它带的钱不够买这幅画. 幸运的是,老板正在研究一个问题,他表示如果LYK能帮他解出这个问题的话,就把这幅画送给它. 老板有一个n*m的矩阵,他想 ...
- 从海量文本中统计出前k个频率最高的词语
现有如下题目:有一个海量文本,存储的是汉语词语,要求从中找出前K个出现频率最高的词语,写出最优算法,兼顾时间和空间复杂度. 思路分析:熟悉搜索引擎的程序员,应该不是难题.用传统的HashMap是无法解 ...
- Three.js实现滚轮放大展现不同的模型
目录 Three.js实现滚轮放大展现不同的模型 修改OrbitControls.js的源码 OrbitControls在透视相机(PerspectiveCamera)的控制原理 具体实现 Three ...