当您在 项目窗口显示您的 Assets
文件夹内容的窗口(项目选项卡)更多信息
参见 词汇表 中选择脚本资源时,检查器一个 Unity 窗口,显示当前选定游戏对象的有关信息、资源或项目设置,允许您检查和编辑值。 更多信息
参见 词汇表 将显示有关该脚本的一些基本信息,包括其所属的 程序集 的名称,以及内容的预览。
注意:虽然检查器显示脚本的内容,但您无法在检查器窗口中编辑内容。
脚本检查器还显示两个按钮,打开和执行顺序。
打开的功能与在项目窗口中双击脚本相同,在当前配置的外部脚本编辑器中打开脚本。您可以在 首选项窗口的外部工具部分 中配置 Unity 用于打开您的 脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间推移修改组件属性,并以您喜欢的任何方式响应用户输入。 更多信息
参见 词汇表 的外部编辑器。
执行顺序按钮将打开 项目设置窗口的脚本执行顺序部分,您可以在其中配置 Unity 执行脚本的顺序。
任何 MonoBehaviour 脚本都可以用作 组件游戏对象的功能部分。一个游戏对象可以包含任意数量的组件。Unity 具有许多内置组件,您可以通过编写从 MonoBehaviour 继承的脚本创建自己的组件。 更多信息
参见 词汇表,这意味着
下面的示例代码声明了一个名为 myName
的公共字段。当您将此脚本添加到 场景一个场景包含您的游戏环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置您的环境、障碍物和装饰,从本质上讲是设计和构建您的游戏。 更多信息
参见 词汇表 中的游戏对象时,该字段将在检查器窗口中显示为一个名为我的名字的字段。在脚本中声明的 none
的默认值将成为检查器窗口中的默认值,然后您可以通过在字段中键入来更改它。
using UnityEngine;
using System.Collections;
public class MainPlayer : MonoBehaviour
{
public string myName = "none";
// Use this for initialization
void Start ()
{
Debug.Log("I am alive and my name is " + myName);
}
}
您附加脚本组件的每个游戏对象都可以具有该字段的唯一值。
字段名称根据 字段名称到标签转换 中描述的规则转换为检查器窗口标签。但是,这些更改纯粹是为了显示目的。您应该始终在代码中使用字段名称。
在检查器窗口中,如果您编辑我的名字值并按下播放,控制台消息现在应该包含您输入的文本。
默认情况下,所有 public
字段都可以在检查器窗口中编辑。要阻止公共变量显示在检查器窗口中,请向其添加 HideInInspector 属性。要使 private
字段在检查器窗口中可编辑,请向其添加 SerializeField 属性。
注意:您可以在 播放模式 下运行时更改脚本字段的值。这使您无需停止和重新启动即可直接查看更改的效果。但是,当您退出播放模式时,字段的值将重置为进入播放模式之前的任何值。
除了诸如 bool
、string
和 int
之类的简单 内置 C# 类型 之外,您还可以使任何类型继承自 UnityEngine.Object
的字段在检查器窗口中可编辑。这包括所有内置组件类型(例如 Transform、AudioSource、Camera一个组件,它在您的场景中创建特定视点的图像。输出要么绘制到屏幕上,要么作为纹理捕获。 更多信息
参见 词汇表、Light),您自己的 MonoBehaviour 脚本类型,以及许多资源类型。
这使您能够在您自己的脚本组件中使用 Unity 编辑器的拖放系统。例如,如果您在脚本中创建一个公共 Transform
字段并将其添加到一个游戏对象,然后您可以在检查器窗口中将另一个游戏对象拖放到该字段中,以设置对该游戏对象的 Transform 组件Transform 组件确定场景中每个对象的 位置、旋转和缩放比例。每个游戏对象都具有 Transform。 更多信息
参见 词汇表 的引用,然后您可以在运行时在脚本中访问该引用。
例如,此 Follow
脚本使一个游戏对象跟随另一个游戏对象
using UnityEngine;
public class Follow : MonoBehaviour
{
public Transform objectToFollow;
public float followSpeed = 1;
void Update()
{
// calculate the distance between this object and the target object
// and move a small portion of that distance each frame:
var delta = objectToFollow.position - transform.position;
transform.position += delta * Time.deltaTime * followSpeed;
}
}
该脚本具有一个类型为 Transform
的公共字段,它在编辑器中显示为可分配字段。您可以从层次结构窗口中拖放不同的游戏对象到此字段,编辑器将分配对附加到该拖放游戏对象的 Transform 组件的引用。
在下面的屏幕截图中,该脚本被放置在 Sphere 游戏对象上,并且 Cube 已从层次结构中拖放到要跟随的对象字段中。
如果您在 MonoBehaviour 脚本中定义了可以 在编辑器中分配 的公共 Object 字段,您可以为这些字段设置默认引用。当您在项目窗口中选择脚本资源时,默认引用字段将在检查器中可见。
在上面的示例中,有三个公共 音频剪辑Unity 中音频数据的容器。Unity 支持单声道、立体声和多声道音频资源(最多 8 个声道)。Unity 可以导入 .aif、.wav、.mp3 和 .ogg 音频文件格式,以及 .xm、.mod、.it 和 .s3m 跟踪模块格式。 更多信息
参见 词汇表 字段,没有分配默认引用。您可以将音频剪辑分配到每个 AudioClip 默认引用字段。
如果您分配默认引用,它们会在您将 MonoBehaviour 作为组件添加到游戏对象时或将游戏对象上 MonoBehaviour 的现有实例重置为其默认值时应用。
注意:游戏对象上的 MonoBehaviour 实例上的引用与默认引用之间没有持续的链接。这意味着如果您更改默认引用,它们不会自动更新到现有游戏对象上。
其他类型 在检查器中可编辑的字段 不继承自 UnityEngine.Object
(例如,公共字符串或 int 字段)在检查器中没有默认字段。相反,它们从脚本本身获取其默认值。
Unity 根据一组规则将 C# 字段名称转换为检查器窗口中的标签。例如,上面示例中的变量名称已从 myName
转换为我的名字,从 objectToFollow
转换为要跟随的对象。规则如下
m_
前缀k
前缀_
前缀有些特殊情况,例如 iPad
或 x64
,不应用这些规则。