将按钮添加到 Unity3d 编辑器

Add button to Unity3d editor

在 Unity3D 中,我可以在编辑器中显示一个 属性 字段,只需在 class 中添加一个 public 属性。是否可以在此字段旁边添加一个按钮以打开填充该字段的文件浏览器?

我找到了 EditorUtility.OpenFilePanel,但我如何添加按钮以在编辑器中调用该方法? (我不是说顶部工具栏中的菜单,如该页面上的示例代码所示)

谢谢

当您 select 您引用的游戏对象时,GUILayout.Button() 方法会在检查器中显示一个按钮。

例如...此代码 (customButton.cs) 在脚本 "OpenFileButtonScript.cs" 中向检查器添加一个按钮,该脚本调用其 OpenDialog() 方法。

using UnityEngine;
using System.Collections;
using UnityEditor;

[CustomEditor(typeof(OpenFileButtonScript))]
public class customButton : Editor
{
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        OpenFileButtonScript myScript = (OpenFileButtonScript)target;
        if (GUILayout.Button("Open File"))
        {
            myScript.OpenDialog();
        }
    }

}

这是 "OpenFileButtonScript.cs" 脚本:

using UnityEngine;
using System.Collections;
using UnityEditor;

public class OpenFileButtonScript : MonoBehaviour {

    public string path;

    public void OpenDialog()
    {
        path = EditorUtility.OpenFilePanel(
                    "Open file",
                    "",
                    "*");
    }
}

希望对您有所帮助。有关按钮的更多信息,请参阅此 videotutorial