带你读《Unity游戏开发(原书第3版)》之一:Unity介绍

简介: 本书主要介绍Unity2018的使用和游戏开发流程中涉及的各种知识。每一章的结构特别清晰,先综述该章要介绍的内容,然后一步步深入讲解,中间穿插着很多动手做的实践操作,可以让读者加深对某个概念、方法的理解,每章的最后还有一个小测验和一个稍微大一点的实践练习,用于巩固该章的学习内容。

游戏开发与设计技术丛书
点击查看第二章
点击查看第三章
Unity游戏开发(原书第3版)
Sams Teach Yourself Unity 2018 Game Development in 24 Hours, Third Edition

image.png

[美] 迈克·吉格(Mike Geig) 著
王东明 译

第1章

Unity介绍
本章的主要任务是让你熟悉Unity环境,以方便在后面的学习中尽情发挥。首先介绍Unity的几种不同的许可证,然后教你安装Unity。本章也会教你如何创建一个新项目以及如何打开一个现有项目。之后会打开编辑器熟悉其中的各个组件。最后,学习如何在一个场景中使用鼠标或者键盘导航。本章需要动手实践,所以在阅读的过程中要下载安装合适的Unity。

1.1 Unity安装

要使用Unity,首先需要下载并安装。现在的软件安装过程十分简单且直观。不过,在安装之前,我们先来介绍三种不同的Unity许可证:Unity Personal, Unity Plus和Unity Pro。Unity Personal是一个免费版本,它提供的功能足以满足本书中所有的示例和项目。事实上,Unity Personal包含了制作商业游戏需要的全部功能,只要你的要求不是太高,就可以一直使用这个版本开发商业游戏。如果你想使用Unity的高级功能,那么可以升级到Unity Plus 或者Unity Pro(它们主要面向专业团队)。
注意:Unity Hub
在本书出版的时候,已经有了一种用来安装Unity和创建项目的新方式。Unity Hub是不同项目的中心启动器。不幸的是,本书没有来得及加入相关介绍,但这并不意味着本章内容没有用。你仍然可以使用本章介绍的方法安装Unity并创建项目。即使你决定使用Unity Hub,本章后面的内容也一样适用。就像广告语中常说的那样:“包装升级,口味不变。”
下载并安装Unity
本章假设你选择了Unity Personal版本的许可证。如果你选择的是Plus或者Pro版本,安装过程也基本相同,只在选择许可证的时候有些区别。当你准备好下载并安装Unity以后,请按照如下步骤操作:

  1. 在Unity下载页面按照指引下载Unity安装程序:http://unity3d.com/get-unity/download
  2. 运行安装程序,就像安装其他软件时一样按照提示操作即可。
  3. 出现图1-1的提示框时,请确保勾选了Unity 2018和Stand Assets这两个复选框。如果你的电脑空间足够,也可以安装示例项目和其他平台的构建支持选项,多安装的内容对本书中的操作没有影响。

image.png

  1. 选择Unity的安装位置。建议使用默认选项,除非你有自己的想法。Unity的安装过程将会持续一段时间,在这段时间内,你将看到如图1-2所示的界面。
  2. 如果你已经有了Unity账户,可能会要求你登录账户。如果还没有,那么请按照指引注册一个新账号。请确保你可以访问填写的邮箱,因为需要在邮件中确认邮件地址。现在Unity已经安装完成。

image.png

注意:Unity支持的操作系统和硬件
想要使用Unity,必须使用Windows PC或者Macintosh计算机。虽然有一个版本的编辑器可以运行在Linux上,但是Linux并不是官方支持的操作系统。你的电脑必须满足最低配置的要求(下面的配置来自本书出版时的官方网页):

  1. Windows 7 SP1+、Windows 8 或者Windows 10, 64位系统。Mac OS X 10.9+。注意,Unity并没有在Windows或者OS X的服务器版本上测试过。
  2. 显卡要支持 DX9(shader model 3.0)或DX11(特征等级为9.3)。
  3. 支持SSE2指令集的CPU(大多数CPU都支持)。
    注意上面是最低配置要求。

注意:Internet链接
书中所有的URL在本书出版时都是有效的,但是,链接地址有的时候会更改。如果你需要的资料在列表中找不到,那么可以使用网络搜索你想要的资源。

1.2 熟悉Unity编辑器

我们已经安装了Unity,现在开始探索Unity编辑器。Unity编辑器由可视化组件组成,它允许以“所见即所得”的方式构建游戏。由于大多数交互实际上都发生在我们与编辑器之间,因此我们通常把它简称为Unity。本章接下来将介绍Unity编辑器的各种元素,以及如何使用这些元素来制作游戏。

