Version: 2021.3
Obsolete public static Object ObjectField (Rect position, Object obj, Type objType);
Obsolete public static Object ObjectField (Rect position, string label, Object obj, Type objType);
Obsolete public static Object ObjectField (Rect position, GUIContent label, Object obj, Type objType);
public static Object ObjectField (Rect position, Object obj, Type objType, bool allowSceneObjects);
public static Object ObjectField (Rect position, string label, Object obj, Type objType, bool allowSceneObjects);
public static Object ObjectField (Rect position, GUIContent label, Object obj, Type objType, bool allowSceneObjects);

参数

position 屏幕上用于字段的矩形。
label (可选)字段前的标签。
obj 字段显示的对象。
objType 可以分配的对象类型。
allowSceneObjects 允许分配场景对象。有关更多信息,请参阅“说明”。

返回

Object 用户已设置的对象。

描述

创建一个对象字段。您可以通过拖放对象或使用对象选择器选择对象来分配对象。

当对象引用作为资源的一部分进行存储时,请确保 allowSceneObjects 参数为 false,因为资源无法存储对场景中对象的引用。
如果 ObjectField 是脚本组件的自定义编辑器的一部分,请使用 EditorUtility.IsPersistent() 检查该组件是位于资源还是场景对象中。
请参阅 Editor 类中的示例。


编辑器窗口中的 Object 字段。

using UnityEditor;
using UnityEngine;
using System.Collections;

//Select the dependencies of the found GameObject public class EditorGUIObjectField : EditorWindow { public GameObject obj = null; [MenuItem("Examples/Select Dependencies")] static void Init() { UnityEditor.EditorWindow window = GetWindow(typeof(EditorGUIObjectField)); window.position = new Rect(0, 0, 250, 80); window.Show(); }

void OnInspectorUpdate() { Repaint(); }

void OnGUI() { obj = (GameObject)EditorGUI.ObjectField(new Rect(3, 3, position.width - 6, 20), "Find Dependency", obj, typeof(GameObject)); if (obj) if (GUI.Button(new Rect(3, 25, position.width - 6, 20), "Check Dependencies")) Selection.objects = EditorUtility.CollectDependencies(new GameObject[] {obj});

else EditorGUI.LabelField(new Rect(3, 25, position.width - 6, 20), "Missing:", "Select an object first"); } }

public static void ObjectField (Rect position, SerializedProperty property);
public static void ObjectField (Rect position, SerializedProperty property, GUIContent label);
public static void ObjectField (Rect position, SerializedProperty property, Type objType);
public static void ObjectField (Rect position, SerializedProperty property, Type objType, GUIContent label);

参数

position 屏幕上用于字段的矩形。
property 字段显示的对象引用属性。
objType 可以分配的对象类型。
label (可选)显示在字段前的标签。传递 GUIContent.none 可隐藏标签。

描述

创建一个对象字段。您可以通过拖放对象或使用对象选择器选择对象来分配对象。