专栏首页韩东吉的Unity杂货铺零基础入门 4: 窗口介绍(完)

零基础入门 4: 窗口介绍(完)

上一篇将Unity里几个比较重要的窗口先进行了讲解,以及如何自定义窗口布局,不知道大家都消化的怎么样,今天这篇窗口介绍,将把剩余window的窗口一一进行介绍。

友情提醒:公众号内的文章经常会有一部分是利用动图展示的,这样比较方便大家更直接的观看理解,所以如果在非wifi环境下观看时,动图应该不会被自动缓存,所以如果想要查看动图效果,需要点击一下带有动图二字的图片即可加载,如果wifi下应该会自动缓存播放的。

剩余窗口介绍按照下图顺序进行讲解


Animation:动画窗口

Animation是Unity的动画窗口,让使用者在窗口内对任何对象进行动画控制,如位移、旋转、缩放、等等等等其自身拥有属性都可以进行动画设置。在工作中使用频率还算中等,需要大家进行掌握。

打开方式:

1、window菜单栏打开

2、快捷键打开,Ctrl+6(Windows)Command+6(Mac)

首先我们来看看Animation窗口是什么样子的,通过下图来动态显示一下两种打开方式。

我大概用两种对象(3D的cube和2D的UI)来简单举例一下,对Animation窗口的简单使用方式。

首先,我们在Hierarchy窗口里创建一个Cube。

大家可以结合我们上一篇的知识,如下图一样,创建一个Cube。

我们需要先明确一点,就是如果想要通过Animation窗口创建一个动画,首先要选择一个场景里的对象才可以。

比如我们现在谁都不选,然后打开Animation窗口,他会提示你,没有选择要添加动画的对象。

知道这点以后,我们先点击Cube,然后打开Animation窗口,创建一个Animation动画,选择一个动画的目录,并且动画取名为FirstAnim。

实际操作如下图:

在任何一个对象上创建Animation。这个对象身上都会增加一个叫做Animator的组件。

当点选对象上存在Animator组件时,打开动画窗口会直接显示编辑窗口而非创建窗口。

实际操作如下图,我先点选了没有动画的摄像机对象,然后打开Animation窗口,弹出窗口提示让我去创建新的动画。而点击有动画的Cube对象时,直接弹出动画编辑窗口。

动画的编辑窗口可以设置很多动画属性,点击Add Property即可。下图我以Cube和2d UI对象分别举例对Animation动画的创建使用。

如下图实际操作,点击Cube。增加动画属性,增加位移控制。

首先我们增加一个动画位置属性。我们可以在动画轴里拖动时间轴。

然后设置起始和末尾的位置属性。

通过上图做了一个简单的cube位置动画。

接下来我们创建一个2D UI,Image。来通过Animation修改Image的透明度。

如下图实际操作,Hierarchy的Create菜单创建一个Ugui的Image对象。

然后我们为Image增加一个Animation。并且修改Image的颜色为大红色。

之后就可以在Animation窗口里增加一个颜色属性了。然后准备调整贴图的透明度。

实际操作如下图,在动画轨迹上双击可以快速增加关键帧。


Profiler:分析窗口

Profiler是Unity的分析器窗口,用来观察当前运行期间项目的一些参数,比如说内存,DrawCall等等参数。也是调试期间比较重要的一个窗口。

打开方式:

1、window菜单栏打开

2、快捷键打开,Ctrl+7(Windows)Command+7(Mac)

当我们在实际工作中,经常会需要查看当前运行期间的一些调试工作,比如说查看当前场景内的DrawCall数,以及哪里影响了卡顿等情况,此时Profiler窗口就派上了用场,我们先来简单认识一下这个窗口。

然后我们运行游戏,再次打开Profiler即可查看一些设置。

运行后可以看到一些属性例如渲染,CPU、内存等等运行属性。


Audio Mixer:音效混合器窗口

Audio Mixer是Unity5的音效混合器窗口,通过Audio Mixer可以实现音频的局部混合以及其他效果处理。所有的音频都会混合在AudioListener中,可以指定某个音频的AudioGroup等等。是蛮实用的音频处理效果器。

打开方式:

1、window菜单栏打开

2、快捷键打开,Ctrl+8(Windows)Command+8(Mac)

我们先来打开看看这个音效混合器的界面。然后在项目里随意添加几个音效资源。默认的空项目打开窗口后是没有音效混合器的。如下图:

我们先随意添加一些音频文件到项目中

然后在音效混合器窗口内创建我们的第一个Mixers。

实际操作如下图。创建第一个且命名为FirstMixers,此时我们可以看下Project窗口里就已经出现了我们新创建的Mixers。

