Unity开启篇(一) —— Unity界面及创建第一个简单的游戏 (一)

版本记录

版本号 时间
V1.0 2018.12.03 星期一

前言

Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布游戏至WindowsMacWiiiPhoneWebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。网页游戏 坦克英雄和手机游戏王者荣耀都是基于它的开发。
下面我们就一起开启Unity之旅。

开始

本文主要是了解Unity界面以及如何使用Unity入门教程在Unity中创建第一个游戏。

当我第一次开始研究iOS游戏开发时,Xcode(在SpriteKit之前)让游戏开发变得非常具有挑战性。 另一方面,Unity拥有强大的可视化编辑器,并且还能够发布到移动设备。 展望未来,其asset store和出色的开发者社区确实使Unity成为一个非常引人注目的选择。

今天,它可以吹嘘使用Unity制作的游戏比任何其他游戏技术更多。 并且支持近30个平台,包括移动,VR,桌面和控制台!

Brian MoakleyUnityLego工具进行了比较。 老实说,我想不出更好的比喻。 正如您将在这里学到的,Unity采用了一个梦幻般的模块化系统来构建游戏中的场景和角色。 即使你刚刚开始,您仍然可以使用基本的乐高积木制作一个非常棒的太空船。

或者,如果您准备好仅为成年人使用“高度复杂的联锁砖系统”,Unity可让您自定义几乎任何组件,例如编写自己的着色器或重写网络堆栈以满足您的游戏需求!

这是一系列Unity教程中的第一个,旨在帮助您加快速度,当你熟悉引擎环境和工具时,你会坚持使用spaceport,而后续的教程将关注每个子系统的细节。

在这个Unity教程中,您将学习以下内容:

在这个Unity教程中,您将学习以下内容:

  • 如何安装Unity以及四个不同版本之间的差异。
  • 构成Unity界面的不同视图是什么。
  • 如何在“场景”视图(Scene view)中导航。
  • 如何添加和操作GameObjects及其组件

本教程的第一部分是关于熟悉Unity用户界面的内容。

在接下来几篇中,您将运用这些知识来创建您的第一个游戏,一个小型太空射击游戏。 你将在已有的内容帮助下完成这项工作,它提供了所有脚本和一些模型,因此您可以更专注于Unity界面。

本教程适用于那些几乎没有Unity经验的人。 理想情况下,您应该有一些编程经验,但如果没有,请不要冒汗 - 我们将引导您完成整个过程!

本教程的第一步是download Unity here。 但是等等 - 有四个不同的版本:你应该选择哪个版本?

所有版本的Unity都可以为您提供相同的引擎功能。Personal免费(如beer),Plus每月35美元,Pro每月125美元,并有一个Enterprise版本,您的自定义需求将决定订阅价格点。

最明显的区别是使用个人版本创建的游戏必须以Unity启动画面开始,而任何付费版本都允许您删除启动画面或创建自己的自定义启动画面杰作。

此外,Unity的各种服务层(例如Cloud build and analytics)在每个价位都会被解锁。

Unity对如何使用Personal版有一些非常严格的规定;在您开始编写下一个杀手级Unity应用程序之前,请务必查看Unity的 Unity FAQ以了解您是否有资格使用它。

为了遵循教程,Personal Edition就足够了,因此请单击Free Download按钮。这将引导到下载页面。只需单击巨大的Download installer按钮即可。

运行安装程序并按照屏幕上的说明进行操作,这意味着单击Continue并接受许可协议。 等待安装完成然后启动Unity;在您可以继续之前,系统会提示您登录:

如果您还没有账户,则需要创建一个免费的Unity帐户才能使用该软件。 要创建Unity帐户,请单击create one链接并填写以下表单:

每次使用Unity时都必须登录,但它确实提供了离线模式以备不时之需。

创建帐户,登录Unity并确认所有许可证详细信息后,项目对话框将自动显示。 它允许您创建一个新项目,看起来像这样:

单击New project按钮,你会看到对话框切换到以下内容:

  • 1) 将项目命名为Space Debris并在硬盘上选择一个位置进行保存。
  • 2) 您会注意到有几个选项:3D2D,以及Unity Analytics的切换。 2D或3D选项确定编辑器的初始配置;如果您决定更改游戏类型,可以稍后更改这些设置。 现在,选择3D
  • 3) Asset packages按钮允许您将自定义包导入项目中。 例如,如果您正在制作第一人射击游戏,您可能需要导入Unity的第一人称控制器包(Unity’s first-person controller package)