1.2.1 Project对话框

当第一次打开Unity的时候,首先显示的是Project对话框(见图1-3)。我们可以使用这个对话框打开最近使用的项目,浏览那些已经创建的项目,或者创建新项目。

image.png

如果你已经使用Unity创建了一个项目,那么当你打开编辑器的时候,将会直接进入这个项目。要回到Project对话框,选择File > New Project打开Create New Project对话框,或者选择File > Open Project打开Open Project对话框。
提示:打开Project对话框
Unity启动时,将会打开最后一个项目,我们可以通过设置更改这个行为。打开Edit > Preferences(Mac上是Unity > Preferences),然后取消勾选Load Previous Project on Startup复选框。
动手做t
创建第一个项目
现在开始创建第一个项目。注意项目的保存位置,这样下次你就能轻松地找到这个项目。图1-4显示了创建项目用到的对话框。我们按照下面的操作创建项目:

  1. 打开Unity,然后打开New Project对话框。(如果Unity打开了一个项目,那么选择File >New Project。)
  2. 为项目选择一个存放位置。建议你创建一个名为Unity Projects的文件夹来保存本书中用到的所有项目。如果你不知道将文件保存到哪里,那么可以让文件保存在默认位置。
  3. 在项目保存对话框中,将项目命名为Hour 1 TIY,Unity将会为项目创建一个同名的文件夹。
  4. 选择3D选项,忽略Add Asset Package和Enable Unity Analytics选项。
  5. 点击Create project。

image.png

注意:2D、3D、Package、Analytics如何选择
你可能很好奇New Project对话框中的其他选项是干什么用的。2D、3D选项是为了让你选择创建什么类型的项目。不要担心选择错误或者不确定自己到底要做什么类型的项目。这个选项仅会影响Unity的设置,你可以随时更改。Add Asset Package按钮可以让你将经常用的资源自动导入新项目中。Enable Unity Analytics选项是一个非常强大的工具,它可以生成游戏玩家的数据,然后可以基于这些数据分析玩家行为,从而改善游戏体验。这个功能对于开发人员来说特别强大,但是现在你还用不到它。

1.2.2 Unity界面

前面我们已经安装了Unity,也查看了Project对话框。现在开始进行下一步,熟悉Unity界面。在第一次打开新创建的 Unity 项目时,将会看到好几个灰色的窗口—视图(view),并且所有视图中的内容基本都是空的,如图1-5所示。不要慌,我们将迅速使这个界面变得鲜活起来。后面我们将逐一研究每个视图的功能。首先,让我们看一下Unity界面的整体布局。

image.png

Unity允许用户定制自己的工作方式。这意味着任何视图都可以移动、停靠、复制或改变。比如说,单击“Hierarchy”(位于左边)可以选取Hierarchy视图,并把它拖到 Inspector上(位于右边),这样可以让两个视图处于同一个选项卡下。也可以把光标放在视图之间的任何边框上,按住鼠标拖动来调整窗口大小。事实上,为什么不花点时间重新排列一下各个视图的布局,使它们按照你喜欢的样式排列呢?如果最终得到的布局不是你喜欢的样子,也不要感到恐惧。可以使用Window > Layouts > Default Layout这个选项,它能帮助你轻易地切换回内置的默认视图。在熟悉界面的过程中,你可以尝试使用各种布局(我最喜欢Wide布局)。如果你创建了一个自己很喜欢的布局,那么可以使用Window > Layouts > Save Layout将这个布局保存下来(本书中,我使用了名为Pearson的自定义布局)。当你保存了一个自定义布局之后,如果不小心打乱了布局结构,还可以轻松地还原到自定义的布局。
注意:使用合适的布局
没有相同的两个人,同样,也不会存在同时令两个人都感到完美的布局。良好的布局有助于项目开发,让你倍感舒适。一定要花时间调整下布局,找到最适合自己的布局方式。接下来Unity将是你主要的开发工具,调整Unity的布局让它符合你的工作习惯,这样对之后的工作会很有好处。
复制视图的操作也是一个相当直观的过程。简单地右键单击任何视图选项卡(如图1-6的Inspector),把鼠标光标悬停在Add Tab上,将会弹出一个视图列表,你可以从中选择想要的视图(见图1-6)。你可能想知道为什么需要两个一样的视图。在频繁移动视图的过程中,视图有可能会被意外关闭。重新添加就会恢复。此外,还要考虑创建多个Scene视图的情况。每个Scene视图都可以与项目内的特定元素或轴对齐。如果希望看到它的实际应用,可以使用Window > Layouts > 4 Split 命令,查看4 Split的内置布局(如果之前你已经创建了一种喜欢的布局,在体验4 Split布局前一定要记得先保存你刚创建的布局)。