在音效混合器窗口打开我们创建的第一个,然后可以在内部增加一些Group等等。

实际操作如下图:

创建两个Group分别命名为First和Second。以及在Project视图内的效果

关于音效混合器,因为涉及到的内容比较多,并不是很适合在这种窗口介绍的篇幅内过多描述。所以我在这里贴上UnityChina官方论坛里的技术贴,专门介绍Audio Mixers相关技术应用。

http://forum.china.unity3d.com/thread-846-1-1.html


AssetStore:资源商店

AssetStore是Unity的资源商店窗口,通过该窗口可以查看、下载、购买Unity相关资源插件。

打开方式:

1、window菜单栏打开

2、快捷键打开,Ctrl+9(Windows)Command+9(Mac)

打开AssetStore需要连接Unity资源商店服务器,有时会因为网络原因导致无法打开。

打开如下图所示实际操作,我们通过window菜单栏打开AssetStore窗口,查看了语言切换菜单,资源列表,账号信息,并且以EasyTouch为例进行了搜索展示等。


Version Control:版本控制

VersionControl是Unity的版本控制窗口,默认的情况下是灰色不可点的,初学者可以把它理解成是Unity内部自带的SVN工具,可以通过服务器连接设置,控制项目版本资源等。

默认不可点。

打开方式:

1、window菜单打开,无快捷键

打开如下图所示

如果想要查看这个菜单打开之后的样式,还需要以下几个操作步骤

如下图实际操作,我们此时的VersionControl是不可使用的,然后我们点击Edit菜单栏,然后找到Project Setting,然后选择子菜单Editor后点击。

在右侧的Inspector面板中,将Version Control的Mode从默认的Hdie修改成Asset Server。这样就相当于给当前Unity项目指定一个资源服务器。也就类似于Unity自带的SVN功能,最后我们重新点开Window,versionControl就可以点击了,最后看到的就是AssetServer模式下的versionControl窗口。

打开后显示图如下

窗口内部有一些功能比如资源管理,连接项目,以及后期的一些增删等等操纵。可以称之为简化版的SVN。


Animator:动画控制器窗口

Animator窗口和Animation窗口并不是同样的内容,但是却都是用来控制动画的窗口。两个窗口内容也完全不同。所以大家不要搞混。

打开方式:

1、window菜单打开,无快捷键

我们首先来看一下Animator的窗口显示,如下图所示,我们通过菜单栏来打开Animator窗口。因为我们从来都没有创建过,所以打开之后是空的,animator窗口和animation一样,只有点选对象上存在animator组件才可以有显示内容。

此时我们看一下Image上的ImageAnimator。然后重新看一下animator窗口

首先我们先来看一下Image上的animator,是我们通过animation创建的animator控制器。

然后我们选择Image,通过下面的动图来显示一下重新打开Animator窗口的显示效果。

此时Animator窗口就不再是空的了,而是存在一个ImageAnim节点。

Animator在实际的工作中也是十分重要的,我们可以很简单的通过Animator以及控制Animator的一些参数,来控制一些动画的播放。

举例如,一个角色有多个动作,我们可以通过Animator制作角色控制器,并且通过不同的Param参数来控制进入条件。

我们来看一下控制参数界面。

我们可以为Animator增加几种类型的参数,一个是Float Int Bool等基础数据类型,以及Trigger来控制动画控制器。

增加参数的实际方式如下图,我分别创建了几个不同类型的参数,然后也演示了一下如何删除参数


Animator Parameter:动画参数窗口

Animator Parameter窗口是用来显示Animator的参数窗口,其实和上图里的Param是一个窗口。只是显示的方式不相同而已。

打开方式:

1、window菜单打开,无快捷键

AnimatorParameter窗口在未选定Animator对象的时候,窗口的内容是空的。如下图

此时我们重新选定Image对象,重新打开窗口,就会看到之前的动画参数。

如下图的实际操作中,我们在Hierarchy窗口中选定Image,并且打开Animator Parameter窗口,此时能看到Image上Animator的一些动画参数,然后我们在这个窗口里点击加号增加Trigger参数命名为TestT。

然后我们重新打开Animator,可以看到Animator窗口里的Param参数也已经同步发生了变化,以及后续的一些删除操作,也会同步在两个窗口里。


Sprite Packer:贴图打包窗口

SpritePacker窗口是Unity的贴图合并窗口,Unity提供了这样的一种窗口去合并Unity内部的Sprite。

打开方式:

1、window菜单打开,无快捷键

首先我们在项目内随便拖入几张资源图。然后将默认贴图从texture改为sprite。

从上图可以看出,将贴图改为Sprite的时候,有一个标签叫做packing Taging,默认里面都是空的。

