unity CustomEditor的基本使用

CustomEditor用来自定义脚本的编辑面板
其基本使用方式
先准备一个类,继承MonoBehaviour
在这里插入图片描述
定义一个变量,然后准备一个类,继承自Editor
在这里插入图片描述
在CustomEditor中指定要去修改的类型,通过serializedObject.FindProperty(变量名)的方式来获取变量,然后配合EditorGUILayout等GUI绘制方法绘制面板
在这里插入图片描述

Unity CustomEditorUnity中一种自定义Inspector界面的方式,可以帮助开发者更加方便地编辑和管理组件。 以下是一个使用 CustomEditor 的案例: 假设有一个名为“Player”的脚本,它包含一个 public 变量“health”,并且希望在 Inspector 界面中添加一个进度条来显示当前健康值。 首先,需要创建一个名为“PlayerEditor”的自定义编辑器类,并继承 UnityEditor.Editor 类。 在 PlayerEditor 类中,需要使用 SerializedProperty 类来获取 health 变量并创建一个进度条。 代码示例如下: ```csharp using UnityEditor; using UnityEngine; [CustomEditor(typeof(Player))] public class PlayerEditor : Editor { SerializedProperty healthProp; void OnEnable() { healthProp = serializedObject.FindProperty("health"); } public override void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.PropertyField(healthProp); float healthValue = healthProp.floatValue; EditorGUILayout.LabelField("Health"); EditorGUI.ProgressBar(EditorGUILayout.GetControlRect(), healthValue / 100f, healthValue.ToString("0.00")); serializedObject.ApplyModifiedProperties(); } } ``` 在上面的代码中,首先使用 CustomEditor 特性将 Player 类与 PlayerEditor 类关联起来。 然后,在 OnEnable 方法中,使用 SerializedObject 和 SerializedProperty 类来获取 health 变量。 在 OnInspectorGUI 方法中,使用 EditorGUILayout 类将 health 变量显示为默认的 Inspector 字段。 接下来,使用 EditorGUI 类创建一个进度条,并将其显示在 Inspector 界面中。 最后,使用 SerializedObject 类应用修改后的属性值。 当保存 Player 脚本并返回 Unity 编辑器时,应该可以看到自定义进度条已添加到 Inspector 界面中。 这就是一个简单的 CustomEditor 示例,它演示了如何在 Unity 中创建自定义 Inspector 界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值