image.png

现在,我们已经从整体上对Unity界面有了了解,接下来,让我们看看每一个视图的功能。

1.2.3 Project视图

项目创建后使用的所有资源(文件、脚本、纹理、模型等)都可以在Project视图中找到(见图1-7)。这个窗口显示了整个项目用到的所有资源和组织结构。创建一个新项目后,你会发现一个名为Assets的文件夹。如果进入硬盘保存项目的文件夹,也会发现名为Assets的文件夹。这是因为Unity为Project视图中的文件夹在硬盘上制作了相同的镜像。如果在 Unity 中创建一个文件或文件夹,资源管理器中就会出现对应的文件或文件夹(反之亦然)。可以执行简单的拖放操作,在Project视图中移动资源。这样就可以在文件夹中添加资源,或者自由地组织项目结构。

image.png

注意:资源和对象
资源是在Assets文件夹中任何以文件形式存在的条目,所有的纹理、网格、声音文件、脚本等都可以称为资源。同样,游戏对象是组成场景或者关卡的对象。你可以使用游戏对象创建资源,也可以使用资源创建游戏对象。
警告:移动资源
Unity维护着项目中各种资源之间的联系。因此,在Unity外移动或删除资源可能会导致潜在的问题。一般来说,应该在Unity中执行所有的资源管理操作。
当你在Project视图中单击一个文件夹的时候,就会在右边的Assets区域下显示该文件夹中的全部内容。如图1-7所示,当前Assets 文件夹是空的,因此在右边不会显示任何内容。如果想要创建资源,可以单击Create按钮,它会弹出一个下拉菜单,利用这个菜单可以把各种资源和文件夹都添加到项目中。
提示:项目组织
资源的组织方式在项目管理中极其重要。随着项目逐渐变大,资源的数量也开始增多,最终查找某个资源可能会变成一项冗繁的工作。我们可以利用一些简单的组织规则,避免这类问题的产生。

  1. 每种资源类型(场景、脚本、纹理等)都应该创建专属文件夹。
  2. 每种资源都应该属于一个文件夹。
  3. 如果要在文件夹中创建文件夹,那么要确保它们的结构明确。文件夹的用途应该明确而不是含糊不清。

遵循上面的三条原则将会让问题变得简单很多。
Favorites按钮可以让你迅速选择某种类型的全部资源,它能让你快速扫视这种类型的资源。当单击 Favorites中的一个按钮(例如All Models)或者利用内置的搜索栏进行搜索时,可以缩小 Assets 与 Asset Store 中资源的显示范围。如果单击 Asset Store,就可以在Unity Asset Store 中浏览满足搜索条件的资源(见图1-8)。然后还可以按免费资源还是付费资源进一步缩小显示范围。这是一个特别出色的功能,它可以让你在不离开Unity界面的情况下找到想要的资源。

image.png

1.2.4 Hierarchy视图

Hierarchy视图与Project视图在很多地方都很类似(见图1-9)。它们之间的区别是:Hierarchy视图显示了当前场景而不是整个项目中的内容。当首次使用Unity 创建项目时,会创建一个默认场景,场景中包含两项:Main Camera和Directional Light对象。当你向场景中添加资源的时候,它们就会出现在Hierarchy视图中。与Project视图一样,可以使用Create功能向场景中快速添加资源,也可以使用内置的搜索栏进行搜索,还可以单击并拖动对象来组织和“嵌套”它们的结构。

image.png

提示:嵌套
嵌套是一个专业术语,用于建立两个或者多个对象之间的关系。在Hierarchy视图中,单击一个对象并把它拖到另一个对象上,就会把这个对象嵌套在另一个对象中,这样就会创建父/子关系(parent/child relationship)。在这种情况下,上层的对象是父对象,其下的任何对象都是子对象。很容易分辨父子对象的关系,因为它们以缩进形式显示。后面我们将会发现,Hierarchy视图中具有嵌套关系的对象可能会影响它们的行为。
提示:场景
场景是用来描述关卡或者地图的术语。在Unity项目的开发过程中,每一个场景都有自己的一组对象或者行为。因此,如果你创建了一个游戏,其中包含大雪关卡和丛林关卡,那么这两个关卡应该属于不同的场景。当你在网上搜索某些问题的答案时,你会发现场景(scene)和关卡(level)是混用的。
提示:场景组织
当创建了一个新的Unity项目后,要做的第一件事就是在Project视图的Assets文件夹下创建一个名为Scenes的文件夹。把所有的场景(或关卡)放在相同的位置。一定要给场景起一个有意义的名称,即可以描述出它的用途。Scene1现在听起来像是一个非常好的名字,但是当你创建了30个场景之后,就根本无法从名字上判断这个场景到底是干什么用的了。

