Unity2.7 检视器(Inspector)

Posted rainmj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity2.7 检视器(Inspector)相关的知识,希望对你有一定的参考价值。

分类:Unity、C#、VS2015

创建日期:2016-03-31

一、简介

Unity中的游戏是以包含网格、脚本、声音或灯光 (Lights) 等其他图形元素的多个游戏对象 (GameObjects) 组成。检视器 (Inspector) 显示当前所选游戏对象 (GameObjects) 的详细信息,包括所有附加组件 (Components) 及其属性。

Inspector视图用于显示在游戏场景中当前所选择对象的详细信息,以及游戏整体的属性设置,包括对象的名称、标签、位置坐标、旋转角度、缩放、组件等信息。

在Inspector视图中,每个组件都有对应的【帮助按钮】和【上下文菜单】:

image

单击【帮助按钮】(问号图标)会在安装到本机的用户手册中显示该组件相关的文档。

单击【上下文菜单】(小齿轮图标)会显示与该组件相关的选项,也可以在下拉菜单中选择Reset命令将属性值重置为默认值。

  • Transform:用户可以通过Transform组件修改对象的位置、旋转和缩放属性。
  • Mesh Filter:网格过滤器,用于从对象中获取网格信息(Mesh)并将其传递到网格渲染器中。
  • Box Collider:立方体碰撞体,为了防止物体被穿透,需要给对象添加碰撞体。一般根据坐标来计算物体的距离,然后判断是否发生了碰撞。
  • Mesh Renderer:网格渲染器从网格过滤器获得几何形状,并根据游戏对象的Transform组件的定义位置进行渲染。
  • Cast Shadow:网格是否投射阴影。
  • Receive Shadows:网格是否接收阴影。
  • Materials:设置对象的材质。

当你创建脚本时,它将作为一个自定义的组件 (Component) 类型,当该脚本组件添加到一个游戏对象 (GameObject) 中时,该脚本的成员变量将作为可直接编辑的属性 (Properties) 陈列在检视器 (Inspector) 中。通过这种方式,无需修改脚本本身就可以更改其变量。

此外,检视器 (Inspector) 也用于显示资源的导入选项,比如纹理、三维模型以及选择时的字体。某些场景和工程范围的设置也可以在检视器 (Inspector) 中查看,比如所有设置管理器 (Settings Managers)。

检视器 (Inspector) 中显示的任何属性都可以直接修改。有两种主要类型的属性:值 (Values) 和引用 (References)。值可能为光源的颜色或者矢量。引用是连接到其他对象的链接,比如纹理或其他游戏对象。

1、编辑值属性

值属性不能引用任何内容,可直接编辑。典型的值属性有数字、切换、字符串和选择弹出窗口,它们也可以是颜色、矢量、曲线和其它类型。

检视器上的值属性可以是数字、复选框、字符串…

许多值属性有一个文本字段,且可以通过点击它们、使用键盘键入一个值、然后按 Enter 键保存该值,轻松进行调整。

您也可以把鼠标放到数值属性旁边,用左键拖动以快速滚动数值

有些数值属性有一个可用于直观地调整数值的滑块。

有些值属性会弹出一个小对话框,可以用来编辑值。

(1)颜色拾取器

颜色类型的属性将打开颜色选择器 (Color Picker)。想要查找一个值时,只需将鼠标放到想要抓取的颜色上,然后使用吸管工具 (Eyedropper Tool)。\\\\ RGB /HSV 选择器可让您将红、绿、蓝的值转换为颜色的色相、饱和度和数值(强度)。

最后,通过 Alpha 通道 (Alpha Channel) 值可对所选颜色的透明度进行控制。

(2)曲线编辑器 (Curve Editor)

动画曲线 (AnimationCurve) 类型的属性将打开曲线编辑器 (Curve Editor)。曲线编辑器 (Curve Editor) 可让您编辑曲线或选择一种预先设置。

由于旧版本原因,该类型叫做动画曲线 (AnimationCurve),但它可以用来定义任何自定义曲线功能。该功能可在脚本运行时进行评估。 动画曲线 (AnimationCurve) 属性在检视器中显示为一个小预览图:

image

点击它即可打开曲线编辑器 (Curve Editor):

image

曲线编辑器 (Curve Editor) 用来编辑动画曲线 (AnimationCurves)。

循环模式 (Wrapping Mode) 可让您在曲线中选择 Ping Pong、Clamp 和 Loop 控制键。

预置 (Presets) 可让您将曲线修改为其可以拥有的默认轮廓。

(3)渐变编辑器