这只是项目创建时的一个便利功能;您可以在项目的生命周期中随时导入包。 对于本教程,您不需要任何standard assets

  • 4) Unity Analytics可以保留为Off,因为我们不会在本教程中介绍它。
  • 5) 最后点击Create project,Unity将打开你的第一个项目。

Breaking Down the Interface - 分解界面

Unity首次打开时,您会看到一个如下所示的窗口:

一开始界面可能有点乱。 深吸一口气,告诉自己会好起来的!界面可高度自定义,可根据需要为您提供尽可能多的信息。

在右上角,您将看到五个按钮。 选择右侧的最后一个,称为em> Layout Dropdown,然后从选项列表中选择2 by 3选项:

您的编辑器现在应该如下图所示,并具有以下部分:

以下是各部分的细分:

1. Scene View - 场景视图

Scene view是您构建游戏的地方; 它是您添加构成游戏的所有模型,相机和其他部件的地方。 这是一个3D窗口,您可以在视觉上放置您正在使用的所有资产,如下所示:

当您在Unity中测试游戏时,场景视图将使用当前游戏的状态更新自己,您甚至可以即时向场景中添加新元素。 当您停止游戏时,场景视图将恢复到其原始状态。 您在玩游戏时对场景视图所做的任何更改都将在停止时丢失。

2. Game View - 游戏视图

游戏视图代表玩家对游戏的视角。 在这里你可以玩你的游戏,看看它的各种机制如何相互协作:

游戏视图有一个宽高比选择器,可让您更改视图的尺寸以匹配特定屏幕宽高比(例如4:3,16:9,16:10 ......)或设备屏幕尺寸(例如 一部iPhone或iPad。 这使您可以确保它在您想要支持的所有宽高比和分辨率上看起来很好,并且不会切掉任何重要内容。 您可以使用下拉列表底部的加号按钮添加自定义宽高比。

3. Hierarchy window - 层次结构窗口

Hierarchy窗口包含游戏中使用的所有当前GameObject的列表。但什么是GameObject?这很简单:GameObject是游戏中的一个对象。

好吧,他们还有更多的东西!实质上,GameObjects是空容器,您可以通过添加组件来自定义它们。组件允许GameObjects投影几何体(从简单的立方体到塔或怪物的更复杂的3D模型),发光,充当相机,甚至通过脚本创建复杂的行为。

GameObjects也可以像包含其他GameObjects的文件夹一样,这使得它们对于组织场景非常有用。您将在本教程的第二部分中看到GameObjects的运行情况。

场景(scene)通常代表您游戏的单个级别,但理论上您可以将整个游戏放在一个场景中。在当前场景中主动在游戏中使用的任何GameObject都将出现在Hierarchy窗口中:

每个新场景都以主摄像头(Main Camera )和定向光(Directional Light)开始,它们都是GameObjects

从层次结构中删除GameObject时,您实际上是从场景中删除它。

随着你的场景随着许多GameObjects而增长,搜索栏将被证明是一个非常宝贵的工具:

4. Project window - 工程窗口

Project窗口包含游戏使用的所有资源。 您可以按文件夹组织资源,当您希望使用它们时,只需将这些资源从“项目”窗口拖动到“层次结构”窗口即可。 或者,您可以将它们从Project window拖动到Hierarchy window。 如果将文件从计算机拖到Project window中,Unity将自动将这些文件作为资源导入。

Unity在Project window中组织资源与OS文件系统相同。 您可能想直接在文件系统中而不是在Project window中进行更改,但这是一个很大的错误,会破坏您的资源 - 并可能打破您的游戏!

Unity维护每个资产的元数据,因此在文件系统上的文件夹之间移动资产会破坏元数据。 如果您需要对资产进行任何组织更改(尤其是预制件),请始终在“项目”窗口中执行这些更改。

5. Inspector window - Inspector窗口

Inspector窗口允许您配置任何GameObject。 当您在Hierarchy中选择GameObject时,Inspector将列出该GameObject的所有适当组件及其属性;例如,灯将具有色场以及强度场。 您还可以在玩游戏时更改GameObjects上的值。

6. Toolbar - 工具条

您可以使用工具栏操作Scene view中的各种GameObjects。 在开发游戏时,你会经常使用以下工具,所以通过在空项目中尝试所有这些工具来熟悉它们!

但是,您将无法在empty Scene中很好地看到效果。 所以在场景中添加一个简单的Cube

  • 1) 从Unity菜单打开GameObject下拉列表。
  • 2) 选择3D Object下拉列表。
  • 3) 从可用对象列表中选择Cube。 在您浏览工具栏选项时,这将为您提供可视参考点。

注意:如果在尝试选项时丢失了Cube的跟踪,只需在Hierachy View中双击Cube GameObject即可。 这将在Scene View中为您居中。

