展开全部

主编推荐语

本书层层拆解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、科普以及教材、教辅等领域。