技术教育社区
www.teccses.org

UNITY COOKBOOK中文版:从游戏开发到AI实时解决方案(第2版)

封面

作者:[澳] 帕里斯·巴特菲尔德-艾迪生(Paris Buttfield-Addison)、乔恩·曼宁(Jon Manning)、蒂姆

出版社:清华大学出版社

出版日期:2025

ISBN:9787302684879

电子书格式:pdf/epub/txt

网盘下载地址:下载UNITY COOKBOOK中文版:从游戏开发到AI实时解决方案(第2版)

内容简介

“作为游戏开发实用指南,《Unity Cookbook中文版:从游戏开发到AI实时解决方案(第2版)》经过全面更新,沿用深受读者欢迎的三合一模式,针对139个有价值的问题给出了详尽的解决方案和有价值的讨论,旨在帮助初学者和中级开发者深入学习Unity引擎的强大功能。全书共13章,主题涉及基础脚本编写到高级技术(如AI、动画和网络等)。通过这本实用性更强的教程,读者将学会如何应用代码片段快速而准确地解决实际问题,尤其是3D游戏开发和2D游戏开发、仿真和人工智能项目中的2D/3D图形、物理、AI、声音、叙事、输入、脚本和网络等问题。
《Unity Cookbook中文版:从游戏开发到AI实时解决方案(第2版)》内容全面,可操作性强,适合希望高效使用Unity的专业人员和其他游戏开发爱好者阅读和参考。”

作者简介

作者简介
帕里斯·巴特菲尔德-艾迪生(ParisButtfield-Addison)、乔恩·曼宁(JonManning)和蒂姆·纽金特(Tim Nugent)合作开发了YamSpinner叙事框架。他们仨都拥有计算机科学博士学位,他们开发的电子游戏数不胜数。帕里斯和乔恩共同创立了SecretLab。该游戏工作室的代表作品有《林中之夜》《我感觉很好》和《莱昂纳多的月球飞船》等。

译者简介
周子衿,本科留学期间多次入选“院长优等生名录”,主修商业分析,曾经运用数据模型和R语言帮助某企业在半年内实现了十倍的业务增长。就职于VMWare期间,对认知心理学、人工智能和技术发展发生了浓厚的兴趣。编程与美食爱好者,奉行深思笃行的做事原则,有志于通过技术途径和感性思维来探寻商业价值与人文精神的平衡。代表译作有《游戏项目管理与敏捷开发》《人工智能与用户体验》《高质量用户体验》(第2版)以及名家名作《Unity 2D游戏开发》和《Unity 3D游戏开发》等。

审校者简介
陈子佶,就职于盛趣游戏,热爱游戏与技术,奉行“代码如诗”的理念。在架构设计、代码重构和性能优化方面拥有深入的理解和丰富的经验。设计与开发完成的项目有MMORPG服务器架构和Redis库。目前主要从事服务器C 与Unity C#的游戏开发。

本书特色

完全掌握Unity引擎的用法,充分发挥它在3D和2D游戏开发、仿真、人工智能等领域的强大潜力,从脚本编写基础知识到交互性、人工智能和行为、动画,叙事和网络等高级技术,这个灵活且深受欢迎的引擎适用于任何需要视觉和实时仿真的项目场景。
《Unity Cookbook中文版:从游戏开发到AI实时解决方案(第2版)》经过全面更新,旨在帮助Unity的初学者和中级开发者通过实用的教程来学习Unity引擎,从中了解和掌握软件与脚本系统的具体功能。通过本书,读者将学习如何应用一系列代码片段来处理常见的问题,如正确记录分数、接收输入以及在网络上共享状态。
这本指南采用了深受读者欢迎的三合一模式:精准定位问题,提出解决方案,讨论高效直接的方式。书中提供了以下问题的解决方案:
● 2D和3D图形
● 输入和游戏玩法
● 脚本编写和用户界面
● 数学、物理和角色控制
● 动画和移动
● 仿真和合成数据创建
● 行为和人工智能
● 网络和访问网络内容
● 声音和音乐
● 分析和遥测
● 叙事和对话

