Unity 扩展自定义编辑器窗口

这篇具有很好参考价值的文章主要介绍了Unity 扩展自定义编辑器窗口。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Assets文件夹路径下任意位置创建Editor文件夹,将扩展编辑器的代码放在Editor文件夹下


生成编辑器窗口

代码中首先引用命名空间

using UnityEditor;

然后将创建的类继承自EditorWindow

public class MenuEditor : EditorWindow

然后通过扩展编辑器菜单功能调用创建窗口的方法

[MenuItem("MainMenu/ShowWindows")]
static void ShowWindow()
{
    GetWindow<MenuEditor>();
}

要注意方法中泛型参数需要传入的是自己代码的类,这个功能是根据后面OnGUI方法中的具体逻辑生成一个窗口,如果没有OnGUI函数或者OnGUI函数是空,只会打开一个空白窗口。


OnGUI函数编辑窗口内容

全部的编辑窗口的内容全部都需要写在OnGUI事件函数中,生成窗口时会根据OnGUI函数中的具体逻辑来生成窗口中的内容,以下全部内容均需要卸载OnGUI函数中

public void OnGUI(){ }

GUILayoutOption 窗体大小参数

编辑窗口内容的时候大部分都会遇到一个params GUILayoutOption[] options的参数,这个参数中需要传入的GUILayoutOption类型,通常情况为

GUILayout.Width(100), GUILayout.Height(100)

也就是设置窗体的长度与高度,Width为长度,Height为高度 


EditorGUILayout类


BeginFoldoutHeaderGroup 创建折叠标签页

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static bool BeginFoldoutHeaderGroup(bool foldout, string content)

第一个参数为默认状态下标签页是否折叠

第二个参数为标签页的名字

返回的参数是标签页的折叠状态

注意点有两个:

1.需要在标签页中显示的内容需要用if语句判断返回值,然后将标签页中的内容写在if语句中。

2.想要结束标签页时需要调用EditorGUILayout.EndFoldoutHeaderGroup()方法

示例代码:文章来源地址https://www.toymoban.com/news/detail-859923.html

    bool showGroup;
    public void OnGUI()
    {
        showGroup = EditorGUILayout.BeginFoldoutHeaderGroup(showGroup,"ShowGroup");
        if (showGroup)
        {
            GUILayout.Label("YourShowGroupNow");
        }
        EditorGUILayout.EndFoldoutHeaderGroup();
    }

Foldout 创建折叠标签页(功能同上)

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static bool Foldout(bool foldout, string content, GUIStyle style = EditorStyles.foldout);

第一个参数是初始状态是否折叠,需要和返回值变量相同,不能是常量

第二个参数是标签的文字内容

返回值为当前标签页是否为折叠状态,需要与第一个参数变量相同

注意点有两点:

1.需要在标签页中显示的内容需要用if语句判断返回值,然后将标签页中的内容写在if语句中。

2.与BeginFoldoutHeaderGroup功能的区别是不再需要使用End方法结束标签页,更为智能化。

示例代码:

    bool showFoldout;
    public void OnGUI()
    {
        showFoldout = EditorGUILayout.Foldout(showFoldout, "展示折叠内容");
        if (showFoldout)
        {
            GUILayout.Label("折叠内容");
        }
    }

 


InspectorTitlebar展示属性折叠标签页

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static bool InspectorTitlebar(bool foldout, Object targetObj);

参数一为初始折叠状态,需要和返回值为变量相同,不能为常量

参数二为获取场景中任意物体的任意属性,并将属性显示在折叠框上

返回值为折叠页的折叠状态,需要和参数一为相同变量

注意点有两点:

1.需要在标签页中显示的内容需要用if语句判断返回值,然后将标签页中的内容写在if语句中。

2.折叠页虽然获取了属性,但是不会显示属性的任何内容,如需要在折叠页中显示任何内容,均需要自己在if语句判断返回值并手动添加标签

示例代码:

bool showMenu = true;
public void OnGUI()
{
    Transform cube = GameObject.Find("Cube").transform;
    showMenu = EditorGUILayout.InspectorTitlebar(showMenu,cube);
    if (showMenu)
    {
        GUILayout.Label("展折叠内容");
    }
}

BeginScrollView 创建滚动视图

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static Vector2 BeginScrollView(Vector2 scrollPosition, params GUILayoutOption[] options);

