互联网
类型
8.0
豆瓣评分
可以朗读
语音朗读
377千字
字数
2022-01-01
发行日期
展开全部
主编推荐语
本书层层拆解Unity3D游戏客户端架构,深入剖析各个模块技术方案,详细讲解游戏客户端的渲染原理。
内容简介
本书共10章,每章都是一个独立的知识领域,读者可以按照章节顺序阅读本书,也可以根据喜好挑选自己感兴趣的章节学习。
如果你是一名经验丰富的程序员,能够理解游戏编程的相关基础知识,那么你可以直接阅读你感兴趣的章节。
如果你是一名初学者,建议尽量从第1章开始学习。第1章讲了架构的意义、架构的原理以及如何实现架构。
第2章对C#技术的基础知识做了详细的讲解。
第3章主要针对客户端中的表格数据、程序的协作与应用进行讲解。
第4章介绍的是用户界面(UI)的工作原理与优化手段。
第5章针对3D模型的原理、动画的原理以及两者的优化做了详细的讲解。
第6章介绍的是网络层的业务与底层原理。
第7章针对各种AI类型进行了解析。
第8章主要介绍场景构建与优化、地图构建以及寻路算法优化的相关知识。
第9章则给出了图形数学、图形学常用算法、渲染管线的相关知识。最
后一章(第10章)针对客户端各类渲染技术的渲染原理进行了详细的解析。
目录
- 版权信息
- 作者简介
- 推荐语
- 前言
- 第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投影原理
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。