在图形和动画中,能够从空间或时间上将一种颜色混合入另一种颜色是一项非常有用的功能。渐变是颜色变化的直观表示,只显示主要颜色(称为起止颜色)和它们之间的所有临界色调。在 Unity 中,渐变拥有自己的特殊值编辑器,如下所示。

image

沿渐变条底部的上指箭头表示起止颜色。单击它即可选择一种起止颜色;其值将显示在颜色框中,单击时颜色框将打开标准颜色选择器。单击渐变条下方,即可创建一种新的起止颜色。单击并拖动即可更改任何起止颜色的位置,按 ctrl/cmd + delete 可删除一种起止颜色。

渐变条上方的下指箭头也是起止颜色,但它们与该点渐变的 alpha(透明度)对应。默认情况下,有两种起止颜色设置为 100% alpha(即完全不透明),但任意数量的起止颜色与颜色起止点的添加和编辑方式大致相同。

(4)数组

你所编写的脚本可以在检视器 (Inspector) 排列原始的 .Net 数组。当检视器 (Inspector) 遇到数组时,它会让您编辑数组的长度。默认长度为零。当大小设置为大于零时,检视器 (Inspector) 会创建槽,您可在槽中输入数组元素的值。如果数组存储 Unity 已知类型的数据,它将插入合适的值编辑器。例如:

var pickupColors : Color32[];

会为数组中的每个元素生成一个颜色选择器编辑器。

2、指定引用

引用属性是这样一种属性,它可以引用其他对象,例如游戏对象 (GameObjects)、组件 (Components) 或资源 (Assets)。引用槽将显示可用于该引用的对象类型。例如,音频剪辑 (Audio Clip) 属性槽显示它可以引用的音频剪辑 (Audio Clip) 类对象:

image

现在音频剪辑 (Audio Clip) 属性中引用了一个音频剪辑 (Audio Clip)文件。

类引用非常迅速且强大,使用脚本时尤其如此。

(1)拖放

可以通过拖放或使用对象选取器 (Object Picker) 为引用属性指派对象。

你可以在场景视图 (Scene View)、层级视图 (Hierarchy) 或工程视图 (Project View) 中选择所需对象,然后将它拖到引用属性槽,即可完成拖放。

如果一个引用属性接受一种特殊的组件 (Component) 类型(例如变换组件 (Transform)),那么将游戏对象 (GameObject) 或预设 (Prefab) 拖到引用属性上也能很好地工作,前提条件是该游戏对象 (GameObject) 或预设 (Prefab) 包含正确类型的组件。尽管这是一个您拖过来的游戏对象 (GameObject) 或预设 (Prefab),属性仍会引用这一组件。

如果您将对象拖到引用属性上,而对象是错误类型或者没有包含正确的组件,那么您将不能够为引用属性指定该对象。

(2)对象选取器

您可以单击引用槽旁边的小目标图标来打开对象选取器 (Object Picker)。

对象选取器 (Object Picker) 是一个简单窗口,可以让你在预览和搜索到可用对象之后在检视器中指派这些对象。

尽管对象选取器 (Object Picker) 简单易用,但您也应了解如下的说明事项。下图是对象选取器 (Object Picker) 的界面说明:

image

  • 搜索:当选取器中有很多对象时,您可以使用“搜索”字段进行筛选。该“搜索”字段也可以使用标签搜索对象。
  • 视图选择器:切换场景和资源中对象的搜索库。
  • 预览大小:该水平滚动条可让您在预览窗口中增大/减小预览对象的大小。通过该滚动条,您可以随时在预览窗口中看到更多或更少的对象。
  • 预览窗口:这里有“搜索”字段筛选出的“场景/资源”文件夹中的所有对象。
  • 对象信息:显示当前选中对象的信息。该字段的内容取决于所查看的对象类型,例如,如果您选择一个网格,它会告诉您顶点和三角形的数量、是否有 UV、是否有蒙皮。然而,如果您选择一个音频文件,它会为您提供音频比特率、长度等信息。
  • 对象预览:这也取决于您所查看的对象类型。如果您选择一个网格,它会向您显示网格的外观,但是,如果您选择一个脚本文件,它只会显示文件的图标。

对象选取器 (Object Picker) 可在工程的任何资源(可以是视频、歌曲、地形、GUI 皮肤、脚本文件或网格)上工作;它是一个您会经常使用的工具。

提示:在资源 (Assets) 上使用标签,能够让您比使用对象选取器 (Object Picker) 搜索字段更易找到它们。

如果不想看到对象的描述,您可以向下拖动预览窗口底部中间的滑块。