目录

第1 章 Unity 基础 9
1.1 Unity 编辑器 9
1.2 游戏对象 18
1.3 组件 20
1.4 预制件 22
1.5 场景 25
1.6 资源 25
1.7 构建Unity 项目 27
1.8 访问偏好设置 28
1.9 安装Unity 包 30
第2 章 编写脚本 31
2.1 向Unity 场景中的对象添加脚本 32
2.2 在脚本(或游戏对象)生命周期的特定时刻执行代码 36
2.3 创建与帧率无关的行为 38
2.4 使用游戏对象上的组件 40
2.5 查找附加到游戏对象的对象 42
2.6 单例模式 43
2.7 使用协程来管理运行中的代码 46
2.8 使用对象池高效管理对象 50
2.9 在资源中使用 ScriptableObject 存储数据 58
第3 章 输入 61
3.1 获取简单的键盘输入 61
3.2 使用Unity 输入系统 63
3.3 使用输入动作 64
3.4 锁定和隐藏鼠标光标 71
3.5 响应鼠标悬停和点击事件 71
第4 章 数学知识 76
4.1 使用向量存储不同维度的坐标 77
4.2 在三维空间中旋转 83
4.3 在3D 空间中使用矩阵执行变换 85
4.4 角度 90
4.5 确定到目标的距离 91
4.6 寻找与目标之间的角度 92
第5 章 2D 图形 94
5.1 将图像导入为精灵 94
5.2 将精灵添加到场景中 96
5.3 创建精灵动画 97
5.4 为精灵添加2D 物理效果 98
5.5 自定义精灵碰撞形状 98
5.6 复合碰撞体 101
5.7 使用Sprite Packer 102
5.8 对2D 对象施加力 103
5.9 创建传送带 105
5.10 使用自定义材质绘制精灵 106
5.11 管理精灵的绘制顺序 108
5.12 使用排序组 109
5.13 创建2.5D 场景 111
第6 章 3D 图形 112
6.1 创建简单的材质 112
6.2 通过脚本控制材质属性 114
6.3 创建无光照材质 115
6.4 使用纹理设置材质 116
6.5 设置材质使用着色器 118
6.6 利用后处理设置泛光效果 119
6.7 使用通用渲染管线启用后处理设置泛光效果 123
6.8 使用高动态范围颜色 124
6.9 设置项目以使用可编程渲染管线 126
6.10 使用Shader Graph 创建着色器 128
6.11 使用Shader Graph 创建发光效果 129
6.12 通过Shader Graph 公开属性 132
6.13 随时间变化的着色器动画 134
6.14 控制动画着色器的速度 136
6.15 使用子图以重用图形组件 137
6.16 使用Shader Graph 实现溶解效果 139
6.17 使用烘焙光照和实时光照 143
6.18 使用烘焙发射源 144
6.19 让静态对象在动态对象上投射阴影 145
6.20 使用光照探针影响照明 147
6.21 反射探针 149
6.22 伪造动态自发光对象 152
6.23 渲染到纹理 153
第7 章 3D 物理与角色控制 156
7.1 每秒运行特定次数的代码 156
7.2 允许玩家使用鼠标四处查看 157
7.3 控制3D 角色 160
7.4 与开关和游戏对象互动 163
7.5 拾取和放置游戏对象 165
7.6 检测对象与其他对象的接触 171
7.7 检测对象何时处于触发器区域 173
7.8 实现移动平台 174
7.9 让玩家能够搭乘移动平台 177
7.10 对物体推动的响应 181
第8 章 动画与运动 184
8.1 对游戏对象进行动画处理 185
8.2 基础角色行走动画 189
8.3 反向动力学 194
8.4 遮罩移动 197
8.5 混合运动 201
8.6 导航与同步动画 205
8.7 电影镜头注视 208
8.8 自动切换摄像机 211
8.9 同时将多个对象保持在视野中 212
8.10 摄像机推轨 213
第9 章 逻辑与游戏玩法 216
9.1 加载新场景文件 216
9.2 生命值管理 220
9.3 创建俯视摄像机 224
9.4 管理任务 227
9.5 通过拖动框选择对象 241
9.6 创建菜单结构 245
9.7 创建带有轮子的载具 249
9.8 防止汽车倾覆 253
9.9 创建加速道具 254
9.10 创建围绕目标旋转的摄像机 256
9.11 创建不会穿墙的环绕摄像机 259
9.12 检测玩家何时跑完一圈 260
第10 章 行为、模拟与AI 271
10.1 让敌人检测到视野内的玩家 271
10.2 定义AI 实体和玩家可以跟随的路径 277
10.3 让游戏中的实体跟随路径 279
10.4 实现良好的随机点分布(泊松圆盘) 281
10.5 敌人探测可躲避的地方 286
10.6 构建和使用状态机 291
10.7 构建用于机器学习的模拟环境 295
第11 章 音频与音乐 301
11.1 播放音效 301
11.2 设置混音器 304
11.3 使用音频效果 305
11.4 使用发送和接收效果 308
11.5 Duck Volume 效果 310
11.6 使用多个音频区域 311
11.7 使用脚本播放音频 313
11.8 使用声音管理器 314
第12 章 Unity 的UI 系统 318
12.1 使用UI 控件 319
12.2 控件的主题化 323
12.3 动画UI 326
12.4 创建项目列表 329
12.5 实现列表项的淡出效果 334
12.6 创建屏幕位置指示器 336
12.7 自定义编辑器 341
12.8 界面属性绘制器 346
12.9 特性绘制器 351
12.10 处理资源 354
12.11 向导 356
第13 章 文件、网络和截图 359
13.1 保存文件 359
13.2 游戏截图保存到磁盘 360
13.3 从磁盘加载纹理 361
13.4 保存和加载游戏状态 363
13.5 从Web 服务器下载及解析JSON 数据 379
13.6 脚本化导入器 382

