Odin Attributes 为Unity开发者提供了更多的自定义选项,使得开发过程更加高效和愉悦。通过使用这些特性,开发者可以创建更加专业和用户友好的编辑器界面,从而提升整个开发团队的工作效率。
⭕️探索入口
📂 Odin Attributes 大全 | 目录索引
💯 概述
Horizontal Group 特性:用于在 Inspector 中水平分组多个属性。宽度可以指定为百分比或像素。0到1之间的所有值都将视为百分比。如果宽度为0,则会自动调整列的大小。左右边距只能以像素为单位指定。
💯 使用方法
- 制作一个水平分组
[HorizontalGroup]
public int A;
[HorizontalGroup("Group 1", LabelWidth = 20)]
public int C;
[HorizontalGroup("Group 1")]
public int D;
[HorizontalGroup("Group 1")]
public int E;
- 可以在一个横向Group中分类不同的BoxGroup
[HorizontalGroup("Split", 0.5f, LabelWidth = 40)]
[BoxGroup("Split/Left")]
public int L;
[BoxGroup("Split/Left")]
public int N;
[BoxGroup("Split/Right")]
public int M;
[BoxGroup("Split/Right")]
public int O;
- 划分一个Buttons in Boxes折页,在这个折页中划分一个Buttons in Boxes/Horizontal 组,然后在这个Horizontal Group中划分两个Box
[Button(ButtonSizes.Large)]
[FoldoutGroup("Buttons in Boxes")]
[HorizontalGroup("Buttons in Boxes/Horizontal")]
[BoxGroup("Buttons in Boxes/Horizontal/One")]
public void Button1() { }
[Button(ButtonSizes.Large)]
[BoxGroup("Buttons in Boxes/Horizontal/Two")]
public void Button2() { }
[Button]
[HorizontalGroup("Buttons in Boxes/Horizontal", Width = 60)]
[BoxGroup("Buttons in Boxes/Horizontal/Double")]
public void Accept() { }
[Button]
[BoxGroup("Buttons in Boxes/Horizontal/Double")]
public void Cancel() { }
辅助类设置:MarginLeft、MarginRight(左右边距)、PaddingLeft、PaddingRight(组与组的边距)、MinWidth与MaxWidth间距,设置Title标题
💯 完整示例代码
using Sirenix.OdinInspector;
using UnityEngine;
public class HorizontalGroupAttributeExample : MonoBehaviour
{
[HorizontalGroup]
public int A;
[HorizontalGroup("Group 1", LabelWidth = 20)]
public int C;
[HorizontalGroup("Group 1")]
public int D;
[HorizontalGroup("Group 1")]
public int E;
[PropertySpace(40, 40)]
public string space = "";
[HorizontalGroup("Split", 0.5f, LabelWidth = 40)]
[BoxGroup("Split/Left")]
public int L;
[BoxGroup("Split/Left")]
public int N;
[BoxGroup("Split/Right")]
public int M;
[BoxGroup("Split/Right")]
public int O;
[PropertySpace(40, 40)]
public string space1 = "";
[Button(ButtonSizes.Large)]
[FoldoutGroup("Buttons in Boxes")]
[HorizontalGroup("Buttons in Boxes/Horizontal")]
[BoxGroup("Buttons in Boxes/Horizontal/One")]
public void Button1() { }
[Button(ButtonSizes.Large)]
[BoxGroup("Buttons in Boxes/Horizontal/Two")]
public void Button2() { }
[Button]
[HorizontalGroup("Buttons in Boxes/Horizontal", Width = 60)]
[BoxGroup("Buttons in Boxes/Horizontal/Double")]
public void Accept() { }
[Button]
[BoxGroup("Buttons in Boxes/Horizontal/Double")]
public void Cancel() { }
}
💯 Odin 下载地址
🍉🍉🍉 如果觉得这篇文对你有帮助的话,请点个赞👍、收藏⭐️下吧,非常感谢! 💕💕💕
【博主简介】:10年以上软件开发经验,精通C语言
、C++
、C#
、Java
等开发语言,开发过大型 Android 项目,现主要自主开发经营 休闲益智类小游戏。
【粉丝福利】:博主收藏了大量游戏开发资源和素材。这些资源经过博主多年整理沉淀,现筛选一批精品资源,分享给大家学习研究。
Unity打怪军团 广招天下勇士加入 Unity学习互助小组 有意进群的同学联系我,互3互推也请联系我…