第一个参数为传入任意Vector2的值,传入的值必须是函数返回的值

第二个参数为GUILayoutOption类型,根据参数传入设置窗口大小

返回值必须要与参数一传入的变量相同,否则无法实现滚动,代码中不需要使用返回值

注意点有两个:

1.方法的第一个参数和返回值必须是同一个全局变量,不能是常量,不能是局部变量

2.想要结束滚动视图时需要调用EditorGUILayout.EndScrollView()方法

示例代码:

    Vector2 scrollViewPos;
    public void OnGUI()
    {
        scrollViewPos = EditorGUILayout.BeginScrollView(scrollViewPos, GUILayout.Width(500),GUILayout.Height(100));
        GUILayout.Label("This is a ScrollView !\nThis is a ScrollView !\nThis is a ScrollView !\nThis is a ScrollView !");
        GUILayout.Label("This is a ScrollView !\nThis is a ScrollView !\nThis is a ScrollView !\nThis is a ScrollView !");
        EditorGUILayout.EndScrollView();
    }

BeginToggleGroup 创建可勾选激活区域

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static bool BeginToggleGroup(string label, bool toggle);

第一个参数为勾选框中的文字

第二个参数为勾选框的初始勾选状态

返回值为当前勾选框是否被勾选

注意点有两个:

1.通过勾选框判断是否需要激活的内容需要用if语句判断返回的bool值,然后将可激活内容写在if语句中。

2.想结束区域时需要调用EditorGUILayout.EndFoldoutHeaderGroup()方法

示例代码:

    bool showGroup;
    public void OnGUI()
    {
        showGroup = EditorGUILayout.BeginFoldoutHeaderGroup(showGroup, "ShowGroup");
        if (showGroup)
        {
            GUILayout.Label("YourShowGroupNow");
        }
        EditorGUILayout.EndFoldoutHeaderGroup();
    }

ColorField 编辑颜色标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static Color ColorField(string label, Color value, params GUILayoutOption[] options);

第一个参数为标签的名字

第二个参数为设置初始的颜色,需要和返回值的变量相同

第三个参数为设置标签的长度高度数值,可以不传入

返回值为设置好的颜色,需要与第二个参数的变量相同

注意点有一个:

1.颜色值设置完后不会保存,每次重新打开后颜色会重置,需要在打开颜色窗口前先获取场景中对应位置的颜色给参数二变量赋予颜色初始值,才能拥有初始颜色

示例代码:

    Color color;
    public void OnGUI()
    {
        color = EditorGUILayout.ColorField("设置颜色", color);
    }

FloatField 输入Float类型标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static float FloatField(string label, float value, params GUILayoutOption[] options);

第一个参数标签的名字

第二个参数输入float的初始值,需要和返回值变量相同,不能是常量

第三个参数设置标签的长度和高度,可以不传入

返回值输入的float类型数据,需要和第二个参数变量相同

注意点有一个:

1.float值输入完后不会储存,需要打开窗口前先获取场景中需要的float值

示例代码:

    float mainfloat;
    public void OnGUI()
    {
        mainfloat = EditorGUILayout.FloatField("输入浮点数", mainfloat);
    }

IntField 输入Int类型标签

public static int IntField(string label, int value, params GUILayoutOption[] options);

第一个参数标签的名字

第二个参数输入int的初始值,需要和返回值变量相同,不能是常量

第三个参数设置标签的长度和高度,可以不传入

返回值输入的int类型数据,需要和第二个参数变量相同

注意点有一个:

1.int值输入完后不会储存,需要打开窗口前先获取场景中需要的int值

示例代码:

    int mainInt;
    public void OnGUI()
    {
        mainInt = EditorGUILayout.IntField("输入整数", mainInt);
    }

TextField 输入String类型标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static string TextField(string label, string text, params GUILayoutOption[] options);

第一个参数为标签的名字

第二个参数为输入框中初始的文字,需要和返回值变量相同,不能是常量

第三个参数为设置标签的长度和高度,可以不传入

返回值为输入框中的文本内容,需要和第二个参数的变量相同

注意点有一个:

1.string值输入完后不会储存,需要打开窗口前先获取场景中需要的string值

示例代码:

    string mainString;
    public void OnGUI()
    {
        mainString = EditorGUILayout.TextField("输入字符串", mainString);
    }

