ue3d在Unity3D中创建自定义检查器

在Unity3D中创建自定义检查器

分类:
ue3d - 在Unity3D中创建自定义检查器

在本教程中,将了解如何在unity3D中创建自定义检查器,自定义检查器允许在Unity软件中为组件创建或扩展检查器功能。

要在unity中创建自定义检查器,需要下面俩点

  1. 从编辑器类继承脚本。
  2. 覆盖OnInspectorGUI方法。

unity中的自定义检查器

下面提到的脚本是unity中的示例自定义检查器脚本。

using UnityEditor;
using UnityEngine;

// provide the component type for which this inspector UI is required
[CustomEditor(typeof(SampleScript))]
public class CustomInspector : Editor
{
    public override void OnInspectorGUI()
    {
        // will enable the default inpector UI 
        base.OnInspectorGUI();

       // implement your UI code here
    }
}

将在这里看到一些示例来扩展自定义编辑器。

按钮

 //Button
if (GUILayout.Button("Test Button"))
        {
            Debug.Log("Test Button Clicked");
        }
ue3d - 在Unity3D中创建自定义检查器

将输入值应用于游戏对象。

示例脚本:将显示自定义检查器的Monobehaviour脚本。

using UnityEngine;

public class SampleScript : MonoBehaviour
{
    public float scale { get; set; }
}

自定义检查器

using UnityEditor;
using UnityEngine;

// provide the component type for which this inspector UI is required
[CustomEditor(typeof(SampleScript))]
public class CustomInspector : Editor
{
    public override void OnInspectorGUI()
    {
        // will enable the default inpector UI 
        base.OnInspectorGUI();

        // implement your UI code here
        var style = new GUIStyle(GUI.skin.label);
        style.alignment = TextAnchor.MiddleCenter;
        style.fontStyle = FontStyle.Bold;
        EditorGUILayout.LabelField("Settings", style, GUILayout.ExpandWidth(true));

        GUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Scale: ");
        SampleScript sampleScript = (SampleScript)target;
        sampleScript.scale = EditorGUILayout.FloatField(sampleScript.scale);
        GUILayout.EndHorizontal();
        //Button
        if (GUILayout.Button("Test Button"))
        {
            sampleScript.gameObject.transform.localScale = new Vector3(sampleScript.scale, sampleScript.scale, sampleScript.scale);
        }
    }
}

如图

ue3d - 在Unity3D中创建自定义检查器

还可以修改Monobehaviour脚本以进行检查器自定义

[Header("Transform Inputs")]
[Tooltip("Sample tooltip")]
public int TestValue;

标题和工具提示

  1. 标头有助于对检查器字段进行分组。
  2. 工具提示将显示在该字段的鼠标悬停上。
ue3d - 在Unity3D中创建自定义检查器

上下文菜单

使用上下文菜单属性,可以在组件设置中添加选项和相应的功能。

[ContextMenu("SampleContext")]
public void MyMethod()
{
   Debug.Log("Clicked from context menu");
}
ue3d - 在Unity3D中创建自定义检查器

以上是3D天堂关于在Unity中创建自定义检查器的全部内容,如果你有任何反馈,请随时在本页面下方留言。

相关信息

  • 类型:知识
  • 字数:294
  • 字符:2564
  • 适用软件:Unity
  • 说明:无
  • 编号:156811

热门内容

提示:3D天堂作为服务提供者,尊重网络版权及知识产权,对某些行为的发生不具备充分的监控能力,若无意间侵犯到您的权利,请 联系我们,我们会在收到信息后尽快给予处理。

本站文章版权归本站自创作者所有,未经允许不得转载!