如果想看到对象的详细预览,您可以拖动预览窗口底部中间的滑块来放大对象预览。

3、多对象编辑

你可以在检视器 (Inspector) 中同时选择和编辑多个相同类型的对象。任何更改的属性将应用到所有选中的对象上。如果您想对许多对象作相同更改,这会节省大量时间。

选择多个对象时,只有在所有选中对象中存在的组件才会在检视器 (Inspector) 中显示出来。如果组件只在一些选中对象存在,检视器 (Inspector) 底部会出现一个小提示,说明那些仅存在于部分选中对象中的组件不能被多重编辑。

(1)属性值

多个对象被选中后,检视视图 (Inspector) 中显示的每个属性代表每个选中对象的属性。如果所有对象上的属性值相同,该值将正常显示,就像在编辑单个对象一样。如果所有选中对象上的属性值不相同,那么没有值会被显示,而会显示短划线或类似符号,表明这些值是不同的。

image

(2)多重编辑两个对象

无论是显示值还是短划线, 该属性值可照常编辑,且修改的值将应用到所有选中对象上。如果这些值不同而显示短划线,仍然可以右击属性标签。这样会弹出一个菜单,以便您选择从哪个对象上继承属性值。

image

(3)多重编辑预设或模型实例

像游戏对象 (Game Objects) 一样,预设可在场景中被多重编辑。预设或模型的实例也能够被多重编辑;然而也存在某些限制:编辑单个预设或模型实例时,任何与预设或模型不同的属性将以粗体显示,右击时会有一个将属性恢复为其在预设或模型中所拥有值的选项。此外,游戏对象 (Game Object) 有选项可用来应用或恢复所有更改。进行多对象编辑时,这些操作都不可用。属性无法恢复或应用;即使与预设或模型不同时也不会以粗体显示。需要提醒您的是,检视器 (Inspector) 会提示实例管理失效,而“选择 (Select)”、“恢复 (Revert)”和“应用 (Apply)”按钮通常会出现。

image

对于预设多重编辑的实例管理失效

(4)不受支持的对象

少数对象类型不支持多对象编辑。同时选择选择多个对象时,这些对象将显示一个提示告知“不支持多对象编辑”。

使用自定义编辑器编辑自己的脚本之一时,如果它不支持多对象编辑,也会显示这条消息。请参阅编辑器类的脚本参考,了解如何在自己的自定义编辑器中实现对多对象编辑的支持。

二、检视器选项

“检视器锁定”和“检视器调试模式”是两个有用的选项,可在工作流程中帮助到您。

1、锁定

锁定 (Lock) 可让您在选择其他游戏对象 (GameObjects) 时保持对检视器 (Inspector) 中特定游戏对象 (GameObject) 的聚焦。要切换检视器 (Inspector) 的锁定选项,在检视器 (Inspector) 上单击锁定/解锁 () 图标,或者打开选项卡菜单,选择锁定。

image

通过选项卡菜单锁定检视器 (Inspector)。

请注意,您可以同时打开一个以上的检视器 (Inspector),还可以锁定一个特定游戏对象的检视器,同时保持另一个解锁,以显示选中了哪个游戏对象 (GameObject)。

2、调试

调试模式 (Debug Mode) 可让您在检视器 (Inspector) 中检查组件的私有变量,它们通常不会显示。要更改为调试模式 (Debug Mode),打开选项卡菜单,然后选择调试。

在调试模式 (Debug Mode) 下,所有组件使用默认界面显示,而不使用某些组件在正常模式 (Normal Mode) 下使用的自定义界面。例如,变换 (Transform) 组件在调试模式 (Debug Mode) 下显示旋转的四元数值 (Quaternion values),而不是正常模式 (Normal Mode) 下显示的欧拉角 (Euler angles)。您也可以使用调试模式 (Debug Mode) 检查自己脚本组件中私有变量的数值。

image

检视器 (Inspector) 中的调试模式 (Debug Mode) 可以让您检查脚本和其他组件中的私有变量。

每个检视器 (Inspector) 都有调试模式,您可以让一个检视器 (Inspector) 在调试模式 (Debug Mode) 下工作,而让另一个不工作。

以上是关于Unity2.7 检视器(Inspector)的主要内容,如果未能解决你的问题,请参考以下文章

Unity Interface Serialization-Expose Interface field In Inspector

how to use Inspector in fiddler

UnityEditor4How To write a Preview Interface in Editor Inspector

导航系统

Fiddler Statistics统计,Inspector检查器,AutoResponder自动响应器

eventlog是啥