零基础入门 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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IMWeb前端团队

setTimeout的那些事

如果懂setTimeout,可以直接看第3节,前面两节也可以当段子看一下。 如果不是很懂setTimeout,看下1,2两节应该会有一些收获。 1 Java...

31000
来自专栏美丽应用

自改:(对编程友好的)百度手机输入法皮肤

26130
来自专栏腾讯NEXT学位

【干货】解剖小程序的 setData

双线程的渲染机制、通信机制,setData 的出现、工作原理、使用建议等,应该要怎么去理解呢?

89030
来自专栏Java技术分享

IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!)

1. -----------自动代码--------  常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boi...

36690
来自专栏前端知识分享

第136天:Web前端面试题总结(理论)

  a. 请求数量:合并脚本和样式表,CSS Sprites,拆分初始化负载,划分主域

62640
来自专栏小狼的世界

自定义地址栏与收藏夹中的图标

favicon 在英文中有几个别名,叫做 shortcut icon,website icon,tab icon,URL icon,bookmark icon,...

20750
来自专栏代码GG之家

android这些UI库,再不看你就OUT了

项目地址: https://github.com/luxiaoming/awesome-android-ui 本文推荐一些常用的UI库,...

36250
来自专栏菩提树下的杨过

silverlight3的"伪"3D续--图片横向轮换

上一篇里,已经知道了“伪3D”是怎么回事,今天结合以前的做的图片广告轮换,又弄了一个图片切换的小东东,不知道以后有什么用,先贴在这里备份: 效果图: ? 因为s...

23090
来自专栏非著名程序员

拖拽,自由组合,让你的开发更加简单,用户更方便

今天给大家推荐一个自由拖拽,自由组合的控件,这个控件是我自定义写的。通过它,我们可以自由拖拽,自由组合实现一个界面,满足一个用户自由组合界面的需求。这里不是通过...

24960
来自专栏美丽应用

SkyOlin助手:使应用窗口化的黑科技

23230

扫码关注云+社区

领取腾讯云代金券