Unity3D游戏开发(第3版)宣雨松|责编:王军花人民邮电9787115624680全新正版
¥
108.38
8.3折
¥
129.8
全新
库存22件
作者宣雨松|责编:王军花
出版社人民邮电
ISBN9787115624680
出版时间2023-10
装帧平装
开本其他
定价129.8元
货号31871155
上书时间2024-11-29
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
宣雨松,雨松MOMO技术博客博主,15年以上游戏开发经验,Unity终身价值专家,UUG北京站负责人。
目录
第 一部分 基础篇
第 1章 基础知识 2
1.1 Unity简介 2
1.2 跨平台 2
1.3 协作开发 3
1.4 Unity版本 4
1.5 Package Manager 5
1.6 示例项目与发布 7
1.7 Unity服务 8
1.8 小结 9
第 2章 编辑器的结构 10
2.1 Unity Hub 10
2.2 编辑器布局 11
2.3 Project视图 12
2.4 Hierarchy视图 13
2.5 Inspector视图 14
2.6 Scene视图 15
2.7 Game视图 16
2.8 导航栏视图 17
2.9 小结 17
第3章 游戏脚本 18
3.1 C#运行时 18
3.2 C#与引擎交互 22
3.3 游戏对象 27
3.4 游戏组件 29
3.4.1 Transform(变换)组件 29
3.4.2 Mesh Filter(网格过滤器)组件 30
3.4.3 Mesh Renderer(网格渲染)组件 31
3.4.4 Skinned Mesh Renderer(蒙皮网格渲染)组件 32
3.5 游戏脚本 35
3.6 脚本的生命周期 35
3.6.1 初始化和销毁 37
3.6.2 二次初始化 38
3.6.3 固定更新 39
3.6.4 内置协程回调 43
3.6.5 鼠标事件 45
3.6.6 脚本逻辑更新 46
3.6.7 场景渲染 47
3.6.8 编辑器UI 更新 48
3.7 脚本的管理 50
3.7.1 脚本的执行顺序 50
3.7.2 多脚本优化 51
3.8 脚本序列化 52
3.8.1 查看数据 53
3.8.2 序列化数据标签 54
3.8.3 SerializedObject 55
3.8.4 监听修改事件 56
3.8.5 序列化/反序列化监听 58
3.8.6 序列化嵌套 60
3.8.7 序列化引用 61
3.8.8 序列化继承 62
3.8.9 ScriptableObject 63
3.9 脚本属性 65
3.9.1 序列化属性 65
3.9.2 Header属性 66
3.9.3 编辑模式下执行脚本 66
3.9.4 枚举序列化别名 67
3.9.5 必须包含的组件 68
3.9.6 其他UI扩展面板 68
3.9.7 可选择属性 69
3.9.8 自定义属性 69
3.10 协程任务 70
3.10.1 异步代码流程 71
3.10.2 当前帧最后执行 71
3.10.3 定时器 73
3.10.4 CustomYieldInstruction 75
3.10.5 Awaitable 76
3.11 通过脚本操作对象和组件 78
3.11.1 对象的创建与删除 78
3.11.2 对象层级排序 80
3.11.3 对象子节点的获取 80
3.11.4 多场景根节点 81
3.11.5 脚本的添加与删除 82
3.11.6 DontDestroyOnLoad 83
3.12 调试 83
3.13 小结 85
第4章 UGUI 86
4.1 游戏界面 86
4.1.1 Text组件 86
4.1.2 富文本 89
4.1.3 描边和阴影 91
4.1.4 动态字体 92
4.1.5 字体花屏 93
4.1.6 Text Mesh Pro 94
4.1.7 SDF字体 97
4.1.8 图文混排 99
4.1.9 样式 101
4.1.10 文字fallback 103
4.1.11 点击事件 104
4.1.12 Image组件 105
4.1.13 Raw Image组件 107
4.1.14 Button组件 109
4.1.15 Toggle组件 110
4.1.16 Scroll View组件 111
4.1.17 其他组件 113
4.2 界面布局 114
4.2.1 Rect Transform组件 114
4.2.2 拉伸 117
4.2.3 自动布局 118
4.2.4 文本自适应 120
4.2.5 Layout Element组件 121
4.2.6 Layout Group组件 122
4.2.7 Content Size Fitter组件 123
4.3 Canvas组件 126
4.3.1 UI摄像机 126
4.3.2 3D界面 128
4.3.3 自适应UI 130
4.3.4 Canvas与3D排序 133
4.3.5 裁剪 135
4.3.6 裁剪粒子 136
4.4 Atlas 137
4.4.1 创建Atlas 138
4.4.2 读取Atlas 139
4.4.3 Variant 140
4.4.4 监听加载事件 140
4.4.5 多图集管理 141
4.5 事件系统 141
4.5.1 Graphic Raycaster组件 142
4.5.2 UI事件 143
4.5.3 UI事件管理 144
4.5.4 UnityAction和UnityEvent 146
4.5.5 C#事件系统 147
4.5.6 3D事件 148
4.5.7 K帧动画 149
4.5.8 使用Scroll Rect组件制作游戏摇杆 150
4.5.9 点击区域优化 151
4.5.10 显示帧率 152
4.5.11 查看UGUI源代码 153
4.6 小结 153
第5章 UI Toolkit 154
5.1 UI Toolkit简介 154
5.2 UI Builder编辑器 154
5.2.1 StyleSheets视图 156
5.2.2 Hierarchy视图 159
5.2.3 Library视图 161
5.2.4 Viewport视图 162
5.2.5 Inspector视图 64
5.3 UI组件 180
5.3.1 Text组件 181
5.3.2 Visual Element组件 183
5.3.3 其他UI组件 184
5.3.4 基础容器 185
5.3.5 ScrollView组件 186
5.3.6 ListView组件 188
5.3.7 ListView事件 190
5.3.8 TreeView组件 191
5.3.9 GroupBox组件 192
5.3.10 控制组件 192
5.3.11 加载与嵌套 195
5.3.12 自适应UI 196
5.3.13 动态图集 198
5.3.14 自定义UI组件 199
5.4 事件系统 200
5.4.1 点击事件 200
5.4.2 焦点事件 201
5.4.3 键盘事件 202
5.4.4 拖动事件 202
5.5 进阶技巧 203
5.5.1 3D与2D坐标转换 203
5.5.2 覆盖样式 204
5.5.3 多样式管理 206
5.5.4 调试 207
5.5.5 编辑器窗口面板 208
5.5.6 编辑器脚本面板 209
5.5.7 编辑器组合面板 210
5.5.8 布局与裁剪 211
5.5.9 与UGUI混合使用 213
5.5.10 UI动画 213
5.6 UI Toolkit渲染 214
5.6.1 IMGUI 214
5.6.2 UGUI 214
5.6.3 图集 214
5.6.4 UI Toolkit与UGUI的比较 216
5.7 UI Toolk学习资料 217
5.8 小结 218
第6章 2D游戏开发 219
6.1 Sprite Renderer组件 220
6.1.1 渲染原理 222
6.1.2 渲染排序 224
6.1.3 裁剪 226
6.1.4 2D帧动画 227
6.1.5 脚本播放动画 231
6.1.6 2D骨骼动画 232
6.1.7 IK反向运动 238
6.1.8 精灵资源库 239
6.2 Tile地图 241
6.2.1 创建Tile 242
6.2.2 创建地图 243
6.2.3 编辑Tile 245
6.2.4 Tile排序 247
6.2.5 扩展笔刷 248
6.2.6 扩展Tile 251
6.2.7 更新Tile 252
6.2.8 Tile动画 253
6.3 2D物理系统 254
6.3.1 Collider 2D组件 254
6.3.2 Rigidbody 2D组件 255
6.3.3 碰撞事件 257
6.3.4 碰撞方向 259
6.3.5 触发器监听 261
6.3.6 复合碰撞体 262
6.3.7 自定义碰撞体 263
6.3.8 Effectors 2D组件 264
6.3.9 关节 264
6.3.10 物理材质和恒定力 264
6.3.11 计算区域 265
6.4 像素风 265
6.5 精灵形状 267
6.6 精灵编辑器 268
6.7 小结 270
第7章 3D游戏开发 271
7.1 Renderer 271
7.1.1 Mesh Renderer(网格渲染器) 271
7.1.2 Skinned Mesh Renderer(蒙皮网格渲染器) 273
7.1.3 Particle System(粒子系统) 275
7.1.4 Trail Renderer(拖尾渲染器) 276
7.1.5 Line Renderer(线渲染器) 276
7.1.6 Terrain(地形) 277
7.2 游戏对象和资源 278
7.2.1 静态对象 278
7.2.2 标记 279
7.2.3 层 280
7.2.4 Prefab 280
7.2.5 Prefab嵌套 282
7.2.6 Prefab和游戏对象 285
7.2.7 实例化 286
7.2.8 游戏资源 287
7.2.9 场景 289
7.2.10 场景模板 291
7.3 动画系统 293
7.3.1 动画文件 293
7.3.2 制作动画 296
7.3.3 动画事件 297
7.3.4 骨骼动画优化 298
7.3.5 播放动画 300
7.3.6 切换动画 301
7.3.7 动画混合 302
7.3.8 老版动画 304
7.3.9 Simple Animation组件 305
7.3.10 控制动画进度 307
7.3.11 特殊动画行为 308
7.3.12 Playable组件 309
7.3.13 使用Playable自定义脚本 312
7.3.14 模型换装 313
7.4 3D物理系统 316
7.4.1 角色控制器 316
7.4.2 碰撞体 319
7.4.3 Rigidbody组件 321
7.4.4 碰撞事件 321
7.4.5 布娃娃系统 323
7.4.6 布料系统 324
7.4.7 其他 325
7.5 输入系统 325
7.5.1 实体输入事件 326
7.5.2 虚拟输入事件 327
7.5.3 鼠标位置 328
7.5.4 点选模型 330
7.5.5 通过点击控制移动 332
7.5.6 射线 333
7.6 Transform组件 334
7.6.1 控制角色移动 335
7.6.2 摄像机跟随 336
7.6.3 插值移动 337
7.6.4 约束条件 338
7.7 小结 339
第8章 静态对象 340
8.1 光照贴图 341
8.1.1 光源 341
8.1.2 开始烘焙 342
8.1.3 烘焙结果在不同平台上的差异 346
8.1.4 烘焙贴图UV 347
8.1.5 光照探针 348
8.1.6 运行时更换烘焙贴图 349
8.1.7 复制烘焙信息 350
8.1.8 复制工具 351
8.2 反射探针 352
8.3 遮挡剔除 354
8.3.1 遮挡关系 354
8.3.2 遮挡与被遮挡事件 356
8.3.3 动态剔除 356
8.3.4 遮挡剔除的原理 356
8.3.5 裁剪组 357
8.4 静态合批 358
8.4.1 设置静态合批 358
8.4.2 脚本静态合批 360
8.4.3 动态合批 361
8.5 导航网格 361
8.5.1 设置寻路 362
8.5.2 动态阻挡 364
8.5.3 连接两点 365
8.5.4 连接两个区域 366
8.5.5 烘焙修改器 366
8.5.6 运行时烘焙 367
8.5.7 获取寻路路径 368
8.5.8 导出导航网格信息 369
8.6 小结 372
第9章 持久化数据 373
9.1 Excel 373
9.1.1 EPPlus 374
9.1.2 读取Excel文件 374
9.1.3 写入Excel文件 376
9.2 SQLite 377
9.2.1 创建数据库 378
9.2.2 跨平台读取数据库 379
9.3 JSON 382
9.3.1 JsonUtility 382
9.3.2 JSON支持字典 384
9.3.3 Newtonsoft Json 385
9.4 文件的读取与写入 386
9.4.1 PlayerPrefs 386
9.4.2 EditorPrefs 387
9.4.3 用PlayerPrefs保存复杂的数据结构 388
9.4.4 PlayerPrefs版本升级 389
9.4.5 文件读写 389
9.4.6 文件流 390
9.4.7 打包后读写文本 392
9.4.8 PersistentDataPath目录 393
9.5 XML 393
9.5.1 创建XML字符串 393
9.5.2 读取与修改 394
9.5.3 XML文件 395
9.5.4 XML与JSON的转换 397
9.6 YAML 397
9.6.1 YamlDotNet 398
9.6.2 序列化和反序列化 398
9.7 生成代码 400
9.7.1 把数据从Excel表导出到数据库 400
9.7.2 运行时读取数据 402
9.7.3 RazorEngine 403
9.7.4 生成代码的条件 404
9.7.5 模板文件 405
9.8 小结 406
第 10章 多媒体 407
10.1 音频 407
10.1.1 音频文件 407
10.1.2 Audio Source 408
10.1.3 3D音频 410
10.1.4 代码控制播放 411
10.1.5 AudioMixer 412
10.1.6 混音区 414
10.1.7 麦克风 415
10.1.8 声音进度 416
10.2 视频 417
10.2.1 视频文件 417
10.2.2 视频渲染模式 419
10.2.3 视频自适应 420
10.2.4 UI覆盖在视频之上 421
10.2.5 视频渲染在材质上 422
10.2.6 视频渲染在纹理上 422
10.2.7 播放网络视频 423
10.2.8 自定义视频显示 424
10.2.9 视频进度 425
10.2.10 下载视频 425
10.2.11 全景视频 426
10.3 小结 426
第 11章 Netcode与网络编程 427
11.1 UnityWebRequest 427
11.1.1 下载文件和上传文件 428
11.1.2 下载进度与异常 429
11.1.3 验证文件 431
11.1.4 DownloadHandlerScript 431
11.1.5 控制下载速度 433
11.2 Socket 436
11.2.1 拼接包 439
11.2.2 Protocol Buffer 440
11.3 Netcode 442
11.3.1 托管服务器 443
11.3.2 UNet与Netcode的区别 445
11.3.3 前后端同步 446
11.3.4 软连接 448
11.3.5 同步坐标 450
11.3.6 服务器RPC 452
11.3.7 客户端RPC 454
11.3.8 网络变量 457
11.3.9 网络场景 459
11.3.10 网络底层消息 460
11.3.11 FastBufferWriter与FastBufferReader 463
11.3.12 网络连接事件 464
11.3.13 网络对象 465
11.3.14 隐藏与显示 467
11.3.15 前后端时间 468
11.3.16 网络脚本内置方法 469
11.3.17 前后端打包 469
11.3.18 密码 472
11.4 小结 474
第二部分 进阶篇
第 12章 渲染管线 476
12.1 SRP 476
12.1.1 SRP Core 479
12.1.2 安装与配置 480
12.1.3 摄像机组件工具 482
12.1.4 Look Dev 483
12.1.5 Render Graph Viewer 484
12.1.6 对URP的展望 485
12.2 URP 489
12.2.1 URP调试与修改 489
12.2.2 URP与内置渲染管线对比 491
12.2.3 升级着色器 503
12.2.4 LightMode 509
12.2.5 Shader Graph 510
12.2.6 Renderer Pipeline Asset 512
12.2.7 Renderer Pipeline Asset Data 516
12.2.8 URP Global Settings 519
12.2.9 URP Renderer Feature 520
12.3 SRP Batch 527
12.3.1 不透明物体绘制 527
12.3.2 半透明物体绘制 528
12.3.3 Early-Z 529
12.3.4 Alpha Test 529
12.3.5 Alpha Blend 530
12.3.6 Set Pass Call与Draw Call 531
12.3.7 SRP Batch原理 534
12.3.8 SRP Batch使用 536
12.4 渲染技术 538
12.4.1 Blinn-Phong光照计算 538
12.4.2 PBR光照计算 540
12.4.3 阴影 543
12.4.4 渲染数据传递 546
12.4.5 SRP流程 549
12.4.6 GPU渲染管线 550
12.4.7 SRP裁剪 553
12.4.8 前向渲染流程 554
12.4.9 多摄像机与FinalBlit 557
12.4.10 ScriptableRenderPass 560
12.5 自定义渲染管线 562
12.5.1 参与渲染的对象 562
12.5.2 MVP矩阵计算 563
12.5.3 Render Objects 566
12.5.4 Rendering Layer Mask 568
12.5.5 自定义Render Feature 569
12.5.6 裁剪与层 571
12.5.7 后处理与自定义 573
12.5.8 UI部分模糊 576
12.5.9 降低分辨率不包含UI 576
12.6 小结 578
第 13章 DOTS 1.0 579
13.1 DOTS的组成 579
13.1.1 ECS简介 581
13.1.2 Job System简介 583
13.1.3 Burst Compiler简介 584
13.1.4 安装 585
13.2 游戏对象转到ECS 585
13.2.1 传统的对象与组件 585
13.2.2 Entity(实体)586
13.2.3 Archetype(原型)587
13.2.4 Component(组件)589
13.2.5 System(系统)591
13.3 实体组件 592
13.3.1 非托管组件 592
13.3.2
— 没有更多了 —
以下为对购买帮助不大的评价