Unity 一些常用注解

在Unity中有一些比较常用的注解:

1、[SerializeField]:将私有字段或属性显示在 Unity 编辑器中,使其可以在 Inspector 窗口中进行编辑。

2、[Range(min, max)]:限制数值字段或属性的范围,在 Inspector 窗口中以滑动条的形式进行编辑。

3、[Header("Text")]:在 Inspector 窗口中给字段或属性添加标题。

4、[Tooltip("Text")]:在 Inspector 窗口中给字段或属性添加工具提示。

比如我在脚本中做了这些注解:

在 Inspector 窗口下我们会看到如下效果:

5、[HideInInspector]:隐藏字段或属性,做了这个标记,在 Inspector 窗口中将不显示该字段或属性。

如:

定义了公共布尔值,但是窗口隐藏了该布尔值。

6、[RequireComponent(typeof(ComponentType))]:确保脚本所在的 GameObject 上附加了指定的组件。

如:

[RequireComponent(typeof(Rigidbody))]
public class MyScript : MonoBehaviour
{// ...
}

这样就确保该组件必须附加Rigidbody组件,即使没有,将会自动添加。

这也是我们经常会碰到那些我们想要删除却删除不了的组件,那是因为有脚本绑定了该组件为附加组件了,只有先删除定义的绑定脚本才能删除。

7、[ContextMenu("Text")]:在 Inspector 窗口中给方法添加上下文菜单。

如:

当我在Annotate的DoSomething加了[ContextMenu("Do Something")],那么在编辑器中我右键组件中的Annotate脚本,就可以看到"Do Something"菜单,通过点击可运行该方法。

8、[Serializable]:这个就比较常见了。它主要标记类或结构体可序列化。其中[Serializable]注解的类需要满足以下条件:

  1. 类必须是公共类(public class)。
  2. 类必须是非嵌套类(不能是其他类的内部类)。
  3. 类的所有字段(包括私有字段)都必须是可序列化的类型或标记为 [Serializable]

被标记为 [Serializable],可以对该类进行序列化和反序列化的操作。

还有,当我们使用[Serializable]注解结构体时,可以使得公共类在 Inspector 窗口是可见的。这个也是比较常用的。

9、[ExecuteInEditMode]:在编辑器模式下执行脚本,用于在编辑器中实时预览某些效果。

使用该标记,当脚本所在的 GameObject 在编辑器中被激活、属性发生变化或者Transform 发生变化时,就会执行被注解的脚本。这可以方便我们在编辑模式下就行一些调参或者查看效果,而无需来回切换到播放模式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/235502.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Selenium定位元素的方法css和xpath的区别!

selenium是一种自动化测试工具,它可以通过不同的定位方式来识别网页上的元素,如id、name、class、tag、link text、partial link text、css和xpath。 css和xpath是两种常用的定位方式,它们都可以通过元素的属性或者层级关系来定位元素&#…

【CAN通信】CanIf模块详细介绍

目录 1.内容简介 2.CanIf详细设计 2.1 CanIf功能简介 2.2 一些关键概念 2.3依赖的上下层模块 2.4 功能详细设计 2.4.1 Hardware object handles 2.4.2 Static L-PDUs 2.4.3 Dynamic L-PDUs 2.4.4 Dynamic Transmit L-PDUs 2.4.5 Dynamic receive L-PDUs 2.4.6Physi…

第16关 革新云计算:如何利用弹性容器与托管K8S实现极速服务POD扩缩容

------> 课程视频同步分享在今日头条和B站 天下武功,唯快不破! 大家好,我是博哥爱运维。这节课给大家讲下云平台的弹性容器实例怎么结合其托管K8S,使用混合服务架构,带来极致扩缩容快感。 下面是全球主流云平台弹…

Hiera实战:使用Hiera实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集 摘要 现代层次视觉变换器在追求监督分类表现时增加了几个特定于视觉的组件。 这些组件虽然带来了有效的准确性和吸引人的FLOP计数,但增加的复杂性实际上使这些变换器比普通V…

MySQL表的查询、更新、删除

查询 全列查询 指定列查询 查询字段并添加自定义表达式 自定义表达式重命名 查询指定列并去重 select distinct 列名 from 表名 where条件 查询列数据为null的 null与 (空串)是不同的! 附:一般null不参与查询。 查询列数据不为null的 查询某列数据指定…

时序预测 | Python实现GA-TCN-LSTM遗传算法-时间卷积神经网络-长短期记忆网络时间序列预测

时序预测 | Python实现GA-TCN-LSTM遗传算法-时间卷积神经网络-长短期记忆网络时间序列预测 目录 时序预测 | Python实现GA-TCN-LSTM遗传算法-时间卷积神经网络-长短期记忆网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 使用先进的机器学习技术和优化算法…

【C++】了解模板

这里是目录 前言函数模板函数模板的实例化类模板 前言 如果我们要交换两个数字,那么我们就需要写一个Swap函数来进行交换,那如果我们要交换char类型的数据呢?那又要写一份Swap的函数重载,参数的两个类型是char,那我们…

免费WordPress站群插件-批量管理站群的免费软件

WordPress站群插件:让文章管理如丝般顺滑 在众多网站建设工具中,WordPress一直以其简便易用、丰富的插件生态而备受青睐。对于站群管理者而言,如何高效地更新、发布和推送文章是一项不可忽视的任务。本文将专注分享一款WordPress站群插件&am…

Vue语音播报,不用安装任何包和插件,直接调用。

Vue语音播报功能可以通过使用浏览器提供的Web Speech API来实现。这个API允许你的应用程序通过浏览器朗读文本&#xff0c;不用安装任何包和插件&#xff0c;直接调用。以下是一个简单的介绍&#xff0c;演示如何在Vue中使用语音提示功能&#xff1a; 一、JS版本 <template…

陈年雷司令葡萄酒中的石油笔记

雷司令葡萄酒通常在年轻时食用&#xff0c;当它们酿造出果味和芳香的葡萄酒时&#xff0c;可能带有绿色或其他苹果、葡萄柚、桃子、醋栗、蜂蜜、玫瑰花或切绿草的香气&#xff0c;并且由于酸度高&#xff0c;通常味道清脆。 雷司令天然的高酸度和各种风味使其适合长时间老化&am…

【MySQL】视图:简化查询

文章目录 create view … as创建视图更改或删除视图drop view 删除视图replace关键字&#xff1a;更改视图 可更新视图with check option子句&#xff1a;防止行被删除视图的其他优点简化查询减小数据库设计改动的影响使用视图限制基础表访问 create view … as创建视图 把常用…

代码级接口测试与单元测试的区别

关于接口测试 接口测试是一个比较宽泛的概念, 近几年在国内受到很多企业和测试从业者的追捧, 尤其是上层的UI在取悦用户的过程中迭代更新加快, UI自动化维护成本急剧上升的时代, 大家便转向了绕过前端的接口层面进行测试. 但是很多人, 对接口测试的理解并不完整, 事实上, 我们…