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 发生变化时,就会执行被注解的脚本。这可以方便我们在编辑模式下就行一些调参或者查看效果,而无需来回切换到播放模式。

  • 42
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity3D中常用的API包括Component、Transform、GameObject、Object和Time等。\[1\]这些API可以用于处理游戏对象的组件、变换、实例化和销毁等操作。例如,可以使用Component来获取和管理游戏对象的组件,使用Transform来控制游戏对象的位置、旋转和缩放,使用GameObject来创建、查找和销毁游戏对象,使用Object来处理资源的加载和释放,使用Time来获取游戏的时间信息。此外,还有一些常见的API函数,如Instantiate函数用于实例化预制件,Start函数和Update函数用于处理游戏对象的初始化和更新等。\[2\]\[3\]这些API和函数是Unity开发中经常使用的工具,可以帮助开发者实现各种功能和效果。 #### 引用[.reference_title] - *1* [Unity3D数字孪生笔记——Unity常用API篇](https://blog.csdn.net/Lcl_huolitianji/article/details/120875486)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Unity3D常用API](https://blog.csdn.net/u011360242/article/details/77046732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【Unity 3D】常见API的讲解以及在C#脚本中的执行(附源码)](https://blog.csdn.net/jiebaoshayebuhui/article/details/128510864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不在同一频道上的呆子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值