1.2.5 Inspector 视图

Inspector视图能够让你查看当前选中的对象的全部属性。从Project或Hierarchy视图中单击任何资源或对象,Inspector视图将自动显示对应的信息。
如图1-10所示,在Hierarchy视图中选择了Main Camera对象之后,就可以在Inspector视图中查看它的属性。

image.png

下面看看Inspector视图的各项功能。

  1. 如果勾选对象名称旁边的复选框,就会禁用这个对象,它就不会出现在项目中。
  2. 下拉列表(比如 Layer 或 Tag 列表,后面将介绍它们的详细信息)用于从一组预先定义的选项中选择合适的选项。
  3. 文本框、下拉菜单和滑动条可以更改它们的值,所做的更改将会自动并且立即反映在场景中—即使游戏处于运行状态也会这样。
  4. 每个游戏对象就像是不同组件(比如图1-10所示的Transform、Camera和GUI Layer)的容器。可以通过取消选中这些组件或者单击右键然后选择Remove Component命令移除组件来禁用这些组件。
  5. 点击Add Component按钮可以添加组件。

警告:场景运行时更改对象属性
更改对象的属性并且可以立即在运行的场景中查看更改后的效果的功能非常强大。它能让你动态调整诸如运动速度、跳跃高度、碰撞力度之类的属性,而不用停止后再重新启动游戏。不过要注意:在场景运行时更改的任何对象属性都将在场景运行结束时恢复。如果你在场景运行时进行了更改,而且喜欢更改后的效果,那么一定要记住都更改了哪些内容,以便在场景停止运行时再次设置它们。

1.2.6 Scene视图

Scene视图对你来说是最重要的视图,因为它能让你在构建游戏的过程中实时看到游戏中的内容(见图1-11)。使用鼠标和几个快捷键,你就可以在场景内四处移动,然后将对象放置在合适的地方。它会给你一种强烈的掌控感。

image.png

我们稍后将学习如何在场景内四处移动,首先学习Scene视图中的各个功能。

  1. 绘制模式(Draw Mode):确定场景如何绘制。默认选项是Shaded(阴影),意思是说所有对象将利用它们的纹理绘制。
  2. 2D/3D视图(2D/3D view):确定场景按照2D视图显示还是按照3D视图显示。注意,在2D模式下,场景小工具(后面会介绍)不会显示。
  3. 场景光照(Scene Lighting):用于确定Scene视图中的对象是使用默认的环境光(Ambient Lighting),还是通过实际存在于场景内的灯光来照明。默认情况下使用内置的环境光。
  4. 试听模式(Audition Mode):用于设置 Scene 视图中音频源的功能。
  5. 游戏叠层(Game Overlay):用于控制场景视图中的天空盒、雾效等其他效果是否显示。
  6. 小工具选择器(Gizmo Selector):让你能够选择哪些“小工具”(gizmo,帮助可视化调试或者显示图像图标等的小工具)会出现在Scene视图中,还能控制放置网格是否可见。
  7. 场景小工具(Scene Gizmo):能控制你当前的朝向,并能让场景视图与某个轴对齐。

注意:场景小工具
场景小工具在Scene视图中起到了很重要的作用。我们可以看到,该控件具有与坐标轴对齐的X、Y和Z指示器。它能让你很容易确定现在查看的是场景中的哪个方向。在第2章中我们将讨论轴和3D 空间。小工具还允许主动控制场景的对齐方式。如果单击小工具中的一个轴向,就会发现 Scene视图将会立即对齐那个轴,并且被放置到某个方向,比如顶部或左边。单击小工具中心的方框,将在Iso模式与Persp模式之间切换。
Iso是Isometric的缩写,它是没有应用透视的3D视图。Persp是Perspective的缩写,它是应用了透视的3D视图。自己尝试操作一下,看看它是如何影响Scene视图的。你会发现场景小工具的图标会从Iso的平行线变更为Persp的分叉线,就像牛蹄子一样。

1.2.7 Game视图

