📂 Unity 开发技能 | 目录索引
📂 Unity 常用插件 | 总目录
📂 Unity 开发资源 | 目录索引
📂 Unity 源码工程 | 总目录
Odin Attributes 为Unity开发者提供了更多的自定义选项,使得开发过程更加高效和愉悦。通过使用这些特性,开发者可以创建更加专业和用户友好的编辑器界面,从而提升整个开发团队的工作效率。
Inline Editor 特性用于类型继承自 UnityEngine.Object 的任何属性或字段;包括组件和资产等。
示例展示
内联编辑器模式
1.【InlineEditorObjectFieldModes.Boxed】属性以Box形式展示
[Title("Boxed / Default")]
[InlineEditor(InlineEditorObjectFieldModes.Boxed)]
public ExampleTransform Boxed;
2.【InlineEditorObjectFieldModes.Foldout】属性以折页形式展示
[Title("Foldout")]
[InlineEditor(InlineEditorObjectFieldModes.Foldout)]
public ExampleTransform Foldout;
3.【InlineEditorObjectFieldModes.CompletelyHidden】隐藏属性名称
[Title("Hide ObjectField")]
[InlineEditor(InlineEditorObjectFieldModes.CompletelyHidden)]
public ExampleTransform CompletelyHidden;
4.【InlineEditorObjectFieldModes.Hidden】只有为null的时候才显示字段
[Title("Show ObjectField if null")]
[ShowInInspector]
[InlineEditor(InlineEditorObjectFieldModes.Hidden)]
public ExampleTransform OnlyHiddenWhenNotNull;
预览模式
1.【InlineEditorModes.FullEditor】
[InlineEditor(InlineEditorModes.FullEditor)]
public Material FullInlineEditor;
2.【InlineEditorModes.GUIAndHeader】
[InlineEditor(InlineEditorModes.GUIAndHeader)]
public Material InlineMaterial ;
3.【InlineEditorModes.SmallPreview】
[InlineEditor(InlineEditorModes.SmallPreview)]
public Material[] InlineMaterialList = new Material[]
{
};
4.【InlineEditorModes.LargePreview】
[InlineEditor(InlineEditorModes.LargePreview)]
public Mesh InlineMeshPreview ;
完整示例代码
using Sirenix.OdinInspector;
using UnityEngine;
public class InlineEditorAttributeExample : MonoBehaviour
{
[Title("Boxed / Default")]
[InlineEditor(InlineEditorObjectFieldModes.Boxed)]
public ExampleTransform Boxed;
[Title("Foldout")]
[InlineEditor(InlineEditorObjectFieldModes.Foldout)]
public ExampleTransform Foldout;
[Title("Hide ObjectField")]
[InlineEditor(InlineEditorObjectFieldModes.CompletelyHidden)]
public ExampleTransform CompletelyHidden;
[Title("Show ObjectField if null")]
[ShowInInspector]
[InlineEditor(InlineEditorObjectFieldModes.Hidden)]
public ExampleTransform OnlyHiddenWhenNotNull;
[InlineEditor]
public ExampleTransform InlineComponent ;
[InlineEditor(InlineEditorModes.FullEditor)]
public Material FullInlineEditor;
[InlineEditor(InlineEditorModes.GUIAndHeader)]
public Material InlineMaterial ;
[InlineEditor(InlineEditorModes.SmallPreview)]
public Material[] InlineMaterialList = new Material[]
{
};
[InlineEditor(InlineEditorModes.LargePreview)]
public Mesh InlineMeshPreview ;
}
🥷🏻博主简介:20年软件开发经验,经历嵌入式驱动开发、Android开发、Unity游戏开发。积累收藏了大量游戏开发资源和素材,如有需要请站内私信或者联系V(ID:
game-utopia
)
🍉🍉🍉 如果觉得这篇文对你有帮助的话,请点个赞👍、收藏⭐️下吧,非常感谢! 💕💕💕