新書推薦:

《
道德偶然研究
》
售價:HK$
105.0

《
中国古代史三论:政治·地域·族群
》
售價:HK$
90.0

《
走向现代:东亚现代人的起源与演化
》
售價:HK$
115.6

《
蜉蝣国度
》
售價:HK$
73.2

《
中国兰花名品珍品鉴赏图典(第四版)
》
售價:HK$
410.6

《
老年
》
售價:HK$
115.6

《
20世纪的设计
》
售價:HK$
107.8

《
短线猎金
》
售價:HK$
57.2
|
編輯推薦: |
本书是一本供.NET开发者学习Unity的教程。首先介绍Unity的基本概念,然后探讨C#脚本与Unity内置模块的协同工作,最后研究Unity高级脚本编程。理论讲解结合大量案例,实操性强,带领读者体验使用Unity进行游戏开发的全流程。
|
內容簡介: |
Unity 作为世界上使用最广泛的游戏引擎之一,为游戏开发者提供了一套易于使用和功能强大的游戏开发工具。本书分为3部分:第 1部分(第 1、2章)介绍Unity的基本概念;第2部分(第3~6章)探讨C# 脚本与Unity内置模块的协同工作,内容涉及UI、动画、物理系统、使用音频和视频资源等;第3 部分(第7 ~11 章)研究Unity 高级脚本编程,包括Unity中计算机图形学的数学原理、可编程渲染管线、面向数据的技术堆栈、序列化系统和资源管理,以及Unity 与MicrosoftGameDev、Azure、PlayFab 协同工作的问题。
來源:香港大書城megBookStore,http://www.megbook.com.hk 本书面向具有中级.NET 和C# 编程经验,并有兴趣学习使用Unity 进行游戏开发的开发者。
|
目錄:
|
第1部分 Unity的基本概念
第1章
初识Unity
1.1 技术要求2
1.2 开始使用Unity编辑器3
1.2.1 选择合适的Unity版本3
1.2.2 选择合适的订阅计划4
1.2.3 下载和安装Unity编辑器4
1.2.4 探索Unity编辑器12
1.3 在Unity中使用不同的功能24
1.3.1 什么是游戏引擎24
1.3.2 Unity的功能25
1.4 Unity中的.NET/C#和脚本26
1.4.1 Unity中的.NET配置文件26
1.4.2 Unity的脚本后端27
1.5 使用Visual Studio构建Unity游戏29
1.6 本章小结32
第2章
Unity中的脚本概念
2.1 技术要求33
2.2 理解Unity中脚本的概念33
2.2.1 游戏对象-组件架构33
2.2.2 Unity中的常见类34
2.2.3 Unity中的预制件39
2.2.4 Unity中的特殊文件夹44
2.3 脚本对象的生命周期44
2.3.1 初始化45
2.3.2 更新47
2.3.3 渲染48
2.4 创建脚本并用作组件51
2.4.1 如何在Unity中创建脚本51
2.4.2 将脚本作为组件附加到场景中的
游戏对象上54
2.4.3 访问附加到游戏对象的组件57
2.5 Unity Package Manager和包60
2.5.1 Unity Package Manager60
2.5.2 包63
2.6 本章小结65
第2部分 C#脚本与Unity内置模块的协同工作
第3章
使用Unity UI系统开发UI
3.1 Unity中的C#脚本和通用UI组件68
3.1.1 Canvas组件69
3.1.2 Image组件80
3.1.3 Text组件84
3.1.4 可选UI组件88
3.2 Unity中的C#脚本和UI事件系统90
3.2.1 输入模块91
3.2.2 新的Input System包92
3.3 MVVM模式和UI93
3.4 提高UI的性能99
3.4.1 Unity Profiler99
3.4.2 多个Canvas对象100
3.4.3 使用Sprite Atlas100
3.5 本章小结102
第4章
使用Unity动画系统创建动画
4.1 技术要求103
4.2 Unity动画系统中的概念104
4.2.1 动画剪辑104
4.2.2 动画控制器109
4.2.3 Avatar112
4.2.4 Animator组件116
4.3 在Unity中实现3D动画117
4.3.1 导入动画资源117
4.3.2 配置动画控制器120
4.4 在Unity中实现2D动画124
4.5 提高Unity动画系统的性能127
4.5.1 Unity Profiler工具127
4.5.2 Animator窗口的Culling Mode
属性130
4.5.3 Anim.Compression130
4.6 本章小结131
第5章
使用Unity物理系统
5.1 技术要求132
5.2 Unity物理系统中的概念132
5.2.1 Collider(碰撞体)133
5.2.2 Rigidbody(刚体)137
5.2.3 Trigger(触发器)141
5.3 使用物理系统编写脚本141
5.3.1 Collider的方法141
5.3.2 Trigger的方法143
5.3.3 Rigidbody的方法144
5.4 制作一个基于物理系统的简单游戏147
5.5 提高物理系统的性能158
5.5.1 Unity Profiler158
5.5.2 增加固定时间间隔159
5.5.3 减少不必要的分层碰撞检测160
5.6 本章小结160
第6章
在Unity项目中集成音频和视频
6.1 技术要求161
6.2 Unity音频系统和视频系统中的概念161
6.2.1 Audio Clip(音频剪辑)161
6.2.2 Audio Source(音频源)165
6.2.3 Audio Listener(音频监听器)167
6.2.4 Video Clip(视频剪辑)168
6.2.5 Video Player(视频播放器)171
6.3 使用音频和视频编写脚本174
6.3.1 AudioSource.Play175
6.3.2 AudioSource.Pause176
6.3.3 AudioSource.Stop178
6.3.4 VideoPlayer.Clip178
6.3.5 VideoPlayer.url180
6.3.6 VideoPlayer.Play181
6.3.7 VideoPlayer.frame和VideoPlayer.
frameCount182
6.4 使用Unity开发Web应用程序的
注意事项184
6.4.1 URL184
6.4.2 帧率187
6.5 提高音频系统的性能187
6.5.1 Unity Profiler187
6.5.2 使用Force To Mono来节省内存189
6.6 本章小结190
第3部分 Unity高级脚本编程
第7章
理解Unity中计算机图形学的数学原理
7.1 从使用坐标系开始194
7.1.1 理解左手坐标系和右手坐标系195
7.1.2 局部空间196
7.1.3 世界空间198
7.1.4 屏幕空间200
7.2 使用向量202
7.2.1 向量相加203
7.2.2 向量相减204
7.2.3 点积运算205
7.2.4 叉积运算207
7.3 使用变换矩阵208
7.3.1 平移矩阵208
7.3.2 旋转矩阵210
7.3.3 缩放矩阵210
7.4 使用四元数212
7.4.1 创建旋转213
7.4.2 操纵旋转214
7.4.3 使用欧拉角216
7.5 本章小结217
第8章
Unity中的可编程渲染管线
8.1 可编程渲染管线简介218
8.1.1 Fontainebleau Demo项目219
8.1.2 Spaceship Demo项目219
8.1.3 BoatAttack Demo项目220
8.1.4 The Heretic: Digital Human项目220
8.1.5 The Heretic: VFX Character项目221
8.1.6 通用渲染管线221
8.1.7 高清渲染管线224
8.2 使用Unity的通用渲染管线225
8.2.1 探索示例场景226
8.2.2 通用渲染管线资源231
8.2.3 Volume框架和后期处理234
8.3 通用渲染管线的着色器和材质237
8.3.1 常用着色器237
8.3.2 将项目中的材质升级为通用渲染
管线材质240
8.3.3 创建着色器和着色器图形242
8.4 提高通用渲染管线的性能249
8.4.1 Frame Debugger工具249
8.4.2 SRP Batcher251
8.5 本章小结252
第9章
Unity中面向数据的技术堆栈
9.1 技术支持254
9.2 DOTS概述254
9.2.1 OOP模式与DOTS的比较255
9.2.2 C# Job System258
9.2.3 ECS258
9.2.4 Burst编译器259
9.3 多线程和C# Job System259
9.3.1 协程260
9.3.2 async/await260
9.3.3 使用C# Job System263
9.4 在Unity中使用ECS273
9.5 使用C#和Burst编译器284
9.6 本章小结285
第10章
Unity中的序列化系统、资源管理和Azure
10.1 技术要求286
10.2 Unity的序列化系统287
10.3 Unity的资源工作流程298
10.3.1 GUID和文件ID299
10.3.2 meta文件303
10.3.3 AssetPostprocessor类和导入
管线305
10.3.4 Library文件夹307
10.4 Unity的特殊文件夹308
10.4.1 Resources文件夹308
10.4.2 StreamingAssets文件夹310
10.5 Azure Blob存储与Unity的可寻址
资源系统311
10.5.1 设置Azure Blob存储服务311
10.5.2 安装可寻址资源系统包317
10.5.3 构建可寻址内容318
10.5.4 将内容部署到Azure325
10.5.5 从Azure加载可寻址内容326
10.6 本章小结328
第11章
Microsoft Game Dev、Azure、PlayFab和Unity协同工作
11.1 技术要求329
11.2 Microsoft Game Dev、Azure和
PlayFab的介绍329
11.2.1 Microsoft Game Dev329
11.2.2 Azure330
11.2.3 PlayFab331
11.3 为Unity项目设置PlayFab331
11.3.1 创建一个新的PlayFab账户332
11.3.2 在PlayFab中创建Game
Studio和Title334
11.3.3 在Unity项目中添加Azure
PlayFab SDK336
11.4 在Unity中使用PlayFab完成
玩家注册和登录338
11.4.1 在PlayFab中注册玩家339
11.4.2 在PlayFab中登录玩家343
11.5 在Unity中使用PlayFab实现
一个排行榜346
11.5.1 在PlayFab中设置一个排行榜346
11.5.2 使用Azure PlayFab API从
Unity中更新玩家分数350
11.5.3 从Unity中的PlayFab加载排
行榜数据354
11.6 本章小结358
|
內容試閱:
|
“延期的游戏最终会变好,但赶工的游戏永远是坏的。”
—行业口号
现在,你拥有一款制作优秀游戏的工具。假如这款游戏是超级马里奥,那么只需击打一个画着问号的方块,就会有一个发光、闪烁、冒烟的蘑菇从里面冒出来。假如这款游戏是塞尔达传说,那么只需要探索boss的地下城,找到一个宝箱,从里面拿出一本书并举过头顶(此时播放一些合适的音乐)。换句话说,你刚刚获得了一个可用于任务的增强道具。
当你玩任天堂游戏、光环、我的世界或刺猬索尼克,以及几乎所有你喜欢的游戏时,你可以感受到对卓越的追求。现在你有同样的机会:你可以利用已有的知识和新学到的Unity技能(尽管你可能还没有开始学习它们),通过一定的工作将观点强有力地表达出来。
“任天堂的哲学是:永远不要走捷径,要不断挑战自己,尝试做一些新的事情。”
—宫本茂(2005)
这就是为什么任天堂开发出了一些很棒的游戏(也包括一些非常奇怪的游戏)。不管怎样,你都有机会做一些独特的东西来真正展示自己。有了这些工具,你的激情就会带来无限的机会。
这让我们想到了微软CEO Satya Nadella在其著作 Hit Refresh中的一句名言:“学习飞行并不漂亮,飞行却很漂亮。”
你将学习使用这些工具来创造杰作(或者至少得到一份工作)。学习这些新工具并不容易,但是你一旦掌握了这些知识,就能制作出很棒的游戏。
本书将使这个过程变得更加容易。Unity是世界上最广泛使用的实时3D开发平台。如果你采用.NET Framework来使用Unity,就可以发挥C#、Microsoft Game Dev、Azure及PlayFab工具的强大力量。你还将看到这些资源如何与Visual Studio和GitHub无缝协作。
Jiadong Chen曾在Unity Technologies担任现场工程师,他在.NET和Unity游戏开发领域已经工作了9年以上。他是.NET基金会的成员,并且连续6年成为微软最有价值专家(MVP),以表彰他对微软开发者社区的影响力。他的MVP奖项类别是开发者技术。换句话说,Jiadong Chen是教你如何利用.NET Framework和微软开发者平台来学习使用Unity游戏引擎及如何将自己的游戏提升到一个新水平的完美人选。
本书面向.NET开发者。首先介绍Unity的基础知识;然后讲解编写脚本,使用Unity构建游戏的UI,给游戏图形添加动画效果,构建物理系统,并添加音频和视频(这是构建游戏的基本组成部分);接着介绍游戏数学,并使用可编程渲染管线、面向数据的技术堆栈、序列化系统和资源管理;最后展示如何利用Microsoft Game Dev、Azure和PlayFab来开发Unity引擎。
本书通过图像和示例解释各个概念,以便读者完全理解每个主题。然后,将带领读者通过使用真实的代码来实现自己的解决方案。学习游戏开发的过程并不容易,但这本书将使它变得比较容易。
在阅读完这本书后,如果生活像超级马里奥游戏,那么你将会摘到旗杆上面的旗子并进入下水道;如果生活是塞尔达传说,那么你将会收集到三角力量;如果生活是索尼克游戏,那么你将打败罗伯尼克博士。正如Satya Nadella所说,学习飞行并不容易,但一旦完成,你将能够真正起飞并与Unity一起做一些伟大的事情。
Ed Price
建筑出版高级项目经理,
Microsoft Azure架构中心联合作者,共著有7本
书籍,包括 Meg the Mechanical Engineer、The
Azure Cloud Native Architecture Mapbook (Packt)
和 ASP .NET Core 5 for Beginners (Packt)等
|
|