Unity3D高级编程:主程手记
全新正版 极速发货
¥
55.71
5.6折
¥
99
全新
库存22件
作者陆泽西
出版社机械工业出版社
ISBN9787111698197
出版时间2022-01
装帧其他
开本16开
定价99元
货号1202571544
上书时间2024-06-15
商品详情
- 品相描述:全新
- 商品描述
-
目录
前 言<br/>第1章软件架构 1<br/>1.1 架构的意义 1<br/>1.2 软件架构的思维方式 5<br/>1.3 如何构建Unity3D项目 9<br/>第2章C#技术要点 14<br/>2.1Unity3D中C#的底层原理 14<br/>2.2List底层源码剖析 17<br/>2.3Dictionary底层源码剖析 27<br/>2.4浮点数的精度问题 39<br/>2.5委托、事件、装箱、拆箱 44<br/>2.5.1委托与事件 44<br/>2.5.2装箱和拆箱 45<br/>2.6排序算法 48<br/>2.6.1快速排序算法 48<br/>2.6.2最大最小堆 50<br/>2.6.3其他排序算法概述 51<br/>2.7各类搜索算法 51<br/>2.7.1搜索算法概述 52<br/>2.7.2二分查找算法 52<br/>2.7.3二叉树、二叉查找树、平衡二叉树、红黑树和B树 52<br/>2.7.4四叉树搜索算法 53<br/>2.7.5八叉树搜索算法 54<br/>2.8业务逻辑优化技巧 54<br/>2.8.1使用List和Dictionary时提高效率 55<br/>2.8.2巧用struct 55<br/>2.8.3尽可能地使用对象池 57<br/>2.8.4字符串导致的性能问题 61<br/>2.8.5字符串的隐藏问题 64<br/>2.8.6程序运行原理 65<br/>第3章数据表与程序 68<br/>3.1数据表的种类 68<br/>3.1.1大部分数据都是在Excel里生成的 68<br/>3.1.2最原始的数据方式—代码数据 69<br/>3.1.3文本数据 69<br/>3.1.4比特流数据 70<br/>3.2数据表的制作方式 71<br/>3.2.1制作方式简介 71<br/>3.2.2让数据使用起来更加方便 72<br/>3.3多语言的实现 75<br/>第4章用户界面 78<br/>4.1用户界面系统的比较 78<br/>4.2UGUI系统的原理及其组件使用 79<br/>4.2.1UGUI系统的运行原理 79<br/>4.2.2UGUI系统的组件 80<br/>4.3UGUI事件模块剖析 82<br/>4.3.1UGUI事件系统源码剖析 82<br/>4.3.2输入事件源码 82<br/>4.3.3事件数据模块 83<br/>4.3.4输入事件捕获模块源码 84<br/>4.3.5射线碰撞检测模块源码 89<br/>4.3.6事件逻辑处理模块 91<br/>4.4UGUI核心源码剖析 91<br/>4.4.1UGUI核心源码结构 91<br/>4.4.2Culling模块 91<br/>4.4.3Layout模块 93<br/>4.4.4MaterialModif?iers、Specialized-Collections和Utility 94<br/>4.4.5VertexModif?iers 95<br/>4.4.6核心渲染类 96<br/>4.5快速构建一个简单易用的UI框架 101<br/>4.6UI优化 107<br/>4.6.1UI动静分离 108<br/>4.6.2拆分过重的UI 108<br/>4.6.3UI预加载 109<br/>4.6.4UI图集Alpha分离 110<br/>4.6.5UI字体拆分 111<br/>4.6.6Scroll View优化 112<br/>4.6.7网格重构的优化 113<br/>4.6.8UI展示与关闭的优化 114<br/>4.6.9对象池的运用 114<br/>4.6.10UI贴图设置的优化 115<br/>4.6.11内存泄漏 117<br/>4.6.12针对高低端机型的优化 123<br/>4.6.13UI图集拼接的优化 126<br/>4.6.14GC的优化 127<br/>第5章3D模型与动画 134<br/>5.1美术资源规范 134<br/>5.2合并3D模型 141<br/>5.2.1网格模型的基础知识 141<br/>5.2.2动态批处理 143<br/>5.2.3静态批处理 144<br/>5.2.4自己编写合并3D模型的程序 145<br/>5.3状态机 147<br/>5.3.1如何用状态机模拟人物行为动作 147<br/>5.3.2在游戏的人物行为动作中使用状态机 148<br/>5.3.3在游戏项目中使用状态机的地方 148<br/>5.43D模型的变与换 152<br/>5.4.1切割模型 154<br/>5.4.2扭曲模型 156<br/>5.4.3简化模型 157<br/>5.4.4蒙皮骨骼动画 159<br/>5.4.5人物3D模型动画换皮换装 165<br/>5.4.6捏脸 167<br/>5.4.7动画优化 169<br/>5.5资源的加载与释放 176<br/>第6章网络通信 183<br/>6.1TCP与UDP 183<br/>6.1.1TCP和UDP简介 183<br/>6.1.2UDP的特点 185<br/>6.1.3是用TCP还是用UDP 186<br/>6.2C#实现TCP 187<br/>6.2.1程序实现TCP长连接 187<br/>6.2.2TCP的API库 187<br/>6.2.3线程锁 188<br/>6.2.4缓冲队列 188<br/>6.2.5双队列结构 190<br/>6.2.6发送数据 191<br/>6.2.7协议数据定义标准 192<br/>6.2.8断线检测 195<br/>6.3C#实现UDP 196<br/>6.3.1实现UDP 196<br/>6.3.2连接确认机制 196<br/>6.3.3数据包校验与重发机制 199<br/>6.3.4丢包问题分析 201<br/>6.4封装HTTP 202<br/>6.4.1HTTP协议原理 202<br/>6.4.2HTTP1.0、HTTP1.1、HTTP2.0简述 204<br/>6.4.3在Unity3D中的HTTP封装 206<br/>6.4.4多次请求时连续发送HTTP请求引起的问题 209<br/>6.5网络数据协议原理 222<br/>6.5.1协议包的格式 222<br/>6.5.2JSON 223<br/>6.5.3自定义二进制数据流协议格式 224<br/>6.5.4MessagePack 226<br/>6.5.5Protobuf 229<br/>6.5.6限定符的规则 231<br/>6.5.7Protobuf的原理:序列化和反序列化 232<br/>6.5.8Protobuf更改数据结构后的兼容问题 235<br/>6.5.9Protobuf的优点 236<br/>6.5.10Protobuf的不足 237<br/>6.6网络同步解决方案 237<br/>6.6.1状态同步法 237<br/>6.6.2实时广播同步法 239<br/>6.6.3帧同步 240<br/>6.6.4同步快进 242<br/>6.6.5精度问题 243<br/>6.6.6同步锁机制 244<br/>第7章游戏中的AI 245<br/>7.1用状态机构建AI 245<br/>7.2用行为树构建AI 251<br/>7.2.1复合节点 252<br/>7.2.2修饰节点 253<br/>7.2.3条件节点 253<br/>7.2.4行为节点 253<br/>7.3非典型性AI 255<br/>7.3.1可演算式AI 255<br/>7.3.2博弈式AI 257<br/>第8章地图与寻路 259<br/>8.1A星算法及其优化 259<br/>8.1.1长距离导航 262<br/>8.1.2A星排序算法优化 264<br/>8.1.3寻路期望值优化 265<br/>8.1.4通过权重引导寻路方向 267<br/>8.1.5拆分寻路区域 268<br/>8.1.6A星算法细节优化 270<br/>8.1.7寻路规则优化JPS 271<br/>8.2 寻路网格的构建 275<br/>8.2.1数组构建网格 275<br/>8.2.2路点网格 277<br/>8.2.3平面三角形网格 279<br/>8.2.4多层级网格 282<br/>8.2.5三角形网格中的A星算法 283<br/>8.2.6体素化寻路网格 286<br/>8.2.7RecastNavigation Navmesh 288<br/>8.3地图编辑器 290<br/>8.3.1地图编辑器的基本功能 290<br/>8.3.2数据协议格式在编辑器中的选择 292<br/>8.3.3地图加载方式 293<br/>8.3.4地图九宫格 294<br/>8.4地图的制作与优化 296<br/>8.4.1地图的制作方式 296<br/>8.4.2常规场景的性能优化 299<br/>第9章渲染管线与图形学 306<br/>9.1图形学基础 306<br/>9.1.1向量的意义 307<br/>9.1.2点积的几何意义 307<br/>9.1.3叉乘的几何意义 308<br/>9.1.4向量之间的投影 309<br/>9.1.5矩阵的意义 310<br/>9.1.6矩阵旋转、缩放、投影、镜像和仿射 312<br/>9.1.7齐次坐标的平移矩阵 320<br/>9.1.8如何理解四元数 321<br/>9.2渲染管线 324<br/>9.2.1OpenGL、DirectX图形接口 324<br/>9.2.2渲染管线是什么 325<br/>9.2.3混合 337<br/>9.2.4渲染管线总结 341<br/>第10章渲染原理与知识 343<br/>10.1渲染顺序 343<br/>10.2Alpha Test 345<br/>10.3Early-Z GPU硬件优化技术 347<br/>10.4Mipmap的原理 348<br/>10.5显存的工作原理 350<br/>10.6Filter滤波方式 351<br/>10.7 实时阴影是如何生成的 354<br/>10.8光照纹理烘焙原理 357<br/>10.9GPU Instancing的来龙去脉 362<br/>10.10 着色器编译过程 369<br/>10.11 Projector投影原理 372
内容摘要
本书分10章,每章都是一个独立的知识领域,读者可以按照章节顺序阅读本书,也可以根据喜好挑选自己感兴趣的章节学习。第1章讲了架构的意义、架构的原理以及如何实现架构。第2章对C#技术的基础知识做了详细的讲解。第3章主要针对客户端中的表格数据、程序的协作与应用进行讲解。第4章介绍的是用户界面(UI)的工作原理与优化手段。第5章针对3D模型的原理、动画的原理以及两者的优化做了详细的讲解。第6章介绍的是网络层的业务与底层原理。第7章针对各种AI类型进行了解析。第8章主要介绍场景构建与优化、地图构建以及寻路算法优化的相关知识。第9章则给出了图形数学、图形学常用算法、渲染管线的相关知识。第10章针对客户端各类渲染技术的渲染原理进行了详细的解析。
— 没有更多了 —
以下为对购买帮助不大的评价