网站开发是否属于无形资产,吴忠市建设局网站,上传了网站标志 功能链接,广州网站建设排行在Unity中有一些比较常用的注解#xff1a;
1、[SerializeField]#xff1a;将私有字段或属性显示在 Unity 编辑器中#xff0c;使其可以在 Inspector 窗口中进行编辑。
2、[Range(min, max)]#xff1a;限制数值字段或属性的范围#xff0c;在 Inspector 窗口中以滑动条…在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]注解的类需要满足以下条件
类必须是公共类public class。类必须是非嵌套类不能是其他类的内部类。类的所有字段包括私有字段都必须是可序列化的类型或标记为 [Serializable]。
被标记为 [Serializable]可以对该类进行序列化和反序列化的操作。
还有当我们使用[Serializable]注解结构体时可以使得公共类在 Inspector 窗口是可见的。这个也是比较常用的。
9、[ExecuteInEditMode]在编辑器模式下执行脚本用于在编辑器中实时预览某些效果。
使用该标记当脚本所在的 GameObject 在编辑器中被激活、属性发生变化或者Transform 发生变化时就会执行被注解的脚本。这可以方便我们在编辑模式下就行一些调参或者查看效果而无需来回切换到播放模式。