Popup 下拉框标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static int Popup(string label, int selectedIndex, string[] displayedOptions, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为默认选择的选项,需要和返回值变量相同,不能是常数

第三个参数为字符串数组,数组中字符串的内容为下拉框中显示的的内容

返回值为下拉框选择的选项,需要和第二个参数变量相同

注意点有一个:

返回值的类型为int,选中第一个选项时返回值为0,选择第二个选项时返回值为1,选择第三个选项时返回值为2,以此类推

示例代码:

    int mainInt;
    public void OnGUI()
    {
        mainInt = EditorGUILayout.Popup("下拉框选择",mainInt,new string[] { "A","B","C","D" });
    }

EnumPopup 枚举下拉框标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static Enum EnumPopup(string label, Enum selected, params GUILayoutOption[] options);

第一个参数为标签的名字

第二个参数为设置枚举的初始值,需要和返回值为相同变量,不能是常量

第三个参数为设置标签的长度和高度,可以不传

返回值为标签设置的枚举值,返回值需要强制转换

注意点有两个:

1.函数的返回值为通用枚举的Enum类型,需要在函数前添加强制转换符号,将返回值强制转换为需要的枚举值类型,然后保存到参数二变量的返回值中。

2.枚举值设置完后不会储存,需要打开窗口前先获取场景中需要的枚举值

示例代码:

    enum TestEnum
    {
        A, B, C, D
    }
    TestEnum testEnum = TestEnum.A;
    public void OnGUI()
    {
        testEnum = (TestEnum)EditorGUILayout.EnumPopup("设置枚举", testEnum);
    }

HelpBox提示框

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static void HelpBox(string message, MessageType type);

第一个参数为提示框中需要提示的内容

第二个参数为提示的类型,关系到提示框前面的图标

示例代码:

    public void OnGUI()
    {
        EditorGUILayout.HelpBox("None", MessageType.None);
        EditorGUILayout.HelpBox("Info", MessageType.Info);
        EditorGUILayout.HelpBox("Warning", MessageType.Warning);
        EditorGUILayout.HelpBox("Error", MessageType.Error);
    }

IntSlider 滑动条设置整数

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static int IntSlider(string label, int value, int leftValue, int rightValue, params GUILayoutOption[] options);

第一个参数为标签展示的文字

第二个参数为滑动条的初始值,需要和返回值变量相同,不能是常量

第三个参数为滑动条的最小值

第四个参数为滑动条的最大值

返回值为滑动条设置的整数值,需要和参数二的变量相同

注意点有一个:

1.int值设置完后不会储存,需要打开窗口前先获取场景中需要的int值

示例代码:

    int mainInt;
    public void OnGUI()
    {
        mainInt = EditorGUILayout.IntSlider("滑动条设置整数",mainInt,0,10);
    }

 


Slider滑动条设置浮点数

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static float Slider(string label, float value, float leftValue, float rightValue, params GUILayoutOption[] options);

第一个参数是标签的文本内容

第二个参数是标签的初始值,需要和返回值的变量相同,不能是常量

第三个参数为滑动条的最小值

第四个参数为滑动条的最大值

第五个参数为设置标签的长度与高度,可以不传入

注意点有一个:

1.ifloat值设置完后不会储存,需要打开窗口前先获取场景中需要的float值

示例代码:

    float mainFloat;
    public void OnGUI()
    {
        mainFloat = EditorGUILayout.Slider("滑动条",mainFloat,0,100);
    }

LabelField显示字段标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static void LabelField(string label, params GUILayoutOption[] options);

public static void LabelField(string label, string label2, params GUILayoutOption[] options);

第一个参数为需要显示的字段

第二个参数可传入第二个需要显示的字段

第三个参数可以设置标签的长度与高度,可以不传

示例代码:

    public void OnGUI()
    {
        EditorGUILayout.LabelField("获取当前时间");
        EditorGUILayout.LabelField("当前时间", DateTime.Now.ToString());
    }

LayerField设置图层标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static int LayerField(string label, int layer, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为默认选择的图层,需要和返回值变量相同,不能是常量

第三个参数为设置标签的长度和高度,可以不传

返回值为选择的图层,需要和第二个参数变量相同

示例代码:

    int getLayer;
    public void OnGUI()
    {
        getLayer = EditorGUILayout.LayerField("选择图层", getLayer);
    }

LinkButton外置链接字段

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static bool LinkButton(string label, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为标签的长度和高度,可以不传入

返回值为是否点击该链接,点击后仅点击的一帧返回true,其余时间返回false

注意点有一个:

1.需要在if中判断返回值并在逻辑中打开链接,返回值仅在点击时执行一次

示例代码:

    bool openUrl;
    public void OnGUI()
    {
        openUrl = EditorGUILayout.LinkButton("打开百度链接");
        if (openUrl)
        {
            Application.OpenURL("www.baidu.com");
        }
    }

MaskField 复选框标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static int MaskField(string label, int mask, string[] displayedOptions, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为默认选择的选项,必须和返回值的变量相同,不能为常量

第三个参数为需要复选的全部选项

第四个参数为设置标签框的长度和高度,可以不传入

返回值为复选框中选择的选项,通过图层公式计算获得的值

注意点有一个:

1.返回值并不是选择字符串的数组,而是一个int值,这个int值计算的方式和Unity中图层的复选框计算方式相同,第一个选项的值为1,第二个选项值为2,第三个选项值为4,第四个选项值为8,同时选择AB的值为1+2=3,同时选择ABC的值为1+2+4=7,同时选择ACD的值为1+4+8 = 15 

示例代码:

    int mainMask;
    public void OnGUI()
    {
        mainMask = EditorGUILayout.MaskField("设置遮罩",mainMask,new string[] { "A","B","C","D" });
    }

MinMaxSlider 滑块设置最大最小值

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static void MinMaxSlider(string label, ref float minValue, ref float maxValue, float minLimit, float maxLimit, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为标签最小值的初始值,需要使用ref并被函数改变

第三个参数为标签最大值的初始值,需要使用ref并被函数改变

第四个参数为标签最小值的限制值

第五个参数为标签最大值的限制值

第六个参数为设置标签的长度和高度,可以不传入

不是很好用,不推荐使用,这里仅作科普

示例代码:

    float minValue, maxValue;
    public void OnGUI()
    {
        EditorGUILayout.LabelField("MinValue",minValue.ToString());
        EditorGUILayout.LabelField("MaxValue",maxValue.ToString());
        EditorGUILayout.MinMaxSlider("设置滑块",ref minValue,ref maxValue,-100.0f,100.0f);
    }

ObjectField 获取场景资源标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static Object ObjectField(string label, Object obj, Type objType, bool allowSceneObjects, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为场景资源的值,资源的类型需要与第三个参数指定的类型相同

第三个参数为指定资源的类型,如果想要指定只能传入Transform属性,就可以在第三个参数中传入typeof(Transform),如果只能传入BoxCollider,那么就在第三个参数中传入typeof(BoxCollider)

第四个参数为是否可以指定场景中的资源,如果设置为false则只能指定Asstes文件夹中的文件资源,设置为true则可以指定Scene中的场景资源

注意点有五个:

1.虽然方法中参数和返回值均为Object类型,不过使用中均不使用Object类型的变量

2.传入的第二个参数的类型需要和第三个参数中指定的类型一致

3.返回值的类型需要和第三个参数中指定的类型一致

4.返回值赋值给变量前需要先进行强制转换,强制转换的类型需要和第三个参数的类型相同

5.方法不仅能获取Scene场景中的资源,也可以获取Assets中的文件资源

示例代码:

    Transform mainTransform;
    public void OnGUI()
    {
        mainTransform = (Transform)EditorGUILayout.ObjectField("选择场景资源", mainTransform, typeof(Transform), true);
    }

PasswordField密码输入框

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static string PasswordField(string label, string password, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为初始出入的字符,需要和返回值变量相同,不能是常量

第三个参数为设置标签的长度和高度,可以不传入

返回值为密码框输入的内容,需要和第二个参数变量相同

示例代码:

    string password;
    public void OnGUI()
    {
        password = EditorGUILayout.PasswordField("输入密码", password);
    }

SelectableLabel 可选中字段标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static void SelectableLabel(string text, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为标签的长度和高度,可以不传入

注意点有一个:

1.功能与LabelField相同,均为显示字段,但是与LabelField的区别是SelectableLabel显示的字段可以被选中,可以被复制,但是LabelField显示的字段不行

示例代码:

    public void OnGUI()
    {
        EditorGUILayout.LabelField("显示标签");
        EditorGUILayout.SelectableLabel("显示标签");
    }

Space 添加标签间的间隔

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static void Space(float width);

第一个参数为间隔的长度,可以不传入默认为10

示例代码:

    public void OnGUI()
    {
        EditorGUILayout.LabelField("标签一");
        EditorGUILayout.LabelField("标签二");
        EditorGUILayout.Space();
        EditorGUILayout.LabelField("标签三");
        EditorGUILayout.Space(20);
        EditorGUILayout.LabelField("标签四");
    }

TagField 设置Tag属性标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static string TagField(string label, string tag, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为默认选择的标签,需要与返回值变量相同,不能是常量

返回值为选择的标签,需要与第二个参数相同

注意点有一个:

1.选择的标签不会保存,每次使用的时候需要先获取目标物体的标签并赋值

示例代码:

    string selectTag;
    public void OnGUI()
    {
        selectTag = EditorGUILayout.TagField("选择标签", selectTag);
    }

TextArea可编辑文字区域

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static string TextArea(string text, params GUILayoutOption[] options);

第一个参数为文本区域中显示的内容,如果内容需要编辑则需要与返回值的变量相同,如果内容仅提供复制功能不需要编辑则使用常量参数或者不获取返回值(仅复制推荐使用SelectableLabel)

第二个参数为设置标签的长度和高度,可以不传入

注意点有一个:

1.返回值与第一个参数相等时,编辑的文本将会仅当时保存,再次打开窗口时文本将重置,返回值与第一个参数不相等时,编辑的文本将永远无法保存。

示例代码:

    string showText = "这是一段文本内容\n你可以随意编辑这段话\n同时也可以复制这段话\n或者其他地方的内容粘贴到这里";
    public void OnGUI()
    {
        showText = EditorGUILayout.TextArea(showText);
    }

Toggle勾选框(右侧)

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static bool Toggle(string label, bool value, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为当前标签是否为选中状态,需要和返回值变量相同,不能是常量

第三个参数为当前标签的长度与高度,可以不传入

注意点有一个:

1.勾选框的内容不会保存,每次使用之前需要先获取场景中对应的bool值

示例代码:

    bool isSelect;
    public void OnGUI()
    {
        isSelect = EditorGUILayout.Toggle("勾选框",isSelect);
    }

ToggleLeft 勾选框(左侧)

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static bool ToggleLeft(string label, bool value, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为当前标签是否为选中状态,需要和返回值变量相同,不能是常量

第三个参数为标签的长度与高度,可以不传入

注意点有两个:

1.勾选框的内容不会保存,每次使用之前需要先获取场景中对应的bool值

2.与Toggle的用法和功能完全相同,唯一的区别就是勾选框在左侧

示例代码:

    bool isSelect;
    public void OnGUI()
    {
        isSelect = EditorGUILayout.ToggleLeft("勾选框",isSelect);
    }

Vector2Field输入Vector2数值标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static Vector2 Vector2Field(string label, Vector2 value, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为Vector2的初始值,需要和返回值相同,不能是常量

第三个参数为标签的长度和高度,可以不传入

注意点有一个:

1.输入Vector2的内容不会保存,每次使用之前需要先获取场景中对应的Vector2的数值

示例代码:

    Vector2 mainVector;
    public void OnGUI()
    {
        mainVector = EditorGUILayout.Vector2Field("输入Vector2值", mainVector);
    }

Vector3Field输入Vector3数值标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

public static Vector3 Vector3Field(string label, Vector3 value, params GUILayoutOption[] options);

第一个参数为标签的文本内容

第二个参数为Vector3的初始值,需要和返回值相同,不能是常量

第三个参数为标签的长度和高度,可以不传入

注意点有一个:

1.输入Vector3的内容不会保存,每次使用之前需要先获取场景中对应的Vector3的数值

示例代码:

    Vector3 mainVector;
    public void OnGUI()
    {
        mainVector = EditorGUILayout.Vector3Field("输入Vector3值", mainVector);
    }

Vector4Field输入Vector4数值标签

Unity 扩展自定义编辑器窗口,unity,编辑器,游戏引擎

第一个参数为标签的文本内容

第二个参数为Vector4的初始值,需要和返回值相同,不能是常量

第三个参数为标签的长度和高度,可以不传入

注意点有一个:

1.输入Vector4的内容不会保存,每次使用之前需要先获取场景中对应的Vector4的数值

示例代码:

    Vector4 mainVector;
    public void OnGUI()
    {
        mainVector = EditorGUILayout.Vector4Field("输入Vector4值", mainVector);
    }

到了这里,关于Unity 扩展自定义编辑器窗口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity编辑器扩展(外挂)

    每日一句:未来的样子藏在现在的努力里 目录 什么是编译器开发 C#特性[System.Serializable] 特殊目录 命名空间 /*检视器属性控制*/     //添加变量悬浮提示文字     //给数值设定范围(最小0,最大150) //指定输入框,拥有5行 //默认显示5行,最多显示10行内容,再多用滚动条控

    2024年01月24日
    浏览(87)
  • Unity 可视化节点编辑器(GraphView、编辑器扩展)

      前几天把导师的项目打包发布交了一稿,这半个星期除了再把项目缝缝补补外(说实话项目做到后边实在有些无聊,都是些琐碎的东西而且自己也学不到什么,纯粹是 浪费 消磨时间)无聊逛Unity商店发现了个有意思的东西,说实话一开始我以为只是单纯绘制的2D动画:

    2024年02月12日
    浏览(63)
  • Unity编辑器扩展之GenericMenu菜单扩展

    内容将会持续更新,有错误的地方欢迎指正,谢谢!   Unity编辑器扩展之GenericMenu自定义菜单       TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心进取! 助力快速掌握 GenericMenu 菜单扩展 为初学者节省宝贵的

    2024年02月01日
    浏览(75)
  • Unity 编辑器扩展之 Attribute

    Unity内置属性[Attribute]是一种类似修饰功能的标签。可以对OnSceneGUI,InspectorGUI,MenuGUI,WindowGUI等实现各种各样的GUI扩展。用户只要添加上特性标签,就能够自由的使用这些扩展功能。下面列出一些常用的标签: 隐藏属性在Inspector面板上的显示。在继承了MonoBehaviour的类中,用

    2023年04月09日
    浏览(70)
  • Unity编辑扩展:功能篇之Json数据编辑器

    前言 编辑器扩展算是比较纯粹的功能开发,基本没有什么理论知识,都是一些 Unity 相关接口的使用与数据类型的设计操作等。在本篇文章主要的文字描述基本都是在做代码解释,为了使内容接受度更高,我会尽量描述到代码结构中的每个细节。如果有对此不太了解又很感兴

    2024年02月06日
    浏览(103)
  • 盘点Unity几款编辑器扩展工具

    unity 编辑器一个不容忽视的强大之处就是非常易于自定义扩展工具,来满足各种各样的美术、策划及程序上的需求。今天为大家介绍Asset Store资源商店中几款实用的编辑器扩展工具,帮助大家直接在Unity编辑器中完成3D建模与调整工作,免去与其它软件进行数据转换的过程,从

    2024年04月09日
    浏览(48)
  • 【Unity编辑器扩展】| Inspector监视器面板扩展

    前言 前面我们介绍了Unity中编辑器扩展的一些基本概念及基础知识,还有编辑器扩展中用到的相关特性Attribute介绍。 后面就来针对Uniity编辑器扩展中比较常用的模块进行学习介绍。 本文就来详细介绍一下Unity编辑器扩展中关于 Inspector面板 扩展功能学习。

    2024年02月08日
    浏览(65)
  • 【Unity UIToolkit】UIBuilder基础教程-制作简易的对话系统编辑器 3步教你玩转Unity编辑器扩展工具

    随着Unity开发的深入,基本的Unity编辑器界面并不能满足大部分玩家高阶开发的要求。为了提高开发的效率,有针对性的定制化扩展编辑器界面是提高开发效率的不错选择。 今天就给大家带来Unity官方提高的编辑器扩展工具UIToolkit(集成了UIBuilder和UI Debugger等插件)的使用教程。

    2024年02月04日
    浏览(72)
  • Unity编辑器扩展-第四集-获取物体的方法

    第三集链接:Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件_菌菌巧乐兹的博客-CSDN博客  一、本节目标+效果展示 1.改选中单个物体的名字 2.改选中所有物体的名字  3.选中了所有的物体,但只改第一层物体的名称  4.来个有用的(选中的所有物体,按顺序起名)

    2024年02月14日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包