在Unity3D中,我只需在类中添加一个公共属性即可在编辑器中显示属性字段。是否可以在此字段旁边添加一个按钮,打开一个填充该字段的文件浏览器?
我找到了EditorUtility.OpenFilePanel但是如何在编辑器中添加一个按钮来调用该方法? (我不是指顶部工具栏中的菜单,如该页面上的示例代码所示)
由于
答案 0 :(得分:3)
当您选择要引用的gameObject时,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