最后要学习的是Game 视图。一般来说,Game 视图允许你在编辑器内“玩”游戏,它会模拟当前场景。Game视图中所有元素的行为都像完全构建了项目一样。图1-12显示了Game视图的样子。尽管从技术上讲Play、Pause和Step按钮不是Game视图的一部分,但是它们可以控制Game视图,所以也将它们显示在图1-12的Game视图中。

image.png

提示:丢失Game视图
如果发现Game视图隐藏在Scene视图后面,或者完全看不到Game视图选项卡,不要担心。只需要单击 Play 按钮,Game 视图选项卡就会出现在编辑器中,然后开始运行游戏。
Game视图带有一些控件,可以帮助我们测试游戏。

  1. 播放:Play按钮可以播放当前的场景。所有的控件、动画、声音和效果都将显示。一旦游戏运行起来,其效果就像是在独立的播放器(比如在 PC 或移动设备上)中运行一样。游戏运行过程中想要停止游戏运行,可以再次单击Play按钮。
  2. 暂停:Pause按钮用于暂停当前正在运行的Game 视图。游戏将会保持它的状态,并且可以从暂停时它所处的状态继续运行。再次单击Pause按钮,将会继续运行游戏。
  3. 步进:Step 按钮在 Game暂停时可用,它可以让游戏以单帧的速度运行。这允许缓慢地“单步”运行游戏,可以让你调试遇到的问题。在游戏正在运行时按下Step按钮将导致游戏暂停。
  4. 分辨率下拉菜单:从这个下拉菜单中,可以选择希望 Game 视图窗口在运行时显示的分辨率。默认选项是Free Aspect,可以更改这个选项,以匹配游戏的目标平台的分辨率。
  5. 最大化播放(Maximize on Play):这个按钮用于确定Game 视图在运行时是否会占据编辑器的全部空间。它默认是关闭的,所以正在运行的游戏只会占据Game视图选项卡的大小。
  6. 静音(Mute audio):当游戏运行时,这个选项可以让游戏静音。当有人坐在你旁边,已经厌倦了听你测试时游戏运行带来的音效时,你就可以很方便地用这个按钮将音效关闭。
  7. Stats:这个按钮用于确定游戏正在运行时是否要在屏幕上显示渲染的统计信息。这些统计信息可用于确定场景的效率。该按钮默认处于关闭状态。
  8. Gizmos:它既是一个按钮,也是一个下拉菜单。这个按钮用于确定游戏正在运行时是否显示小工具,默认不显示。从下拉菜单(点击旁边的小箭头就可以弹出)中可以选择显示哪些小工具。

注意:运行、暂停和关闭
刚开始学习的时候可能无法区分运行(running)、暂停(paused)和关闭(off)这些术语的含义。当没有在Game视图中运行游戏的时候,我们就称游戏是关闭的。当游戏处于关闭状态时,游戏控件将不会工作,也无法播放游戏。当按下Play按钮时,游戏开始运行,我们就说游戏正在运行。播放、执行和运行都指同一件事。如果游戏正在运行,并且按下Pause按钮,游戏就会停止运行,但是仍将保持它最后运行的状态。此时游戏就处于暂停状态。暂停的游戏与关闭的游戏之间的区别是:暂停的游戏可以从暂停的位置继续运行,而关闭的游戏则需要从头开始运行。

1.2.8 隆重介绍:工具条

虽然工具条并不是视图,但是它在Unity编辑器中起到了举足轻重的作用。图1-13显示了工具条的组成。

  1. 变换工具(Transform Tool):这些按钮能让你操纵游戏对象,后面我们会更详细地学习它们的使用。要特别注意那个小手按钮,它是Hand工具,将在本章后面介绍。
  2. 变换小工具(Gizmo)切换开关:这些切换开关可以控制小工具如何显示在Scene视图中,目前暂且不管它们。
  3. Game 视图控件(Game View Control):这些按钮用于控制Game 视图。
  4. 账户和服务(Account and Service)控件:这些按钮可以让你管理正在使用的Unity账户以及项目中使用的Unity服务。
  5. 图层下拉菜单(Layers Drop-down):这个菜单用于决定哪些对象图层将出现在 Scene 视图中。默认情况下,所有的内容都将出现在Scene视图中。目前暂且不管它。第5章中我们会介绍图层相关的内容。
  6. 布局下拉菜单(Layout Drop-down):这个菜单允许快速更改编辑器的布局。

image.png

1.3 在Unity 场景视图中导航

