新書推薦:

《
全球公民教育:批判性的理论与实践基础
》
售價:HK$
347

《
做事的逻辑(专享版)如何持续做正确的事
》
售價:HK$
218

《
人形机器人 技术、产业与未来社会 全景式解读人形机器人时代的技术密码与未来蓝图
》
售價:HK$
505

《
暗黑历史书系·罗马帝国
》
售價:HK$
449

《
英语同义词辨析大词典
》
售價:HK$
1367

《
三井帝国在扩张——揭开日本财团的经营秘籍
》
售價:HK$
398

《
新时代的阿尔戈英雄:人才流动与创新扩散(数字经济前沿)
》
售價:HK$
454

《
中国古代戏曲的色彩艺术
》
售價:HK$
704
|
編輯推薦: |
Unity 作为当前主流的游戏引擎,凭借其强大的技术实力,已从传统的游戏开发扩展至汽车、制造、影视动画、建筑等多个行业。
对初学者而言,仅通过工具书学习可能会遇到较大困难。基于这一考量,本书在编写本书时并未采用传统工具书的方式,而是假定读者会从头到尾阅读并同步完成书中的操作步骤。这种设计使本书的阅读体验更接近于观看视频课程,对初学者更加友好。
本书中不仅包含 Unity 的基础操作和编程知识,还融入了一些开发者必须掌握的核心开发思想和解决方案。通过对这些内容的学习,读者将能够运用所学知识完成案例,从而在实践中巩固技能并提升开发能力。
|
內容簡介: |
Unity作为当前主流的游戏引擎,凭借其强大的技术实力,已从传统的游戏开发扩展至汽车、制造、影视动画、建筑等多个行业。 本书不仅包含Unity的基础操作和编程知识,还融入了一些笔者认为游戏开发者必须掌握的核心开发思想和解决方案。通过这些内容的学习,读者将能够运用所学知识完成《坦克大战》这一完整案例,从而在实践中巩固技能并提升开发能力。总的来说,本书旨在为初学者提供一条清晰的学习路径,通过理论与实践相结合的方式,帮助读者快速入门Unity开发,并具备完成实际项目的能力。
|
關於作者: |
本书由张云飞(Joker)编写,作者拥有8年游戏开发经验,是Unity中文课堂优秀讲师、独立游戏开发者 以及JKFrame的创建者。
|
目錄:
|
第 1 章 Unity 编辑器
1.1 软件安装 001
1.1.1 安装 Unity Hub 001
1.1.2 安装 Unity Editor 003
1.1.3 安装 Visual Studio 005
1.2 Unity Hub 项目管理 006
1.2.1 创建工程 006
1.2.2 删除项目 008
1.3 Unity Editor 界面 008
1.3.1 窗口管理 008
1.3.2 Project 窗口 011
1.3.3 Hierarchy 窗口 013
1.3.4 Inspector 窗口 015
1.3.5 Scene 窗口 016
1.3.6 Game 窗口 019
第 2 章? Unity 的运行框架
2.1 游戏场景 021
2.1.1 新建场景文件 021
2.1.2 场景文件操作 023
2.2 游戏对象 023
2.3 游戏预制体 024
2.4 游戏组件概念 028
2.5 自定义组件 030
2.6 游戏循环逻辑 033
2.7 Inspector 窗口组件序列化 036
2.8 组件的运行时控制 039
2.9 游戏对象的运行时控制 041
2.10 Transform 组件 043
第 3 章? Unity 的渲染系统
3.1 渲染管线 047
3.2 着色器与材质 048
3.2.1 着色器 048
3.2.2 材质 048
3.2.3 实践 048
3.3 Mesh 与相关组件 051
3.3.1 Mesh 051
3.3.2 Mesh Filter 组件 052
3.3.3 Mesh Renderer 组件 052
3.4 天空盒 053
3.5 光源 056
3.5.1 Directional Light 056
3.5.2 Point Light 058
3.5.3 Spot Light 059
3.5.4 灯光烘焙 059
3.5.5 Area Light 061
3.5.6 Sun Source 061
第 4 章? 输入系统与常用工具类
4.1 Input(输入系统) 062
4.2 常用工具类 065
4.2.1 Mathf(数学工具类) 065
4.2.2 Random(随机数工具类) 065
4.2.3 Application(应用
程序工具类) 065
4.2.4 Vector3(向量工具函数) 065
第 5 章? Unity 的物理系统
5.1 碰撞体组件 066
5.2 刚体组件 067
5.3 碰撞与触发事件 070
5.4 射线检测和物理检测 072
5.5 物理层控制 074
5.6 物理材质 078
5.7 刚体移动 080
第 6 章? Unity 的动画系统
6.1 Animation Clip 084
6.2 动画系统的主要组成 088
6.3 Animator Controller 091
6.3.1 动画状态 091
6.3.2 动画过渡 092
6.3.3 动画参数 095
6.3.4 使用脚本文件控制动画 098
6.4 人形动画 098
6.5 案例:史莱姆动画 102
6.5.1 史莱姆的制作 103
6.5.2 制作待机动画 105
6.5.3 制作跳跃动画 107
6.5.4 使用代码控制角色的动画播放 109
第 7 章? Unity 的导航系统
7.1 安装导航系统 112
7.2 导航烘焙 113
7.3 导航代理组件 119
7.4 导航障碍组件 121
第 8 章? Unity 的场景系统
8.1 场景构建设置 122
8.2 场景切换 123
8.3 游戏构建 123
第 9 章? Unity 的音频系统
9.1 音频文件 126
9.2 Audio Source 组件 127
9.3 音频系统主要的 API 130
第 10 章? Unity 的资源管理系统
10.1 .meta 文件 134
10.2 ScriptableObject 135
10.3 基于引用的资源管理方式 136
10.4 Resources 137
第 11 章? Unity 的 UI 系统
11.1 Text 组件 147
11.2 Image 组件 150
11.3 Button 组件 154
11.4 Canvas 相关组件 156
11.5 UI 布局 157
11.6 UI 事件 161
第 12 章? Bug 的定位和调试
12.1 Bug 的定位 163
12.2 Bug 的调试 164
第 13 章? 游戏功能的扩展性
13.1 关于扩展性 167
13.1.1 士兵例子 167
13.1.2 皮肤例子 167
13.2 案例:制作背包系统 168
13.2.1 需求拆解 169
13.2.2 制作背包窗口 169
13.2.3 物品动态数据与静态配置 171
13.2.4 物品格子逻辑层 173
13.2.5 背包逻辑 178
第 14 章? 有限状态机
14.1 布尔类型和枚举类型 179
14.2 使用有限状态机组织逻辑 180
第 15 章 对象池
15.1 关于对象池 183
15.2 案例:子弹对象池 183
第 16 章 事件系统
16.1 系统之间的通信 186
16.2 案例:制作事件系统 186
第 17 章 游戏存档
17.1 关于存档 189
17.2 案例:跳舞派对存档 190
17.2.1 搭建基础场景 190
17.2.2 设置角色 191
17.2.3 存档数据 192
17.2.4 核心逻辑 193
第 18 章 综合案例:《坦克大战》项目实战
18.1 案例说明 195
18.1.1 资源说明 195
18.1.2 需求说明 196
18.2 基础工具 197
18.2.1 状态机 197
18.2.2 对象池 198
18.2.3 事件系统 200
18.3 游戏数据与事件 201
18.3.1 游戏数据 201
18.3.2 事件 201
18.4 StartScene 场景的逻辑 202
18.5 GameScene 场景的 UI 逻辑 203
18.6 音效播放 204
18.7 子弹逻辑 205
18.8 武器逻辑 207
18.9 坦克逻辑 209
18.10 玩家逻辑 211
18.11 敌方坦克逻辑 213
|
內容試閱:
|
Unity 作为当前主流的游戏引擎,凭借其强大的技术实力,已从传统的游戏 开发扩展至汽车、制造、影视动画、建筑等多个行业。除了支持计算机、手机等传统平台,Unity 还积极布局 VR、车机等新兴平台,展现出跨行业、跨平台的广泛适用性。
在中国市场,Unity 的发展尤为显著。基于 Unity 2022 LTS 版本开发的“团结引擎”,针对中国市场的特殊需求进行了深度优化和本地化,进一步提升了其在国内的竞争力。此外,Unity 中文课堂和问答社区为开发者提供了交流平台和丰富的学习资源,助力开发者快速成长。
值得一提的是,Unity 在国内推出的 UOS(Unity Online Server)一站式游戏云服务,为中小企业提供了从开发到运营的全流程解决方案。这种高度集成的服务模式,不仅降低了开发门槛,还大幅提高了开发效率,为中小企业的快速发展提供了有力支持。
综上所述,Unity 凭借其强大的技术实力和本地化服务,正在中国市场上展现出越来越广泛的应用前景,未来有望在更多行业中发挥重要作用。
学习 Unity 开发不仅需要掌握编程技能,还需要熟悉其内置的各类系统, 这体现在对 Unity 的操作上。因此,对初学者而言,仅通过工具书学习可能会遇到较大困难。基于这一考量,编者在编写本书时并未采用传统工具书的方式,而是假定读者会从头到尾阅读并同步完成书中的操作步骤。这种设计使本书的阅读体验更接近于观看视频课程,对初学者更加友好。
此外,编者为本书设定了一个明确的目标:帮助读者完成一个较为完整的开发案例。因此,本书中不仅包含 Unity 的基础操作和编程知识,还融入了一些开发者必须掌握的核心开发思想和解决方案。通过对这些内容的学习,读者将能够运用所学知识完成案例,从而在实践中巩固技能并提升开发能力。总的来说,本书旨在为初学者提供一条清晰的学习路径,通过理论与实践相结合的方式,帮助读者快速入门 Unity 开发,并具备完成实际项目的能力。
致谢
我来自大山,是 Unity 改变了我的命运。
有人说技术只是一种工具,这话没错,但就像武侠小说中的剑客与他的剑一样,夜以继日的相伴,很难说没有感情。Unity 于我而言,不仅是工具,更是成长的伙伴。我衷心祝愿 Unity 发展得越来越好,为更多人带来改变和机遇。
一项技术的社区发展水平对开发者的影响是深远的。在这一点上,Unity 中国社区做得非常出色,为无数开发者提供了学习、交流和成长的平台。作为一名技术人员,我要特别感谢 Unity 中国社区,正是这样一个充满活力的社区,让我在技术道路上不断前行。
回想起我学习 Unity 的时光,当时我阅读别人编写的书籍、学习他人制作的课程,身边有一位陪伴我的女朋友。如今,当我编写 Unity 书籍、制作课程时,她已经成为我的妻子。感谢她一直以来的支持与信任,让我能够专注于热爱的事业。
我们还有一个可爱的儿子,他在本书完成时来到了这个世界。这本书不仅是我技术生涯的见证,也承载了我人生中最重要的时刻。
愿 Unity 继续照亮更多人的梦想,也愿每一位开发者都能在技术的道路上找到属于自己的光芒。
|
|