Hand tool是一个“方便”的工具内置了一系列有用的功能:

选择Hand tool工具,然后在Scene view上拖动以平移整个场景:

右键单击并拖动以围绕当前位置旋转摄像机;请注意手形图标转换为眼睛:

接下来,按住Ctrl(或Cmd)Alt(或Option),右键单击并向上移动鼠标以放大场景。 向下移动鼠标会缩小。 或者,如果你想以简单的方式做到这一点,只需使用滚轮:

最后,按住鼠标右键并使用WASD键在场景中移动,就像在第一人称射击游戏中一样。 同样,您可以分别按EQ来上下移动。 要更快地移动,也请按住Shift键:

手形工具的默认快捷键是Q。要快速跳转到手形工具,请按鼠标中键。 释放后,您将返回到之前使用的工具。

Translate tool允许您在场景中选择和定位GameObject

您会注意到当Translate Tool处于活动状态时选择GameObject时,您会看到三个彩色箭头从其中心开始生长。 这些箭头表示对象的三维轴:x轴是红色箭头,y轴是绿色箭头,z轴是蓝色箭头:

Unity的坐标系是左撇子(left-handed)。有关左手和右手坐标系的更深入解释,请查看有关不同坐标系的这篇interesting article文章。

注意:这组三个彩色箭头在Unity-speak中被称为Gizmo。 Gizmo是3D几何或纹理,提供有关GameObject的信息。

在这种情况下,Gizmo指示每个轴的方向。当您了解有关Unity的更多信息时,您将能够添加自己的小玩意来指示诸如生成点,相机位置甚至风向等事物。关于小玩意的好处是它们只显示在Scene View中,你可以在它们不再需要时关闭它们。

使用Translate tool可以通过多种方式移动GameObject。您可以选择其中一个箭头(选中时将变为黄色),然后移动鼠标;GameObject只会在那一个轴上移动。例如,如果您选择y轴并在面向正常方向时移动对象,则GameObject将仅向上或向下移动。

Detailed view of the three axis and the three planes that you can select to move the GameObject

GameObject中心的三个彩色平面允许您在两个轴上移动GameObject;方块的颜色表示它将在哪个平面上移动。 例如,绿色方块表示您可以在y平面上移动对象(这意味着它可以在x和y轴上移动):

translate tool的默认快捷键是W

不出所料,rotate tool可让您旋转对象:

当您选择要旋转的对象时,您会注意到三条球形彩色线条;这些线表示轴旋转。 只需选择该行并拖动鼠标即可旋转GameObject。 要在不受轴约束的情况下自由旋转,请选择线条之间的空间并移动鼠标:

Select one of the colored lines to rotate around that axis

旋转工具的默认快捷键是E

Scale tool允许您沿单个轴或按比例在所有轴上缩放GameObject

要沿轴缩放对象,请选择GameObject,然后拖动轴线的方形端;GameObject将沿着该轴缩放。 要缩放整个GameObject,请选择GameObject的中心点并向前或向后拖动鼠标以分别向上或向下缩放GameObject

Scaling details; select one of the three axis to scale along that axis or the cube at the center of the axis to scale proportionally

缩放工具的默认快捷键是R

注意:有些人可能会对快捷键感到有些困惑。 你假设Scale快捷键是S键而不是R。信不信由你,有一种疯狂的方法。 您是否注意到快捷键中的熟悉模式......也许就在您的指尖?

是的,这是键盘的顶行!Unity假设你用右手使用鼠标,用左手键盘。 您的手指在主行上休息,将在ASDF键上。 您会注意到工具栏的每个快捷键对应于原始位置上方的键。 工具栏的键盘快捷键对应于QWERT键,从左到右。

不幸的是,偶尔您会尝试按W键但是错误地按下2键。 这使编辑器进入2D模式,看起来很像这样:

在2D模式下,物体会失去深度

当发生这种情况时,只需再次按2,编辑器将恢复为3D模式。

Rect tool主要用于2D GameObjectsUser Interface (UI) GameObjects,尽管您也可以在3D GameObjects上使用它。

该工具可以调整大小,缩放和旋转2D资源,还可以重置枢轴点,该点是对象的旋转中心点。 枢轴点由资源上的大圆圈表示:

你能猜出它的默认快捷键吗? 没错,这是T

gizmo display toggles往往是一个混乱点;事实上,它们不仅仅是按钮,它们是切换开关,用于控制如何在场景中定位小玩意。