Scene视图可以对游戏的结构进行诸多控制。可视化摆放和修改对象的能力非常强大。不过,如果不能在场景内四处移动,上面提到的功能也没有发挥的余地。本节将介绍几种更改位置和在Scene视图中导航的方式。
提示:缩放
不管使用什么方式导航,滚动鼠标滚轮可以在场景中缩放。默认情况下,Scene视图会在场景中心缩放。如果在滚动滑轮的过程中按住Alt键,那么就会在鼠标指向的位置执行缩放操作。

1.3.1 Hand工具

Hand工具(快捷键:Q)提供了一种使用鼠标移动Scene视图的简单方法(见图1-14)。如果你使用的是单键鼠标,那么会发现这个工具特别有用(因为其他方法都需要双键鼠标)。表1-1简要解释了Hand工具中各个控件的功能。

image.png

image.png

在下面的链接中可以找到Unity的所有快捷键:http://docs.unity3d.com/Manual/UnityHotkeys.html
警告:不同的摄像机
在使用Unity的过程中,我们将遇到两种摄像机。第一种是标准的游戏对象摄像机,你可以看到场景中已经有了一个这样的摄像机(默认情况);第二种比起传统意义上的摄像机更像是一种假想的摄像机,它决定了我们可以在 Scene 视图中看到什么。本章提到的摄像机指的都是第二种摄像机。我们并不会实际操纵游戏对象摄像机。

1.3.2 Flythrough模式

Flythrough 模式让你能够以传统第一人称控制模式在场景中移动。玩过第一人称游戏(比如第一人称射击游戏)的读者都很熟悉这种模式。如果你没有玩过类似的游戏,那么可能要花点时间习惯这种模式。不过,一旦熟悉了这种模式,就不会忘记。在Scene视图中按住鼠标右键会进入Flythrough模式。表1-2展示的所有操作都需要按住鼠标右键。

image.png

提示:快速定位
可以用多种方式在场景导航中获得精确控制。不过有时你只是想要迅速浏览下场景。对于这种情况,最好使用快速定位(Snap Control)的方式。如果想要快速导航并放大场景中的某个游戏对象,可以在Hierarchy视图中选择对应的对象使其高亮,然后按下F(Frame Select的快捷键)键。你会发现场景将迅速定位到那个游戏对象。另一种迅速定位的方式你已经见过。利用场景小工具可以快速把摄像机定位到任何一个轴。这样,就可以从任意角度查看对象,而不必手动四处移动场景摄像机。一定要学会快速定位,这样在场景中快速导航就会变得非常快!
提示:进一步学习
当你打开New Project或者Open Project对话框的时候,可能会被对话框中的Learn按钮吸引(见图1-15)。点击这个按钮就可以看到Unity新的学习资源。这些资源非常有趣,如果喜欢可以花一些时间学习一下,这样将会更加熟悉Unity引擎的使用。(提及它是我的一点私心,因为这些教程的制作有我的功劳。)

image.png

1.4 本章小结

本章从下载和安装 Unity 开始,我们首先认识了 Unity 游戏引擎,然后学习了如何打开和创建项目,之后又学习了Unity 编辑器中各种不同的视图,最后学习了如何在Scene视图中导航。

1.5 问答

问:资源和游戏对象是一样的吗?
答:不完全一样。一般来说它们之间最大的区别是:资源在硬盘上有对应的文件或者有一组文件与之对应,而游戏对象并没有。资源可能包含游戏对象,也可能不包含游戏对象。
问:有那么多不同的控件和选项,需要立刻把它们都记住吗?
答:根本不需要。大多数控件和选项都已经设置为了默认状态,默认状态基本上涵盖了大多数使用情况。随着你对 Unity 的认识进一步加深,可以继续学习各种不同控件的更多知识。本章只是告诉你Unity编辑器中都包含什么,然后对它们有一个大概的认识。

1.6 测验

花些时间完成下面的练习,确保掌握了本章的内容。
问题

  1. 判断题:必须购买Unity Pro 才能制作商业游戏。
  2. 哪种视图能够让我们可视化地操纵场景中的对象?
  3. 判断题:应该总是在 Unity中移动资源文件,而不应该使用操作系统的文件管理器。
  4. 判断题:在创建一个新项目时,应该包含你认为好的资源。
  5. 当按住鼠标右键时,在Scene视图中进入的是哪种模式?

答案

  1. 错误 
  2. Scene视图 
  3. 正确 
  4. 错误 

5.Flythrough模式

1.7 练习

