版本: Unity 6 (6000.0)
语言英语
  • C#

HideFlags

枚举

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每项更改建议,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

控制对象销毁、保存和在检查器中可见性的位掩码。

其他资源:Object.hideFlags.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { // Creates a material that is explicitly created & destroyed by the component. // Resources.UnloadUnusedAssets will not unload it, and it will not be editable by the inspector. private Material ownedMaterial; void OnEnable() { ownedMaterial = new Material(Shader.Find("Diffuse")); ownedMaterial.hideFlags = HideFlags.HideAndDontSave; GetComponent<Renderer>().sharedMaterial = ownedMaterial; }

// Objects created as hide and don't save must be explicitly destroyed by the owner of the object. void OnDisable() { DestroyImmediate(ownedMaterial); } }

如果您将 `HideFlags` 设置为 `DontSaveInEditor`、`DontSaveInBuild` 或 `HideInHierarchy`,该对象将从场景及其当前物理场景中内部移除。这包括 2D 和 3D 物理场景。该对象还会触发其 `OnDisable` 和 `OnEnable` 调用。

您可以使用这些标志来控制是否将使用 AssetDatabase 尚未保存到项目的实例化资源(例如 ScriptableObjects 和 Materials)(即它们不是持久性的)序列化到场景中。

属性

普通可见对象。这是默认值。
HideInHierarchy该对象不会显示在层次结构中。
HideInInspector无法在检查器中查看。
DontSaveInEditor该对象不会保存到编辑器中的场景。
NotEditable该对象在检查器中不可编辑。
DontSaveInBuild在构建播放器时,该对象不会保存。
DontUnloadUnusedAsset该对象不会被 Resources.UnloadUnusedAssets 卸载。
DontSave该对象不会保存到场景。加载新场景时不会被销毁。它是 HideFlags.DontSaveInBuild | HideFlags.DontSaveInEditor | HideFlags.DontUnloadUnusedAsset 的快捷方式。
HideAndDontSave该 GameObject 不显示在层次结构中,不保存到场景,也不被 Resources.UnloadUnusedAssets 卸载。