我们将这俩张图都打包到一个图集里,然后打开贴图打包窗口。

如下图实际操作,打开贴图打包窗口,然后点击Pack按钮。此时就会进行贴图合并。

动图展示如下

解释下为什么要进行贴图合并:

首先理解一个概念,DrawCall,可以先认为,DrawCall越多,消耗性能越多,可能就会造成运行卡顿等情况。(因为零基础入门,所以先暂时这么理解),而之所以进行贴图合并,是因为如果不合并,那么一张贴图在场景中以image形式存在的时候,就会增加1个DrawCall。那么多个贴图就会是多个DrawCall,所以图集的合并是必要的。在Ugui里,同一个Canvas下,不同贴图也只增加1个DrawCall。

用下图实际演示下,同一个图集的贴图,在运行中,只占用1个Drawcall,大家看下图里Stats面板中的Batch值即可。


Editor Tests Runner:自动化测试管理窗口

Editor Tests Runner是Unity5.3版本中引入的一种新的自动化测试管理与运行的方式。

打开方式:

1、window菜单打开,无快捷键

使用Editor Tests Runner只需要打开窗口,并且增加几个符合项目的测试即可。

打开窗口如下:

如果项目需要构建自动测试等,可以到Unity的官方网址创建

https://build.cloud.unity3d.com/

点击窗口中的Create即可创建一个测试代码。我们命名为FirstTestRunner。然后点击RunAll即可查看测试状态。

因为篇幅原因,单元测试相关文档我列出一个链接,介绍还算详细,大家可以参考一下。

http://www.taikr.com/app.php/article/3125


Lighting:光照烘焙窗口

Lighting是Unity的光照烘焙窗口,在场景制作中,烘焙也是很重要的一个部分。

打开方式:

1、window菜单打开,无快捷键

打开窗口操作如下,可以看到Lighting里的一些设置参数。贴图,光照,天空盒,雾效等等。

点击下图中的Build,即可开始光照渲染。


Occlusion Culling:遮挡剔除窗口

OcclusionCulling窗口是只有Unity专业版才可以使用的窗口功能,当一个物体被其他物体遮挡住而不在摄像机的可视范围内时不对其进行渲染。

打开方式:

1、window菜单打开,无快捷键

依据Unity手册里对OcclusionCulling的描述,当一个物体被其他物体遮挡住而不在摄像机的可视范围内时不对其进行渲染。

遮挡剔除在3D图形计算中并不是自动进行的。因为在绝大多数情况下离 camera 最远的物体首先被渲染,靠近摄像机的物体后渲染并覆盖先前渲染的物体(这被称为重复渲染"overdraw").。遮挡剔除不同于视锥体剔除, 视锥体剔除只是不渲染摄像机视角范围外的物体而对于被其他物体遮挡但依然在视角范围内的物体,则不会被剔除。 注意当你使用遮挡剔除时你依然受益于视锥体剔除(Frustum Culling)。

如下图代表场景渲染无遮挡剔除(贴图转自圣典)

再来看下场景渲染有遮挡剔除的效果(贴图转自圣典)

如上图所示,因为遮挡剔除的关系,所以并不会去渲染被其他物体挡住或者在摄像机外的物体。

打开窗口如下图

那么如何剔除设置呢?

以场景中的Cube为例进行下图操作设置。

首先勾选两步Static

然后切换到窗口内部,点击bake即可烘焙了。

关于剔除窗口的其他解释,我觉得圣典的这篇教程也说的非常的详细。大家可以参考下。

http://www.ceeger.com/Manual/OcclusionCulling.html


Frame Debugger:帧调试窗口

FrameDebugger窗口是Unity5新加入的一个调试功能窗口,用来调试项目中的图形渲染管线。

打开方式:

1、window菜单打开,无快捷键

首先我们来看下窗口的显示内容

如上图所示,我点击Frame Debugger窗口内的Enable按钮,编辑器就会立刻捕捉当前渲染的这一帧,并且将当前所有的Draw Call显示到左边窗口里面。

FrameDebugger窗口最上边的滚动条也可以指定当前渲染到哪一个Draw Call,可以通过点击或者滑动以及按钮切换来控制不同的渲染帧。右侧的窗口内容显示的是当前Draw Call的状态信息。

实际操作如下图

在实际项目中,FrameDebugger还是很有用处的,可以很及时的帮我们定位图形渲染上的问题。


Navigation:寻路窗口

Navigation是Unity提供的寻路功能,而点击菜单navigation也可以帮助我们来烘焙地形,增加Navmesh。

打开方式:

1、window菜单打开,无快捷键

首先我们来看下窗口的显示内容