花点时间练习一下本章中所学的概念。从根本上理解 Unity 编辑器很重要,因为这里的知识后面都会用到。为了完成这个练习,请按照如下步骤操作。

  1. 使用File > New Scene命令或者按下Ctrl+N组合键(在Mac 上是Command+N组合键)创建一个新场景。
  2. 在Project视图中使用Create > Folder在Assets文件夹下创建一个Scenes文件夹。
  3. 使用File > Save Scene命令或者按下Ctrl+S组合键(在Mac上是Command+S组合键)保存场景。一定要在 Scenes 文件夹中保存场景,并给它起一个有意义的名称。
  4. 向场景中添加一个立方体。有三种方式可以完成这个操作: 单击顶部的GameObject菜单,在弹出式菜单中选择3D Object > Cube 命令;选择Hierarchy视图中的Create > 3D Object > Cube命令;在Hierarchy视图中点击右键,然后选择3D Object > Cube命令。
  5. 在Hierarchy视图中选择新添加的立方体,并在Inspector视图中体验它的各种属性。
  6. 练习使用Flythrough模式、Hand工具和快速定位在Scene视图中导航。使用立方体作为参照物帮助你进行导航。
相关文章
|
2月前
|
设计模式 存储 人工智能
深度解析Unity游戏开发:从零构建可扩展与可维护的游戏架构,让你的游戏项目在模块化设计、脚本对象运用及状态模式处理中焕发新生,实现高效迭代与团队协作的完美平衡之路
【9月更文挑战第1天】游戏开发中的架构设计是项目成功的关键。良好的架构能提升开发效率并确保项目的长期可维护性和可扩展性。在使用Unity引擎时,合理的架构尤为重要。本文探讨了如何在Unity中实现可扩展且易维护的游戏架构,包括模块化设计、使用脚本对象管理数据、应用设计模式(如状态模式)及采用MVC/MVVM架构模式。通过这些方法,可以显著提高开发效率和游戏质量。例如,模块化设计将游戏拆分为独立模块。
168 3
|
2月前
|
图形学 开发工具 git
Unity与版本控制:游戏开发团队如何利用Git打造高效协作流程,实现代码管理的最佳实践指南
【8月更文挑战第31天】版本控制在软件开发中至关重要,尤其在Unity游戏开发中,能提升团队协作效率并避免错误。本文介绍如何在Unity项目中应用版本控制的最佳实践,包括选择Git、配置项目以排除不必要的文件、组织项目结构、避免冲突、规范提交信息以及使用分支管理开发流程,从而提高代码质量和团队协作效率。
171 1
|
3月前
|
图形学 机器学习/深度学习 人工智能
颠覆传统游戏开发,解锁未来娱乐新纪元:深度解析如何运用Unity引擎结合机器学习技术,打造具备自我进化能力的智能游戏角色,彻底改变你的游戏体验——从基础设置到高级应用全面指南
【8月更文挑战第31天】本文探讨了如何在Unity中利用机器学习增强游戏智能。作为领先的游戏开发引擎,Unity通过ML-Agents Toolkit等工具支持AI代理的强化学习训练,使游戏角色能自主学习完成任务。文章提供了一个迷宫游戏示例及其C#脚本,展示了环境观察、动作响应及奖励机制的设计,并介绍了如何设置训练流程。此外,还提到了Unity与其他机器学习框架(如TensorFlow和PyTorch)的集成,以实现更复杂的游戏玩法。通过这些技术,游戏的智能化程度得以显著提升,为玩家带来更丰富的体验。
61 1
|
2月前
|
图形学 开发者
透视与正交之外的奇妙视界:深入解析Unity游戏开发中的相机与视角控制艺术,探索打造沉浸式玩家体验的奥秘与技巧
【8月更文挑战第31天】在Unity中,相机不仅是玩家观察游戏世界的窗口,更是塑造氛围和引导注意力的关键工具。通过灵活运用相机系统,开发者能大幅提升游戏的艺术表现力和沉浸感。本文将探讨如何实现多种相机控制,包括第三人称跟随和第一人称视角,并提供实用代码示例。
124 0
|
2月前
|
图形学 开发者
【独家揭秘】Unity游戏开发秘籍:从基础到进阶,掌握材质与纹理的艺术,打造超现实游戏视效的全过程剖析——案例教你如何让每一面墙都会“说话”
【8月更文挑战第31天】Unity 是全球领先的跨平台游戏开发引擎,以其高效性能和丰富的工具集著称,尤其在提升游戏视觉效果方面表现突出。本文通过具体案例分析,介绍如何利用 Unity 中的材质与纹理技术打造逼真且具艺术感的游戏世界。材质定义物体表面属性,如颜色、光滑度等;纹理则用于模拟真实细节。结合使用两者可显著增强场景真实感。以 FPS 游戏为例,通过调整材质参数和编写脚本动态改变属性,可实现自然视觉效果。此外,Unity 还提供了多种高级技术和优化方法供开发者探索。
50 0
|
2月前
|
图形学 开发者 UED
Unity游戏开发必备技巧:深度解析事件系统运用之道,从生命周期回调到自定义事件,打造高效逻辑与流畅交互的全方位指南
【8月更文挑战第31天】在游戏开发中,事件系统是连接游戏逻辑与用户交互的关键。Unity提供了多种机制处理事件,如MonoBehaviour生命周期回调、事件系统组件及自定义事件。本文介绍如何有效利用这些机制,包括创建自定义事件和使用Unity内置事件系统提升游戏体验。通过合理安排代码执行时机,如在Awake、Start等方法中初始化组件,以及使用委托和事件处理复杂逻辑,可以使游戏更加高效且逻辑清晰。掌握这些技巧有助于开发者更好地应对游戏开发挑战。
104 0
|
2月前
|
图形学 开发者 搜索推荐
Unity Asset Store资源大解密:自制与现成素材的优劣对比分析,教你如何巧用海量资产加速游戏开发进度
【8月更文挑战第31天】游戏开发充满挑战,尤其对独立开发者或小团队而言。Unity Asset Store 提供了丰富的资源库,涵盖美术、模板、音频和脚本等,能显著加快开发进度。自制资源虽具个性化,但耗时长且需专业技能;而 Asset Store 的资源经官方审核,质量可靠,可大幅缩短开发周期,使开发者更专注于核心玩法。然而,使用第三方资源需注意版权问题,且可能需调整以适应特定需求。总体而言,合理利用 Asset Store 能显著提升开发效率和项目质量。
63 0
|
3月前
|
开发者 图形学 API
从零起步,深度揭秘:运用Unity引擎及网络编程技术,一步步搭建属于你的实时多人在线对战游戏平台——详尽指南与实战代码解析,带你轻松掌握网络化游戏开发的核心要领与最佳实践路径
【8月更文挑战第31天】构建实时多人对战平台是技术与创意的结合。本文使用成熟的Unity游戏开发引擎,从零开始指导读者搭建简单的实时对战平台。内容涵盖网络架构设计、Unity网络API应用及客户端与服务器通信。首先,创建新项目并选择适合多人游戏的模板,使用推荐的网络传输层。接着,定义基本玩法,如2D多人射击游戏,创建角色预制件并添加Rigidbody2D组件。然后,引入网络身份组件以同步对象状态。通过示例代码展示玩家控制逻辑,包括移动和发射子弹功能。最后,设置服务器端逻辑,处理客户端连接和断开。本文帮助读者掌握构建Unity多人对战平台的核心知识,为进一步开发打下基础。
113 0
|
3月前
|
开发者 图形学 C#
深度解密:Unity游戏开发中的动画艺术——Mecanim状态机如何让游戏角色栩栩如生:从基础设置到高级状态切换的全面指南,助你打造流畅自然的游戏动画体验
【8月更文挑战第31天】Unity动画系统是游戏开发的关键部分,尤其适用于复杂角色动画。本文通过具体案例讲解Mecanim动画状态机的使用方法及原理。我们创建一个游戏角色并设计行走、奔跑和攻击动画,详细介绍动画状态机设置及脚本控制。首先导入动画资源并添加Animator组件,然后创建Animator Controller并设置状态间的转换条件。通过编写C#脚本(如PlayerMovement)控制动画状态切换,实现基于玩家输入的动画过渡。此方法不仅适用于游戏角色,还可用于任何需动态动画响应的对象,增强游戏的真实感与互动性。
88 0
|
3月前
|
开发者 图形学 iOS开发
掌握Unity的跨平台部署与发布秘籍,让你的游戏作品在多个平台上大放异彩——从基础设置到高级优化,深入解析一站式游戏开发解决方案的每一个细节,带你领略高效发布流程的魅力所在
【8月更文挑战第31天】跨平台游戏开发是当今游戏产业的热点,尤其在移动设备普及的背景下更为重要。作为领先的游戏开发引擎,Unity以其卓越的跨平台支持能力脱颖而出,能够将游戏轻松部署至iOS、Android、PC、Mac、Web及游戏主机等多个平台。本文通过杂文形式探讨Unity在各平台的部署与发布策略,并提供具体实例,涵盖项目设置、性能优化、打包流程及发布前准备等关键环节,助力开发者充分利用Unity的强大功能,实现多平台游戏开发。
94 0