为你推荐
作者简介
推荐语
前言
第1章 软件架构
1.1 架构的意义
1.2 软件架构的思维方式
1.3 如何构建Unity3D项目
第2章 C#技术要点
2.1 Unity3D中C#的底层原理
2.2 List底层源码剖析
2.3 Dictionary底层源码剖析
2.4 浮点数的精度问题
2.5 委托、事件、装箱、拆箱
2.5.1 委托与事件
2.5.2 装箱和拆箱
2.6 排序算法
2.6.1 快速排序算法
2.6.2 最大最小堆
2.6.3 其他排序算法概述
2.7 各类搜索算法
2.7.1 搜索算法概述
2.7.2 二分查找算法
2.7.3 二叉树、二叉查找树、平衡二叉树、红黑树和B树
2.7.4 四叉树搜索算法
2.7.5 八叉树搜索算法
2.8 业务逻辑优化技巧
2.8.1 使用List和Dictionary时提高效率
2.8.2 巧用struct
2.8.3 尽可能地使用对象池
2.8.4 字符串导致的性能问题
2.8.5 字符串的隐藏问题
2.8.6 程序运行原理
第3章 数据表与程序
3.1 数据表的种类
3.1.1 大部分数据都是在Excel里生成的
3.1.2 最原始的数据方式——代码数据
3.1.3 文本数据
3.1.4 比特流数据
3.2 数据表的制作方式
3.2.1 制作方式简介
3.2.2 让数据使用起来更加方便
3.3 多语言的实现
第4章 用户界面
4.1 用户界面系统的比较
4.2 UGUI系统的原理及其组件使用
4.2.1 UGUI系统的运行原理
4.2.2 UGUI系统的组件
4.3 UGUI事件模块剖析
4.3.1 UGUI事件系统源码剖析
4.3.2 输入事件源码
4.3.3 事件数据模块
4.3.4 输入事件捕获模块源码
4.3.5 射线碰撞检测模块源码
4.3.6 事件逻辑处理模块
4.4 UGUI核心源码剖析
4.4.1 UGUI核心源码结构
4.4.2 Culling模块
4.4.3 Layout模块
4.4.4 MaterialModifiers、SpecializedCollections和Utility
4.4.5 VertexModifiers
4.4.6 核心渲染类
4.5 快速构建一个简单易用的UI框架
4.6 UI优化
4.6.1 UI动静分离
4.6.2 拆分过重的UI
4.6.3 UI预加载
4.6.4 UI图集Alpha分离
4.6.5 UI字体拆分
4.6.6 Scroll View优化
4.6.7 网格重构的优化
4.6.8 UI展示与关闭的优化
4.6.9 对象池的运用
4.6.10 UI贴图设置的优化
4.6.11 内存泄漏
4.6.12 针对高低端机型的优化
4.6.13 UI图集拼接的优化
4.6.14 GC的优化
第5章 3D模型与动画
5.1 美术资源规范
5.2 合并3D模型
5.2.1 网格模型的基础知识
5.2.2 动态批处理
5.2.3 静态批处理
5.2.4 自己编写合并3D模型的程序
5.3 状态机
5.3.1 如何用状态机模拟人物行为动作
5.3.2 在游戏的人物行为动作中使用状态机
5.3.3 在游戏项目中使用状态机的地方
5.4 3D模型的变与换
5.4.1 切割模型
5.4.2 扭曲模型
5.4.3 简化模型
5.4.4 蒙皮骨骼动画
5.4.5 人物3D模型动画换皮换装
5.4.6 捏脸
5.4.7 动画优化
5.5 资源的加载与释放
第6章 网络通信
6.1 TCP与UDP
6.1.1 TCP和UDP简介
6.1.2 UDP的特点
6.1.3 是用TCP还是用UDP
6.2 C#实现TCP
6.2.1 程序实现TCP长连接
6.2.2 TCP的API库
6.2.3 线程锁
6.2.4 缓冲队列
6.2.5 双队列结构
6.2.6 发送数据
6.2.7 协议数据定义标准
6.2.8 断线检测
6.3 C#实现UDP
6.3.1 实现UDP
6.3.2 连接确认机制
6.3.3 数据包校验与重发机制
6.3.4 丢包问题分析
6.4 封装HTTP
6.4.1 HTTP协议原理
6.4.2 HTTP1.0、HTTP1.1、HTTP2.0简述
6.4.3 在Unity3D中的HTTP封装
6.4.4 多次请求时连续发送HTTP请求引起的问题
6.5 网络数据协议原理
6.5.1 协议包的格式
6.5.2 JSON
6.5.3 自定义二进制数据流协议格式
6.5.4 MessagePack
6.5.5 Protobuf
6.5.6 限定符的规则
6.5.7 Protobuf的原理:序列化和反序列化
6.5.8 Protobuf更改数据结构后的兼容问题
6.5.9 Protobuf的优点
6.5.10 Protobuf的不足
6.6 网络同步解决方案
6.6.1 状态同步法
6.6.2 实时广播同步法
6.6.3 帧同步
6.6.4 同步快进
6.6.5 精度问题
6.6.6 同步锁机制
第7章 游戏中的AI
7.1 用状态机构建AI
7.2 用行为树构建AI
7.2.1 复合节点
7.2.2 修饰节点
7.2.3 条件节点
7.2.4 行为节点
7.3 非典型性AI
7.3.1 可演算式AI
7.3.2 博弈式AI
第8章 地图与寻路
8.1 A星算法及其优化
8.1.1 长距离导航
8.1.2 A星排序算法优化
8.1.3 寻路期望值优化
8.1.4 通过权重引导寻路方向
8.1.5 拆分寻路区域
8.1.6 A星算法细节优化
8.1.7 寻路规则优化JPS
8.2 寻路网格的构建
8.2.1 数组构建网格
8.2.2 路点网格
8.2.3 平面三角形网格
8.2.4 多层级网格
8.2.5 三角形网格中的A星算法
8.2.6 体素化寻路网格
8.2.7 RecastNavigation Navmesh
8.3 地图编辑器
8.3.1 地图编辑器的基本功能
8.3.2 数据协议格式在编辑器中的选择
8.3.3 地图加载方式
8.3.4 地图九宫格
8.4 地图的制作与优化
8.4.1 地图的制作方式
8.4.2 常规场景的性能优化
第9章 渲染管线与图形学
9.1 图形学基础
9.1.1 向量的意义
9.1.2 点积的几何意义
9.1.3 叉乘的几何意义
9.1.4 向量之间的投影
9.1.5 矩阵的意义
9.1.6 矩阵旋转、缩放、投影、镜像和仿射
9.1.7 齐次坐标的平移矩阵
9.1.8 如何理解四元数
9.2 渲染管线
9.2.1 OpenGL、DirectX图形接口
9.2.2 渲染管线是什么
9.2.3 混合
9.2.4 渲染管线总结
第10章 渲染原理与知识
10.1 渲染顺序
10.2 Alpha Test
10.3 Early-Z GPU硬件优化技术
10.4 Mipmap的原理
10.5 显存的工作原理
10.6 Filter滤波方式
10.7 实时阴影是如何生成的
10.8 光照纹理烘焙原理
10.9 GPU Instancing的来龙去脉
10.10 着色器编译过程
10.11 Projector投影原理
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