第一个开关在CenterPivot模式之间切换。 在中心模式下,如果选择两个GameObjects,则Gizmo将放置在两个对象的中心。 旋转GameObjects会围绕中心Gizmo旋转它们。 在枢轴模式下,每个GameObject围绕其自己的轴点旋转,如下图所示:

第二个开关在GlobalLocal空间之间切换。 在全局模式中,您从周围世界的角度操纵对象。 x轴从左到右,y轴上下移动,z轴像往常一样前进和后退。 切换到本地模式可以从对象本身的坐标系中进行,并更改轴以匹配实际GameObject的坐标系:

7. Play Buttons

Play Buttons可让您开始和停止游戏。 第一个按钮是播放按钮:

单击Play button会发生一些事情;首先,您的游戏将按预期开始。 按钮组也将变为蓝色以指示游戏正在运动:

整个设计界面也变暗,表明游戏处于活动状态:

The top image is the editor while making the game whereas the lower image is the game being played

请记住,一旦您停止游戏,您在飞行中所做的任何更改都将丢失。 对于Unity初学者和常客来说,运行游戏并做出一堆变化是一个常见的错误 - 当游戏停止时,这些变化都会消失! 界面调光应该有助于提醒你这个不幸的事实,但我发现色调过于微妙,无法一直提醒我。

谢天谢地,您可以更改此着色以适应。

  • 1) 打开Unity首选项窗口。
  • 2) 选择左侧的Colors选项卡,您将在Colors部分中看到可在界面中自定义的颜色列表:

Playmode色调字段控制界面的调光颜色。

  • 3) 您可以通过单击指定区域来选择任何颜色。
  • 4) 要重置为原始颜色,只需单击Use Defaults按钮。

接下来是Pause按钮:

这会暂停您的游戏并让您对游戏进行修改。 就像在游戏模式中一样,一旦你停止游戏,这些修改就会丢失。 在游戏期间编辑游戏对象并暂停作为作弊和平衡系统,允许您在游戏中进行实验而不会有永久性破坏它的危险。

最后是Step按钮:

这使您可以一次一帧地浏览游戏;当您想要逐帧观察动画时,或者想要在游戏过程中检查特定GameObjects的状态时,它很方便:

8. Miscellaneous Editor Settings - 其他编辑器设置

最终处理编辑器的各个方面。 第一个是Collab下拉列表。 找到工具栏的右侧:

这是Unity的最新服务之一,可帮助大型团队无缝协作完成单个项目。

下一个按钮是Services按钮。 您可以在Services按钮中为游戏添加其他Unity服务。 单击该按钮将提示您创建的Unity Project ID

添加Project ID后,您就可以向项目添加服务。 例如,您可以将云构建添加到项目中。 这会自动为您构建项目,因此您无需等待每个项目构建。 您还可以添加Analytics, In-Game Ads, Multiplayer支持, In-App Purchasing, Performance Reporting and Collaborate…,嗯...,如果您错过了上一个按钮。

您还可以将团队成员添加到项目中,设置年龄限制以及更改一些重要的项目设置。

接下来是Account按钮,这可让您管理您的Unity帐户。 它允许您查看帐户数据,登录和注销以及升级:

第四个按钮是Layers按钮。

您可以使用图层来阻止GameObjects的渲染,或者从碰撞等物理事件中排除GameObjects

最后一个按钮,Layouts允许您在编辑器中创建和保存视图布局,并在它们之间切换。 Unity可以自定义,并且布局中的每个不同视图都可以调整大小,停靠,移动甚至从编辑器中删除:

Watch as windows auto snap and dock as you drag them, alternatively you can keep them floating or drag them onto another monitor if you have a multi monitor setup!

不过不用担心 - 您始终可以将已删除的视图添加回界面。 这使您可以自定义特定任务的编辑器。 例如,您可能不希望在处理动画时打开游戏视图,但您更喜欢将AnimatorAnimation Views并排打开。

每次想要这种特定布局时重新排列窗口都会很快变得烦人。 通过让您保存布局,Unity可以让您摆脱困境,您可以随时通过Layouts按钮切换到布局。 使用Window菜单项可以轻松打开新的窗口:

Layouts can be saved and recalled using the Layout button. Unity comes with a few pre-defined layouts, such as the 2 by 3 layout and Wide layouts. The Window option from the menubar provides a list of views that you can add to your editor

当您在Unity中处理游戏时,您会发现自己创建了许多不同的布局来支持您的各种开发任务。

这涵盖了您在制作游戏时使用的大部分视图,但除此之外还有更多视图。 您可以在Unity documentation中查看它们。

后记

本篇主要讲述了Unity界面及创建第一个简单的游戏,感兴趣的给个赞或者关注~~~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容