前言

欢迎阅读本书第2 版!在过去的20 年,实时3D 和游戏开发工具不断在进步,吸引着越来越多的人参与游戏开发,无论是大型3A 游戏还是个人利用业余时间开发的独立游戏。
我们很高兴有机会更新这本书,也为我们为这本书付出的心血而感到自豪。希望在你使用Unity 引擎进行游戏开发时,这本书能成为一个得力的助手。自读者2007 年我们开始使用Unity 以来,Unity 已经取得了长足的进步,使用时间越长,我们越容易挖掘出它的新用法和新的优势!这一切令人兴奋异常。相信我们,这是我们的亲身体验。
我们Secret Lab 工作室开发的大部分电子游戏都是用Unity 开发的。Secret Lab 的主要作品有:与澳大利亚广播公司、航空公司、博物馆和学校合作开发的多款少儿游戏、获得英国学院游戏奖(British Academy Games Adwards,BAFTA)和独立游戏节(Independent Games Festival,IGF)大奖的《林中之夜》(Night in the Woods,由Finji 发行)以及广受欢迎的Yarn Spinner 插件。我们开始接触Unity 以来,它就一直是我们创作路上不可或缺的伙伴。
这本书汇集了一系列“配方”,旨在解决Unity 开发过程中经常遇到的问题。虽然本书可能无法解答你对Unity 的所有疑问,但涵盖了日常游戏开发中需要完成的大部分任务。第2 版增加了大量新的内容,反映了Unity 自本书第1 版发布以来的诸多变化,并全面更新了所有相关内容。尽管Unity 的更新速度并不快,但保持走在技术的前沿仍然十分重要。

赞助用户下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《UNITY COOKBOOK中文版:从游戏开发到AI实时解决方案(第2版)》
Article link:https://www.teccses.org/46270.html