Unity 特性(Attribute)

特性(Attribute):用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。

[Serializable]

使用[Serializable]特性来标记一个类,使其可以被序列化。

这样,你就可以将该类的实例转换为字节流,保存到文件或通过网络发送,然后再将其反序列化为对象。这对于保存和加载游戏对象的状态、玩家进度等信息非常有用。

在Unity编辑器中,脚本组件可以在Inspector面板中显示,提高开发效率。

[serializedField]

如果是字段的是私有的字段,将公开在面板方便操作。

[Header]

特性则用于在Inspector面板中为属性组添加标题,使得属性的组织更加清晰。

[Tooltip]

鼠标放属性上会有提示内容

[Range]

给属性加滑动条,可以设定范围,拖动改变值.

[HelpURL]

给类提供一个自定义文档URL。如图可以按Ctrl+鼠标左键跳转到目标。

[Space]

Inspector界面属性的间隔 ,这个有意思,如果觉得属性太密集觉得不舒服可以加个这个.或者几类属性之间想做个间隔的时候用

[ColorUsage]

[ColorUsage]可以修改Color的配置,是否显示Alpha通道,或者使用HDR模式。

[TextArea]

文本空间,默认三行 也可以设定范围 设定最低和最多的行数,多的滚动条滑动,少的时候显示最低的行数 不设定,也是最低3行

[HideInInspector]

[HideInInspector]特性用于隐藏公共字段在Inspector面板中的显示,这对于那些不需要用户直接编辑的内部状态变量非常有用。

[InitializeOnLoad]

[InitializeOnLoad]特性用于在编辑器启动时或脚本重新编译后自动执行指定的操作。这在初始化编辑器扩展、注册事件监听器或设置默认配置时非常有用。

[PostProcessScene]

使用[PostProcessScene]特性来标记一个方法,使其在场景加载后自动执行某些操作,如初始化场景数据或设置特殊效果。

[Conditional]

使用[Conditional]特性来标记一个方法,使其只在特定条件下编译和执行,通常用于调试目的

[RequireComponent]

[RequireComponent]特性用于自动为附加该特性的脚本组件添加其他组件。这在确保组件之间的依赖关系时非常有用。

[AddComponentMenu]

[AddComponentMenu] 可以添加一个组件菜单项到编辑器里。

[ContextMenu]

[ContextMenu] 为挂载脚本的物体的Inspector界面脚本添加一个脚本右键选项,点击执行方法内的逻辑

[ContextMenuItem]

[ContextMenuItem] 字段右键菜单添加一个自定义方法,鼠标在上边右键弹出点击执行对应方法,两个参数一个是弹出的名称,第二个是要执行的方法名

[CreateAssetMenu]

[CreateAssetMenu] 用于ScriptableObject的子类,将这个类(相当于资源文件添加到Asset菜单项中),关于ScriptableObject具体可以看这位大神的博客

参考:

unity的特性AttriBute详解

Unity的特性总结

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值