《Unity 实战(第2版)》介绍如何使用Unity编写游戏。有经验的程序员可以把它当成Unity的入门书籍。本书的目标十分明确:带领有一些编程经验但没有Unity经验的读者使用Unity开发游戏。
讲授开发1好的方式是完成示例项目,学生通过制作示例来学习,这正是本书采用的方式。本书的各个主题展现为构建游戏示例的步骤,当浏览本书时,鼓励读者在Unity中构建这些游戏。每几章挑选不同的项目来讲解,而不是整本书只开发一个项目。其他有些书籍采用“一个完整项目”的方法讲解,不足之处是如果对前面的章节不感兴趣,就很难跳到中间的章节。
《Unity 实战(第2版)》比大多数Unity书籍(特别是入门书籍)有更严格的编程内容。如果不知道如何编写计算机程序,1好先使用Codecademy之类的资源学习,在学会如何编写程序之后再回到本书。
不要担心具体的编程语言,本书大量使用了C#,也可以使用其他语言的技能。本书的第Ⅰ部分会花时间介绍新的概念,会小心谨慎、一步一步地在Unity中开发第1款游戏,但剩下的章节将更快速地推进,让读者了解多个游戏类型。本书1后会描述部署到各种平台(如Web和移动平台),但本书的主旨不会提及1终的部署目标,因为Unity与平台无关。
至于游戏开发的其他方面,广泛覆盖的美术学科会稀释本书涵盖的Unity知识,加大Unity外部软件(例如,所使用的动画软件)的比重。关于美术任务的讨论将仅限于Unity或所有游戏开发者都应该知道的方面。
通读《Unity实战(第2版)》,读者可以轻松地构建游戏,而不必纠缠于不重要的细节。Unity游戏开发平台为用户处理大量的细节工作,让用户可以专注于游戏玩法、图形和用户体验的开发。这个平台支持C#编程,它预先构建好的资源具有可靠的质量,是一个完整、巨大的生态系统。Unity还有一个活跃且强大的开发社区,利用Unity可以从绘图板开始,顺畅地开发出杰出的游戏!
《Unity实战(第2版)》详细介绍了如何用Unity编写和部署游戏。探讨了许多有趣的示例,实践Unity直观的工作流工具和先进的呈现引擎。这个实用指南揭示了游戏开发过程的各个方面,包括最初的基础工作、创建自定义Al脚本和构建易于阅读的UI。应读者的要求,这个全新修订的第2版包含了一个新章节,介绍了如何使用Unity的扩展2D工具包来构建2D平台。
第Ⅰ部分 起步
第1章初识Unity
1.1 为什么Unity如此优秀
1.1.1 Unity的优势
1.1.2 要意识到的缺点
1.1.3 使用Unity构建的游戏示例
1.2 如何使用Unity
1.2.1 Scene视图、Game视图和工具栏
1.2.2 使用鼠标和键盘
1.2.3 Hierarchy视图和Inspector面板
1.2.4 Project和Console标签
1.3 开始使用Unity编程
1.3.1 代码在Unity中运行:脚本组件
1.3.2 使用MonoDevelop,跨平台的IDE
1.3.3 打印到控制台:Hello World!
1.4 小结
第2章构建一个令人置身3D空间的演示游戏
2.1 在开始之前
2.1.1 对项目做计划
2.1.2 了解3D坐标空间
2.2 开始项目:在场景中放置对象
2.2.1 布景:地板、外墙和内墙
2.2.2 灯光和摄像机
2.2.3 玩家的碰撞器和视口
2.3 移动对象:应用变换的脚本
2.3.1 图示说明如何通过编程实现移动
2.3.2 编写代码实现图中演示的运动
2.3.3 本地和全局坐标空间
2.4 用于观察周围的组件脚本:MouseLook
2.4.1 跟踪鼠标移动的水平旋转
2.4.2 有限制的垂直旋转
2.4.3 同时水平旋转和垂直旋转
2.5 键盘输入组件:第一人称控件
2.5.1 响应按下的键
2.5.2 设置独立于计算机运行速度的移动速率
2.5.3 移动CharacterController以检测碰撞
2.5.4 将组件调整为走路而不是飞翔
2.6 小结
……
第3章为3D游戏添加敌人和子弹
第4章为游戏开发图形
第Ⅱ部分 轻松工作
第5章使用Unity的2D功能构建一款记忆力游戏
第6章创建基本的2D平台游戏
第7章在游戏中放置GUI
第8章创建第三人称3D游戏:玩家移动和动画
第9章在游戏中添加交互设施和物件
第Ⅲ部分 冲刺阶段
第10章将游戏连接到互联网
第11章播放音频:音效和音乐
第12章将各部分整合为一个完整的游戏
第13章将游戏部署到玩家的设备
附录A 场景导航和快捷键
附录B 与Unity一同使用的外部工具
附录C 在Blender中建模一个板凳
附录D 在线学习资源
后序
——Jesse Shell,The Art of Game Design
★一书的作者“有用且切中要害!所有需要掌握的Unity知识都在一个资源申。”
——Dan Kacenjar,基石软件
★“提高了从创意到完成游戏的速度。”
——Christopher Haupt Sanlam
★“我一直想在Unity中编程。书中精彩的示例给了我开始编写代码的信心。”
——Robin Dewson Schroders