和剔除窗口设置一样,这回我们设置场景中的Plane为例。将Plane设置为地面。然后渲染NavMesh。如下图里的蓝色区域就是我们渲染后的navmesh地板。

同样Navmesh也提供了清除的功能,点击上图中的Clear即可,这里不再演示了。


Console:日志窗口

Console是我们要讲解的最后一个窗口,也是Unity比较重要的一个窗口。

打开方式:

1、window菜单栏打开

2、快捷键打开,Ctrl+Shift+C(Windows)Command+Shift+C(Mac)

Console窗口打开如下:

Console窗口会将项目的一些日志,警告,Error报红都输出在窗口内。

Console窗口内的一些菜单来解释下。

Clear,清除所有日志

Collapse,同样的日志堆叠显示

Clear On Play,在运行的时候清空之前的日志

Error Pause,当有Error出现的时候,项目暂停

右侧的三个按钮,分别代表显隐普通日志,显隐警告,显隐报红

当按钮处于点击状态即灰态时,代表显示,再次点击代表不显示对应类型日志


今天的内容可能有些多,不过Unity自带窗口介绍就这篇和上一篇,所有的窗口介绍内容已经结束了,但是既然说有彩蛋,就不能食言。

彩蛋~~~~

大家看了这么多的Unity的窗口,都是自带的,肯定有想过或者有见过,自己创建的窗口。

我贴出几张自定义窗口的图,来告诉大家不仅仅可以研究Unity自带的窗口,也可以自己实现一些自定义的窗口。

这上面的所有窗口都是自定义的。并非Unity所自带窗口,后期教程会分享如何增加自定义窗口。

今天的内容可能有些多~~~~~~~~~~~~~~~~~~~~,信息量有些大。可能对初入门的小伙伴来说,会稍微有些头疼,那么,大家在看公众号的时候就不能只是看看了,不太了解的同学要动起手来,打开Unity练习下哦。

好了,这篇分享就到这里啦。ヾ( ̄▽ ̄)Bye~Bye~

本文分享自微信公众号 - 韩东吉的Unity杂货铺(DeveloperJimin),作者:Jimin

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-11-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 零基础入门 3: 窗口介绍(一)

    前两篇介绍了Unity的环境布置,破解,平台切换。如果哪里有所遗忘可以翻看历史消息重新巩固下。

    韩东吉
  • 零基础入门 41:Hierarchy也可以这样玩

    上一篇给大家说了下Inspector如何禁用RectTransform属性修改的做法,今天就来分享下对Hierarchy的另一种操作。

    韩东吉
  • 零基础入门 35:自定义窗口

    Hello,各位小伙伴,最近公司的事务繁多,所以稍微搁置了一下更新的速度,导致很多同学都以为我被恐怖分子绑架了

    韩东吉
  • Windows窗口对象的附加数据

    Windows编程中,每一个窗口对象(HWND)都是一个窗口类(WNDCLASSEX)的实例。每个窗口类实例出来的窗口对象都按同样的方式进行处理,共享相同的回调...

    欧阳大哥2013
  • 不建议复用窗口管理对象

    窗口管理对象是应用程序通过调用它的接口可操作控制窗口资源的显示,比如MFC提供的CWindow、CDialog,开源界面库duilib提供的WindowImpl...

    gaigai
  • 《Streaming Systems》第四章-窗口

    《Streaming Systems》第四章相较于前三个章节更为复杂,倘若不是作者给出了大量的动图,恐怕大部分读者都会晕乎乎的了吧(所以强烈建议这一章观看Saf...

    哒呵呵
  • Windows窗口类

    Windows编程中,对所有的GUI组件和控件进行了分类,每种类型的实例对象都具有不同的特性,这些特性包括UI外观以及事件的处理和响应的方法。就和面向对象技术中...

    欧阳大哥2013
  • 速读原著-TCP/IP(TCP滑动窗口)

    在这个图中,我们将字节从 1至11进行标号。接收方通告的窗口称为提出的窗口( o ff e r e d w i n d o w),它覆盖了从第4字节到第9字...

    cwl_java
  • Windows程序设计笔记(二) 关于编写简单窗口程序中的几点疑惑

    在编写窗口程序时主要是5个步骤,创建窗口类、注册窗口类、创建窗口、显示窗口、消息环的编写。对于这5个步骤为何要这样写,当初我不是太理解,学习到现在有些问题我基本...

    Masimaro
  • win32程序之窗口程序,以及消息机制

      通过上一讲.我们了解了窗口其实是绘制出来的.而且是不断绘制的过程. 所以窗口的本质是绘制. 但是我们现在看到的窗口程序.都可以点击关闭按钮. 使用鼠标点击会...

    IBinary

扫码关注云+社区

领取腾讯云代金券