新書推薦:
《
紫云村(史杰鹏笔下大唐小吏的生死逃亡,新历史主义小说见微之作,附赠5张与小说内容高度契合的宣纸彩插)
》
售價:NT$
449.0
《
现代吴语的研究(中华现代学术名著3)
》
售價:NT$
296.0
《
天下的当代性:世界秩序的实践与想象(新版)
》
售價:NT$
352.0
《
德国天才4:断裂与承续
》
售價:NT$
500.0
《
妈妈的情绪,决定孩子的未来
》
售價:NT$
194.0
《
推拿纲目
》
售價:NT$
1836.0
《
精致考古--山东大学实验室考古项目论文集(一)
》
售價:NT$
1112.0
《
从天下到世界——国际法与晚清中国的主权意识
》
售價:NT$
347.0
編輯推薦:
“想学习Unity游戏开发吗?本书内容简明扼要、通俗易懂,内含大量制作游戏的实用技巧。”
——Liam Esler
游戏开发人员,代表作《博德之门2:增强版》、《冰风谷:增强版》以及《永恒之柱》
本书是Unity开发人员极为宝贵的资源。作者拥有丰富的经验,针对各种问题提供了简单易学的解决方案。无论你是初学者还是经验丰富的开发人员,都可以从本书中获益。
——Tom Brophy
Mountains(独立游戏《Florence》的开发商)首席程序员
內容簡介:
本书采用经典实例的格式,首先提出问题,然后制定解决方案,最z后再讨论如何通过最z佳以及最z直接的方式解决问题。本书非常适合初级到中级Unity开发人员。本书的主要内容包括:2D和3D图形。数学、物理以及角色控制。动画与运动。行为与AI。声音与音乐。脚本与用户界面。
關於作者:
Paris Buttfield-Addison博士是一名游戏设计师、计算研究人员,他对法律充满了兴趣,同时也是游戏开发工作室Secret Lab的联合创始人。Jon Manning博士是一名精通Swift、C#以及Objective-C等技术的软件工程师。作为Secret Lab的合伙创始人,他创建了流行框架Yarn Spinner,并参与制作了英国学院游戏奖(British Academy Games Awards,BAFTA)获奖游戏《树林之夜》。Tim Nugent是一名移动应用开发人员、游戏设计师以及计算研究人员。
目錄 :
目录
前言 1
第1 章 初识Unity 9
1.1 初次尝试Unity 9
1.2 游戏对象.19
1.3 组件 20
1.4 预制件 .24
1.5 场景 26
1.6 管理资产.26
1.7 构建Unity 项目 27
1.8 Preferences 29
第2 章 脚本 31
2.1 MonoBehaviour .31
2.2 回调函数.36
2.3 创建不依赖于帧率的行为 .38
2.4 访问组件.40
2.5 查找对象.42
2.6 协程 43
2.7 单例 47
2.8 加载关卡(场景) .50
2.9 将数据存储到磁盘 .54
2.10 保存和加载游戏状态 .55
2.11 使用对象池管理对象 .71
2.12 使用ScriptableObject 将数据存储到Assets 80
第3 章 输入 83
3.1 键盘输入.83
3.2 鼠标输入.84
3.3 锁定或隐藏鼠标光标 86
3.4 游戏手柄.86
3.5 自定义Unity 的输入系统 88
3.6 响应来自事件系统的指针事件 92
第4 章 数学 97
4.1 使用向量存储不同维度的坐标 98
4.2 三维空间旋转 104
4.3 使用矩阵表示三维空间的变化 .106
4.4 角度 111
4.5 计算到目标的距离 112
4.6 计算目标的角度 114
第5 章 二维图形 . 117
5.1 导入精灵 117
5.2 向场景添加精灵 119
5.3 创建精灵动画 120
5.4 使用2D 物理系统创建精灵 121
5.5 自定义精灵的碰撞形状 122
5.6 复合碰撞体 .124
5.7 精灵打包器 .125
5.8 对二维对象施加力 127
5.9 创建传送带 .128
5.10 使用自定义材质的精灵 .130
5.11 管理精灵的排序 .132
5.12 排序组 134
5.13 创建2.5D 场景 136
第6 章 三维图形 . 139
6.1 创建简单的材质 139
6.2 通过脚本控制材质的属性 141
6.3 创建无光照材质 143
6.4 使用纹理设置材质 144
6.5 创建使用着色器的材质 146
6.6 使用后期处理设置泛光效果 147
6.7 使用高动态范围颜色 .151
6.8 可编程渲染管线 154
6.9 使用着色器图创建着色器 157
6.10 使用着色器图创建发光效果 158
6.11 公开着色器图的属性 161
6.12 着色器的动画效果 163
6.13 控制动画着色器的速度 .165
6.14 通过子图重用图组件 166
6.15 使用着色器图实现溶解效果 168
6.16 烘焙光照与实时光照 171
6.17 烘焙发光源 173
6.18 静态物体在动态物体上投射阴影 .174
6.19 使用光照探针调节光照 .176
6.20 使用反射探针 .178
6.21 伪造动态发光物体 182
6.22 从磁盘加载纹理 184
6.23 渲染到纹理 186
6.24 保存截图 188
第7 章 物理和角色控制 191
7.1 FixedUpdate 191
7.2 鼠标视角192
7.3 控制3D 角色 .195
7.4 与开关或对象交互 199
7.5 捡起或放下物体 201
7.6 检测两个物理对象何时接触 208
7.7 检测物体何时进入触发区域 210
7.8 实现移动平台 211
7.9 站于平台上 .214
7.10 被物体推动 218
第8 章 动画与运动 223
8.1 为对象添加动画 224
8.2 基本人物动作 228
8.3 反向动力学 233
8.4 遮罩运动238
8.5 混合运动243
8.6 同时应用导航与动画 .247
8.7 电影摄像机跟拍 251
8.8 自动切换摄像机 254
8.9 保持多个对象在视图内 255
8.10 轨道摄像机 256
第9 章 游戏进程 . 259
9.1 管理任务259
9.2 管理生命值 .276
9.3 创建俯视视角的摄像机 280
9.4 通过拖拽矩形框选择多个对象 .283
9.5 创建菜单结构 287
9.6 创建带轮子的车辆 292
9.7 防止翻车296
9.8 创建加速器 .297
9.9 创建围绕目标旋转的摄像机 299
9.10 创建不会穿墙而过的轨道摄像机 .303
9.11 检测玩家何时绕赛道一圈 .304
第10 章 行为与AI . 315
10.1 定义AI 实体和玩家的移动路径 315
10.2 确保游戏中的实体按照规定路径移动 317
10.3 让敌人检测何时能看到玩家 319
10.4 生成高质量随机点分布(泊松圆盘采样) .325
10.5 让敌人寻找藏身地 331
10.6 构建和使用状态机 337
第11 章 声音和音乐 343
11.1 播放声音 343
11.2 设置混音器 346
11.3 音频效果 348
11.4 发送与接收效果 .350
11.5 闪避 .352
11.6 使用多个音频区 .353
11.7 通过代码播放音频 355
11.8 使用声音管理器 .356
第12 章 用户界面 361
12.1 UI 控件 362
12.2 主题控件 367
12.3 UI 动画 370
12.4 创建列表项 373
12.5 列表项淡出 378
12.6 创建位置指示器 381
12.7 自定义编辑器 .386
12.8 属性绘制器 391
12.9 特性绘制器 397
12.10 资产处理 .400
12.11 编写导入器脚本 402
12.12 向导程序 .406
內容試閱 :
前言欢迎阅读本书!本书得以付梓,我们感到无比兴奋,同时为自己付出的努力感到无比自豪。希望本书能成为你学习使用Unity 引擎开发游戏路上的忠实伙伴。Unity 是一个了不起的平台,随着使用次数的增加,你会发现越来越多如何使用Unity 以及为什么使用Unity 的新想法!这一切都令人兴奋不已。相信我们,我们就曾有过这样的体验。在Secret Lab,我们的大部分视频游戏都是使用Unity 构建的。在澳大利亚,我们构建的儿童游戏非常出名,同时我们也曾为英国学院游戏奖(British Academy Games Awards,简称BAFTA)以及和独立游戏节大奖(Independent Games Festival,简称IGF)的获奖游戏《树林之夜》做出过贡献。十多年前,我们首次接触Unity,从那以后从未间断过使用。在本书中,我们收集了一系列解决常见问题的技巧,这些都是在使用Unity 构建视频游戏时会反复遇到的问题。尽管本书无法面面俱到,详细介绍Unity 的每一个小细节,但我们希望能够涵盖到视频游戏开发日常工作中所涉及的大部分难题。书中的技巧都是我们希望自己在第一次构建游戏时能够向人请教的问题。我们真心希望能够帮助到你!使用Unity 是激动人心的时刻。游戏开发的世界在不断发展,越来越壮大、越来越有趣,如今我们使用的工具和技术也超出了往昔任何时刻。让我们马上行动起来,创造伟大的游戏!关于本书的更多资源以及我们的其他书籍,请访问我们的网站(http://www.secretlab.com.au/)。本书使用的资源你可以通过如下链接下载书中的代码:https://github.com/thesecretlab/unity-gamedevelopment-cookbook-1e。此外,本书还有专属网页,你可以在那儿找到书中的代码以及其他下载资源,地址是:http://secretlab.com.au/books/unity-cookbook-1e。本书面向的读者对象本书假定你对C# 编程语言或C 、Java、Go、Swift、Python 或其他常见编程语言有基本的了解,但无需了解Unity。本书旨在帮助你快速构建并运行游戏。如果你喜欢我们的风格,并想阅读更多有关Unity 的资料,可以参考《Mobile Game Development with Unity》(链接:http://shop.oreilly.com/product/0636920032359.do),以及O’Reilly 的其他相关书籍。本书中的屏幕截图都是在macOS 上截取的,但书中介绍的一切技巧普遍适用于Windows、macOS 或Linux 上的Unity。本书的主要内容本书共分为12 章。? 第1 章介绍了使用Unity 需要了解的基本概念:游戏对象、组件、场景以及如何使用Unity 编辑器。? 第2 章介绍了Unity 的脚本接口,这是你通过编写代码定义游戏运行方式的途径。介绍完基本概念后,我们将深入研究一些实际的例子,包括如何编写保存和加载系统、如何有效地使用对象,以及如何存储数据才能同时方便代码和Unity 访问。? 第3 章学习了如何通过键盘输入、鼠标和游戏手柄等形式获取用户的输入。我们还将讨论如何设置能够对输入事件(比如用户点击)做出反应的游戏对象。? 第4 章介绍了一些基本的数学概念,这些概念是游戏开发不可或缺的,例如向量、矩阵和四元数等。我们还将探索这些概念的实际用途,例如检测物体是否在玩家面前。? 第5 章讨论了Unity 内置的2D 图形和物理系统。我们将学习如何显示、排序精灵以及如何让它们相互碰撞。? 第6 章介绍了Unity 的材质和着色系统:材质和着色器的工作原理,如何在Unity 中构建着色器,以及如何获得最佳场景效果。? 第7 章学习了如何利用Unity 的3D 物理系统执行所需操作,以支持常见的游戏任务,例如拾取和投掷物体,以及创建玩家可以乘坐的移动平台。? 第8 章介绍了Unity 的动画系统,涵盖的主题包括如何设置角色以混合不同的动画状态,以及如何将玩家移动与角色动画相结合。我们还介绍了Unity 的摄像机系统,并讨论了如何设置跟随目标移动的摄像机。? 第9 章主要讨论了创建玩家互动的游戏玩法。我们讨论了各种常见的游戏任务,比如管理分配给玩家的任务状态,记录赛车是否走了太多捷径,以及管理游戏中对象之间的伤害处理方式。? 第10 章学习了如何为角色添加大脑,包括检测何时可以看到玩家的能力,在空间内导航和避开障碍物的能力,以及找出藏在何处不会被看见的能力。? 第11 章介绍了Unity 的音频系统。我们介绍了播放声音的基础知识,还介绍了一些高级功能,例如将音频路由到多个组,以及在角色说话时自动静音。? 第12 章介绍了构建供玩家查看和交互的界面的工具。最后一节介绍了如何通过扩展编辑器在Unity 中构建自己的工具。排版约定本书使用了下述排版约定。斜体(Italic)表示新术语、URL、电子邮件地址、文件名和扩展名。等宽字体(Constant Width)表示程序片段,以及正文中出现的变量、函数名、数据库、数据类型、环境变量、语句和关键字等。加粗等宽字体(constant width bold)表示应该由用户输入的命令或其他文本。等宽斜体(constant width italic)表示应该由用户输入的值或根据上下文确定的值替换的文本。使用代码示例你可以通过如下链接下载本书的补充材料(代码示例,练习等):https://www.secretlab.com.au/books/unity-cookbook-1e。本书的目的是帮助你完成工作。一般来说,你可以在自己的程序或者文档中使用本书附带的示例代码。你无需联系我们获得使用许可,除非你要复制大量的代码。例如,使用本书中的多个代码片段编写程序就无需获得许可。但以CD-ROM 的形式销售或者分发O’Reilly 书中的示例代码则需要获得许可。回答问题时援引本书内容以及书中示例代码,无需获得许可。在你自己的项目文档中使用本书大量的示例代码时,则需要获得许可。我们不强制要求署名,但如果你这么做,我们深表感激。署名一般包括书名、作者、出版社和国际标准图书编号。例如:“Unity Game Development Cookbook by Paris Buttfield-Addison, Jon Manning, and Tim Nugent (O’Reilly). Copyright 2019 SecretLab, 978-1-491-99915-8”。如果你觉得自身情况不在合理使用或上述允许的范围内,请通过邮件和我们联系,地址是 permissions@oreilly.com。O’Reilly 在线学习平台(O’Reilly Online Learning)近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。联系我们任何有关本书的意见或疑问,请按照以下地址联系出版社。美国:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中国:北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)奥莱利技术咨询(北京)有限公司这本书有专属网页,你可以在那儿找到本书的勘误、示例和其他信息。地址是:http://bit.ly/unity-game-dev-cb。如果你对本书有一些评论或技术上的建议,请发送电子邮件到errata@oreilly.com.cn。要了解O’Reilly 图书、培训课程、会议和新闻的更多信息,请访问我们的网站,地址是:http://www.oreilly.com。我们的Facebook:http://facebook.com/oreilly。我们的Twitter:http://twitter.com/oreillymedia。我们的YouTube:http://youtube.com/oreillymedia。致谢Jon 想感谢他的母亲、父亲以及整个大家庭中的其他人给予的巨大支持。Paris 想感谢伟大的母亲,没有她,自己将一事无成,也没有任何热情。近期他的母亲就要提交博士学位以供评估,他相信母亲一定能取得成功。Tim 想感谢父母和家人陪着他渡过平淡的每一天。本书得以付梓,我们要感谢Rachel Roumeliotis,她的能力和建议对于本书以及我们共同编写的所有其他书籍来说都是无价的。我们非常期待经常与她联络。感谢本书的编辑Jeff Bleiel。你在工作中非常冷静、头脑清晰而又充满热情,与你共事的时光身心愉悦。我们希望将来能与你合作共创更多的书籍!感谢撰写本书的过程中所有给予过帮助的O’Reilly Media 员工,你们都无愧于各自领域的专家。O’Reilly Media 拥有大量才华横溢的员工、合同工以及其他人才。他们在工作中都有着令人惊讶的出色表现。非常感谢Tony Gray 和苹果大学联盟(Apple University Consortium,简称AUC)给予我们以及上述相关人员的巨大推动力。没有你们的支持,就没有这本书。还有Tony,如今你也在写书了!还要感谢Neal Goldstein,在他的循循善诱下,我们才有了创作本书的想法,当之无愧的首功之臣。我们感谢MacLab 众人(他们很清楚自己的目标,并带领着Admiral Dolphin 团队走向下一个神话)的支持,以及Christopher Lue 教授、Leonie Ellis 副教授和塔斯马尼亚大学的工作人员。感谢Mars G. 给予的支持,还要感谢Dave J. 的咖啡。如果你有机会来澳大利亚塔斯马尼亚州的霍巴特,一定要去Yellow Bernard 喝杯咖啡 —— 最好喝的咖啡。感谢技术审阅者们给予的全面且专业的建议,为我们提供了很大帮助。最后,非常感谢您购买我们的书,在此至上最真诚的谢意!如果您有任何反馈,请发送电子邮件至lab@secretlab.com.au,或者通过推特联系我们@thesecretlab。