新書推薦:
《
当我点击时,算法在想什么?
》
售價:NT$
356.0
《
服务的细节136:提高成交率的50个销售技巧
》
售價:NT$
296.0
《
变法与党争:大明帝国的衰亡(1500—1644)
》
售價:NT$
439.0
《
大学问·中国的现代化:1850年以来的历史轨迹
》
售價:NT$
490.0
《
再造乡土:1945年后法国农村社会的衰落与重生
》
售價:NT$
436.0
《
黄河大系·戏曲卷
》
售價:NT$
4121.0
《
大模型与超级平台
》
售價:NT$
352.0
《
神话、仪式与象征:先秦儒家神道观研究
》
售價:NT$
398.0
|
編輯推薦: |
《Unity 3D游戏开发》面向初学者或有志向的游戏开发人员,本书聚焦于实用性、趣味性和可读性,阐述了如何运用Unity这个流行的游戏引擎来进行3D游戏开发。全书采用图文并茂的形式,借助于渐进式步骤指导,结合理论和实践,全面阐述了游戏制作过程。
《Unity 3D游戏开发》通俗易懂,对希望使用Unity来进行3D游戏制作的初学者和有抱负的游戏开发人员来说,是一个较为实用的参考指导手册。
《Unity 2D游戏开发》重点介绍2D游戏开发的整个过程。针对每个步骤背后的理论,书中提供了详细的描述和解释,读者可以通过大量的步骤指导和讲解来完全掌握2D游戏开发,熟练运用GIMP、Audacity和MuseScore等工具来实现游戏中相机、动画、角色控制器、灯光和声音等的制作。作者网站包含了大量彩色的插图以及相关的源代码和视频讲解。
|
內容簡介: |
《Unity 3D游戏开发》分为两部分 25 章,阐述了如何使用 Unity 来开发 3D 游戏。在带领读者熟悉游戏制作需要用到的软件工具之后,将介绍如何制作游戏,从简单的小游戏到较为复杂的商业游戏。通过阅读本书,读者将学会如何结合运用 Unity 游戏引擎和其他工具来制作具有典型商业游戏特征的 3D 游戏。
《Unity 3D游戏开发》不要求读者具备任何编程基础,适合希望从头开始学习 Unity 3D 游戏编程的读者阅读和参考。
《Unity 2D游戏开发》重点介绍2D游戏开发的整个过程。针对每个步骤背后的理论,作者提供了充分的描述和解释,读者可以通过大量的步骤指导和理论讲解来掌握2D游戏开发,熟练运用GIMP、Audacity和MuseScore等工具来制作游戏中会用到的预制件、相机、动画、角色控制器、灯光和声音等。《Unity 2D游戏开发》适合初学者和有志于开发出3A游戏大作的游戏开发者。
|
關於作者: |
弗朗茨·兰辛格(Franz Lanzinger)
雅达利经典游戏《水晶城堡》的策划与制作人
独立游戏开发者、作者和钢琴师,兰辛格工作室创始人。40多年游戏开发生涯,全程参与了雅达利经典投币游戏《水晶城堡》的设计与制作,代表作还有任天堂红白机游戏《吃豆人小姐》和Toobin。1991年之后,以独立游戏开发者的身份参与了超级任天堂的《领土之战》、体育竞技类游戏《撞球冠军赛》和《美国大学生篮球》以及Gubble(重制版本已上线苹果商店)。他是《蜈蚣》和《汉堡世界》两款电子游戏的记录保持者。弗朗茨不只是一名专业水准较高的作家和游戏制作人,他还是Valley和Serendipity这两个团队的首席钢琴师。弗朗茨在美国圣母大学获得数学学士学位,在加州大学伯克利校区获得数学硕士学位。
周子衿
本科期间多次入选“院长优等生名录”,主修商业分析,曾经运用数据模型和R语言帮助某企业在半年内实现了十倍的业务增长。编程与美食爱好者,奉行深思笃行的做事原则,有志于通过技术途径和感性思维来探寻商业价值与人文精神的平衡。代表译作有《游戏项目管理与敏捷开发》《人工智能与用户体验》《Python超能学习手册》等。
|
目錄:
|
Unity 3D游戏开发
第Ⅰ部分 3D 游戏开发基础
01 · 软件工具 2
1.1 电脑配置需求 2
1.2 Mac 用户注意事项 4
1.3 开发平台 Visual Studio 5
1.4 排版约定 5
1.5 第一个程序 Hello World! 6
1.6 C# 语言 7
1.7 实时游戏开发平台 Unity 8
1.8 2D 图形程序 GIMP 10
1.9 3D 图形软件 Blender 14
1.10 音频软件 Audacity 21
02 · 3D 游戏 23
2.1 Unity 中的项目设置 23
2.2 导入玩具车 25
2.3 在 Blender 中创造世界 26
2.4 在 GIMP 中制作纹理 30
2.5 Unity 中的材质 31
2.6 改进汽车 39
2.7 游戏玩法 45
2.8 用阵列修改器创建建筑物 51
2.9 声音 56
03 · 游戏开发中的 3D 基础 59
3.1 三维坐标 59
3.2 Blender 中的 3D 61
3.3 Unity 中的 3D 65
3.4 相机视图 67
3.5 3D 资源 71
04 · 设计 3D 重制版 73
4.1 2D 游戏 Dotgame 73
4.2 改造 DotGame 75
4.3 控制 76
4.4 相机 76
05 · 3D 角色 Dottima 78
5.1 创建项目 78
5.2 在 Blender 中建立 3D 模型 79
5.3 为 Dottima 绘制纹理 84
5.4 在 Unity 中控制 Dottima 89
06 · Blender 建模和动画 94
6.1 重制 3D 的 Dotrobot 94
6.2 为 Dotrobot 制作纹理 95
6.3 初次导入 Unity 98
6.4 测试 100
6.5 绑定 DotRobot 105
6.6 为 DotRobot 重新制作动画 109
6.7 再次导入 Unity 113
07 · 更多美术资源 115
7.1 Unity 资源商店 115
7.2 网络中数以百万计的网格 119
7.3 免费的纹理 120
7.4 来自 2D 游戏的 3D 模型 120
7.5 带有碰撞的 3D 游戏场地 121
08 · 首个可玩的版本 133
8.1 移动相机 133
8.2 3 个关卡 135
8.3 3D 尖刺球 137
8.4 Dottima 的 3D 箭矢 140
8.5 Unity 中的箭矢:Dottima 实例化箭矢 144
8.6 Unity 中的箭矢:箭矢的移动和方向 148
8.7 Unity 中的箭矢:箭矢的碰撞检测 151
8.8 3D 阻挡物 155
09 · 游戏结构 157
9.1 游戏状态 157
9.2 游戏结束 162
10 · 更多游戏对象和一个大型关卡 165
10.1 游戏对象 165
10.2 炸弹 170
10.3 大型关卡 181
11 · 音效和音乐 184
11.1 回顾 2D 游戏中的音效和音乐 184
11.2 另一种音效 187
11.3 用 Musecore 创作更多音乐 189
11.4 3D 音频 192
12 · GUI 和过场动画 194
12.1 标题屏幕 194
12.2 菜单 197
12.3 计分 200
12.4 隐藏鼠标指针 201
12.5 结局过场动画和时间轴 201
12.6 Cinemachine 208
12.7 集成结局过场动画 213
13 · 测试和调试 215
13.1 测试 215
13.2 古老的调试技术 219
13.3 在 Unity 中调试 C# 代码 222
13.4 Visual Studio 调试器 224
14 · 输入 228
14.1 Unity 输入系统 228
14.2 在 DotGame3d 中支持游戏手柄 229
15 · 准备发布 DotGame3D 232
15.1 发布前的测试:构建和运行 232
15.2 在不同平台上测试 233
15.3 Unity 分析器 234
15.4 发布和事后总结 235
第Ⅱ部分 3D 冒险游戏
16 · FPS 和其他 238
16.1 FPS 游戏简史 238
16.2 设计 FPS 冒险之旅 239
17 · 构建世界 242
17.1 使用 Blender 来生成地形 242
17.2 Unity 中的 Blender 地形 248
17.3 使用 Unity 生成地形 250
17.4 天空盒 260
18 · 角色控制器 262
18.1 从资源商店导入一个角色 262
18.2 移动角色 265
18.3 停、走、跑动画 270
18.4 重力 274
19 · 第一个可玩的游戏 277
19.1 3D Game Kit 277
19.2 怪物 281
19.3 怪物移动 286
19.4 中世纪村庄 290
19.5 导航网格和怪物 AI 292
19.6 创建一个大的关卡 294
19.7 GUI 和得分显示 297
19.8 怪物碰撞 299
20 · 3D 密室 301
20.1 谜题设计规则 301
20.2 密室图形 302
20.3 构建密室 305
21 · Unity 中的着色器和光照 307
21.1 概述 307
21.2 Unity 中的着色器 308
21.3 直接光照 310
21.4 间接光照 314
21.5 光线追踪 317
22 · 物理引擎 321
22.1 Unity 物理概述 321
22.2 物理学密室 324
22.3 布料 329
22.4 布娃娃向导 331
23 · 再谈音效和音乐 335
23.1 来自 Unity 资源商店的声音包 335
24 · 发布 FPSAdventure 337
24.1 Steam 的抢先体验版 337
24.2 测试和调试 338
24.3 编译和运行 338
24.4 事后总结 339
25 · 结语 340
学习 340
下一步 340
最后的思考 341
附录 A
· 本书的 C# 编码标准 343
附录 B
· 游戏开发检查清单 345
Unity 2D游戏开发
目??录
第Ⅰ部分?游戏开发基础
第1章?第一步? ?2
1.1?Visual Studio概述? ?3
1.2?什么是C#? ?5
1.3?数字? ?6
1.4?英寸、浮点数和双倍数? ?6
1.5?随机数? ?9
1.6?猜数字游戏? ?10
1.7?Mac用户注意事项? ?14
1.8?安装Unity? ?14
第2章?Unity中的C#编程? ?16
2.1?Unity中的默认C#脚本? ?16
2.2?数字数据类型? ?19
2.3?数学运算符? ?24
2.4?位运算符? ?28
2.5?数学函数? ?29
2.6?更多C#数据类型? ?31
2.7?选择语句? ?34
2.8?循环语句? ?36
2.9?类和方法? ?38
2.10?C#编程风格? ?40
第3章?用GIMP和Unity制作2D图形? ?41
3.1?GIMP简介? ?41
3.2?《弹跳甜甜圈》的游戏设计? ?46
3.3?在GIMP中创建一个木板? ?47
3.4?Unity中的三块木板和一个甜甜圈? ?48
第4章?用Blender和Unity制作2D图形? ?53
4.1?Blender简介? ?53
4.2?在Blender中创建甜甜圈盒? ?54
4.3?从Blender导出到Unity? ?62
4.4?《弹跳甜甜圈》原型:第一个游戏玩法? ?65
第5章?Unity界面? ?67
5.1?Unity编辑器? ?67
5.2?场景视图? ?72
5.3?层级窗口? ?74
5.4?项目窗口? ?76
5.5?检查器窗口? ?77
5.5?渲染:材质和着色器? ?78
5.6?灯光? ?80
5.7?碰撞:甜甜圈与球体? ?81
5.8?摄像机? ?81
第6章?《弹跳甜甜圈》的2号原型? ?85
6.1?标题界面? ?85
6.2?计分? ?91
6.3?游戏结束? ?96
6.4?改进甜甜圈盒子的碰撞? ?101
6.5?预制件? ?102
6.6?重构? ?103
6.7?第2关? ?106
6.8?5个关卡? ?111
6.9?发布:《弹跳甜甜圈》的2号原型? ?119
第7章?用Audacity制作音效? ?123
7.1?游戏中的音频? ?123
7.2?安装Audacity? ?123
7.3?用Audacity制作音效? ?124
7.4?录制音效? ?127
7.5?使用互联网上的音效? ?129
7.6?Unity中的音效编程? ?130
第8章?使用MuseScore创作音乐? ?135
8.1?电子游戏中的音乐? ?135
8.2?安装Musecore? ?136
8.3?创作自己的乐谱(选读)? ?136
8.4?使用第三方音乐? ?141
8.5?将音乐导入Unity? ?142
第9章?《弹跳甜甜圈1.0》? ?144
9.1?BUG修复? ?144
9.2?搁置还是继续? ?146
9.3?发布:《弹跳甜甜圈1.0》? ?147
9.4?事后分析? ?147
第Ⅱ部分?2D游戏开发:从概念到发布
第10章?Unity中的2D工具? ?151
10.1?Unity 2D设置? ?151
10.2?精灵? ?154
10.3?瓦片? ?156
10.4?2D精灵序列集合动画? ?162
10.5?2D骨骼动画*? ?166
第11章?设计2D迷宫游戏? ?167
11.1?著名的迷宫游戏? ?168
11.2?创建项目? ?168
11.3?玩家角色:Dottima Dot? ?169
11.4?迷宫和背景? ?172
11.5?剧情? ?172
11.6?敌人:机器人和问号? ?173
11.7?游戏设计文档? ?174
第12章?建立迷宫的第1关?? ?176
12.1?用GIMP为第1关制作瓦片? ?176
12.2?Unity中的迷宫布局? ?178
第13章?源代码控制? ?183
13.1?安装Sourcetree、Git和Bitbucket? ?183
13.2?用Sourcetree和Git进行源代码控制? ?184
13.3?在bitbucket上的存储库? ?187
13.4?在Unity中使用Sourcetree? ?188
第14章?菜单?? ?192
14.1?源控制设置? ?192
14.2?主菜单布局? ?193
14.3?设置菜单布局? ?199
14.4?使主菜单运作? ?202
14.5?使设置菜单运作? ?204
第15章?为玩家角色制作动画? ?209
15.1?简单的玩家运动? ?209
15.2?墙面碰撞? ?212
15.3?闲置动画? ?213
15.4?运动动画? ?216
15.5?游戏中的动画? ?220
第16章?使用Blender制作机器人精灵?? ?224
16.1?在Blender中建立盒子模型? ?224
16.2?Blender中的照明? ?234
16.3?3D视图? ?236
16.4?Blender基本动画教程? ?241
16.5?机器人摆动手臂的动画? ?244
16.6?机器人行走的动画? ?251
第17章?用Blender制作带有纹理的敌人? ?260
17.1?尖刺球? ?260
17.2?Blender中的纹理? ?266
17.3?障碍物? ?268
17.4?问号? ?273
第18章?敌人的运动和碰撞? ?280
18.1?DotRobot的运动和碰撞? ?280
18.2?尖刺球的运动和碰撞? ?286
18.3?障碍物和问号的碰撞? ?290
第19章?武器和抛射物? ?293
19.1?箭矢? ?293
19.2?射箭? ?300
19.3?炸弹? ?308
19.4?投掷炸弹? ?314
19.5?重新审视箭矢? ?320
19.6?Unity中的粒子系统? ?322
19.7?爆炸和引信的火花效果? ?323
第20章?生命、关卡设计和经典计分系统? ?332
20.1?Unity的GUI? ?332
20.2?生命? ?333
20.3?关卡? ?339
20.4?计分? ?344
20.5?关卡设计? ?348
第21章?DotGame的音效和音乐? ?353
21.1?录制语音? ?353
21.2?网上的更多免费音效? ?354
21.3?在Audacity中制作更多音效? ?354
21.4?为Dotgame的音效编码? ?356
21.5?Dotgame的背景音乐? ?363
第22章?过场动画? ?365
22.1?带有动画的标题场景? ?365
22.2?更多过场动画? ?368
第23章?测试? ?369
23.1?电子游戏测试简史? ?369
23.2?开发过程中的测试? ?370
23.3?发布前的测试? ?370
第24章?发布? ?372
24.1?发布Unity游戏? ?372
24.2?本地化? ?374
24.3?游戏即服务? ?374
24.4?终点还是起点呢? ?375
附录1?游戏开发词汇表? ?376
附录2?游戏开发者守则? ?382
附录3?游戏开发检查清单? ?383
附录4?法律? ?385
附录5?本书的C#编码标准? ?387
|
內容試閱:
|
Unity 3D游戏开发
写在前面
亲爱的读者和从事游戏开发的朋友们,大家好!在本书中,你将学习如何使用 Unity 来开发 3D 游戏。《Unity 3D 游戏开发》结合了实操的、循序渐进的方法并对这一切背后的理论和实践进行了讲解。你将学会使用 Blender 来进行 3D 建模和贴图、使用 GIMP 来进行 2D 美术制作、使用录音剪辑软件 Audacity 来处理音效以及使用MuseScorea 创作音乐和绘谱。最重要的是,有了 Unity,你就能把所有这些资源整合到一起,写 C# 脚本,最后完成整个游戏开发。
在学习过程中,需要从 Unity 的资源商店下载其他美术和代码资源。学生、独立游戏开发者和小型商业游戏工作室可以免费使用 Unity 这个优秀的软件。它的大部分内容都是开源的。如果认真学习这本书,就足以准备好制作自己的原创游戏,无论是个人开发者、小团队的成员还是就职于大型游戏公司的员工。
《Unity 2D 游戏开发》和《Unity 3D 游戏开发》是姐妹篇,作者都是弗朗茨·兰辛格(Franz Lanzinger)。虽然按顺序阅读这两本书有帮助,但并不是必需的。不过对于这本书,需要读者有一些编码背景,最好懂 C# 或其他类似 C 的语言(如 C ),还需要一些代数、几何和物理学的基本知识。如果之前完全没有接触过编码,那么建议从《Unity 2D 游戏开发》开始读。
和《Unity 2D 游戏开发》一样,本书也分为两部分。在第 I 部分中,大家将逐渐熟悉需要用到的一些软件或工具。首先开发一个小型的入门级游戏,然后,把第一本书中的 2D 迷宫游戏《Dot Gam》重制为 3D 版本。在第 II 部分中,构建一个新的 3D FPS 冒险游戏,这款游戏将具备商业游戏中的许多典型特性。
a Muse Score 即缪斯乐谱,是一款免费开源的音乐创作软件,支持中文等多种语言。该软件支持用 midi 电子琴输入音高,用鼠标点选式输入音符,内置合成器提供音频回放,其中收录大量包含打击乐器和声音效果的虚拟乐器。
完成每个步骤时,你将体验到游戏开发的快乐和偶尔的挫折:第一次让角色移动时那种美妙的感觉;一心认为游戏将能够运行,却发现它无法运行,而且你找不到原因的那种痛苦。这些都是游戏开发过程的组成部分,没有什么比这些更重要。
强烈建议你在阅读本书的过程中跟着每个步骤逐步构建游戏和资源。这是最好的学习方式。事实上,对大多数人来说,这是唯一的方式!在本书中,许多资源是“从零开始”创建的。所有游戏资源、代码、彩色图片和项目文件都可以在 franzlanzinger.com 下载,因此并不一定需要输入代码或绘制任何东西。但如果在阅读本书的同时,自行构建和输入一切内容,会学到更多的知识。如果拿到的书是黑白的,可以参考 franzlanzinger.com 中的彩色图片。
当然,大家总是可以另辟蹊径,做一些不同于书中描述的事情。这样便能完全掌控自己的游戏。随着知识和技能水平的提升,大家可以迅速准备好,制作出下一个出色的、原创的热门游戏。
游戏开发是激动人心的和回报丰厚的。它可以是你的终生职业爱好,也可以成为艺术家、音乐家或软件工程师的垫脚石。需要学习的东西很多,而且有些方面一开始可能看起来很困难。不要让这些问题阻碍你前进的步伐!游戏开发相当有趣且令人有成就感,所以,请勇敢踏出第一步,放手去做吧!
Unity 2D游戏开发
写在前面
通过本书,你将学会使用Unity来开发2D游戏。《Unity 2D游戏开发》介绍了实操、循序渐进的方法及其背后的理论,涵盖Unity 2D游戏开发的方方面面。除了Unity以外,还要介绍使用Blender和GIMP创建图形、使用Audacity制作音效、使用MuseScore创作音乐以及使用SourceTree进行版本控制。所有这些软件可以免费使用,大部分都是开源的。如果认真阅读这本书,你可以学到很多东西。你将为自己动手制作原创游戏做好充分的准备,无论你是独立开发者、小团队的成员或是大型游戏公司的员工。本书分为两部分,第Ⅰ部分探讨2D游戏开发需要用到的工具和理论。作为起步,你将制作几个小游戏以及一个较大型的游戏。然后,在第Ⅱ部分中,你将构建一个2D游戏,它具有商业游戏中许多典型的特性。
通过本书,你将体会到游戏开发的乐趣和偶尔的挫折:第一次让游戏中的角色动起来那种美妙的感觉;本以为游戏能够运行却发现它无法运行且对原因毫无了解的那种痛苦。它们都是游戏开发过程的重要组成部分。
在前两章中,将带领大家深入地复习基础:数学和编码。大家应该已经具备代数、几何和三角学的一些知识。本书虽然不需要微积分和更高级的大学水平的数学知识,但它们对高级游戏开发是很有帮助的。应该至少有一些编码经验,最好是懂得C语言。如果对编码一无所知,仍然可以跟着本书学习。然而,提前学习一些编码知识会使你受益良多。
在随后的章节中,你将深入了解如何为游戏创造美术资源、音乐和音效。当然,还要学习如何使用Unity将所有的美术资源、音乐和音效整合在一起,最后做成游戏。
第Ⅱ部分侧重于制作一个更大的2D游戏。你将从中学习如何用C#编码,如何使用Unity,以及如何创建游戏角色、控制游戏角色、创建GUI、调试和测试等。
强烈建议在阅读本书的过程中按步骤构建游戏。这是最棒的学习方式。事实上,这也是唯一的方式。所有的代码和游戏资源都可以在franzlanzinger.com下载,所以这里没有强行要大家输入代码或绘制任何东西,但如果跟着本书“从零开始”构建一切,可以学到更多。当然,总可以另辟蹊径并做一些不同于书中描述的的事情。这是自己制作游戏时一个巨大的优势。这样,就能完全掌控自己的游戏了。随着知识和技能水平的提升,你将很快准备好制作下一个原创的热门游戏。
游戏开发是一个艰巨的、激动人心的且回报丰厚的任务。需要学习的东西很多,而且有些问题一开始可能看起来很困难。不要让这些问题阻止你前进的步伐!游戏开发相当有趣且让人感到满足,勇敢踏出第一步,动手制作自己游戏吧!
排版约定
从第1章开始,你就会按照步骤的指示进行操作。请注意,以下对步骤说明的排版约定旨在帮助你更轻松地跟着完成操作。
步骤编号粗体,例如<步骤23>。步骤按顺序编号,每一节都重新开始计数。
特殊的功能键将用尖括号括起来,例如、、、<回车键>或<空格键>。
小键盘中的键将显示为3或 。
菜单和按钮选择加粗,可能会用一个连字符隔开,如文件 – 保存。破折号表示子菜单的选项或弹出的窗口名称。
屏幕中显示的文本可能会以粗体、不同的字体或者是带有引号的方式表示,这取决于文本的内容,例如Exit、Exit或“Exit”。
C#代码一般用较小的字体显示,并带有突出显示的语法颜色。本书中的文字颜色不一定与电脑屏幕上的文字颜色一致。
面对篇幅较大的文稿,作者我很难始终如一地遵循这些约定,所以我对自己偶尔打破了这些惯例表示歉意。遵循本书的步骤进行操作时,需要格外留意细节。花些时间,仔细检查复杂的步骤,不要跳过任何一步。在这一过程中,你可能会犯一两个错误,所以需要准备好出现问题时及时就从之前保存的项目文件重新开始。
|
|