开坑UnityEditor
首先
开始学习UnityEditor,记录一下
编辑器扩展这部分东西以前还是不太想碰的,感觉东西又多又难,但目前需要来做一些自定义插件,提升效率,走起!
先贴一下官方的UnityEditor API:https://docs.unity3d.com/ScriptReference/UnityEditor.html
动手
咱们先来个最基本的
所有编辑器扩展的东西都要放在叫Editor的文件夹下面
编辑器扩展要对用一个Mono组件,首先定义一个MonoBehavior
using UnityEngine;
public class Test1 : MonoBehaviour
{
public string name;
public int id;
public Vector3 pos;
public GameObject box;
private void Start()
{
Debug.Log(name);
}
}
然后对应一个编辑器扩展组件,要引用using UnityEditor,并且继承Editor类
using UnityEngine;
using UnityEditor;
//绑定Test1
[CustomEditor(typeof(Test1))]
public class EditorTest1 : Editor
{
//声明一个序列化成员box
SerializedProperty mBox;
public override void OnInspectorGUI()
{
//得到Test1对象
Test1 mTarget = (Test1)target;
//给mBox赋值
mBox = serializedObject.FindProperty("box");
//绘制参数
mTarget.name = EditorGUILayout.TextField("Name", mTarget.name);
//空行
GUILayout.Space(10);
mTarget.id = EditorGUILayout.IntField("id",mTarget.id);
GUILayout.Space(10);
//标签
GUILayout.Label("Box");
//绘制box赋值,GUILayout可以绘制样式
EditorGUILayout.PropertyField(mBox, new GUIContent("box"), GUILayout.Height(40));
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】