位掩码,用于控制对象的销毁、保存和在 Inspector 中的可见性。
另请参阅:HideFlags.HideAndDontSave、SA.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); } }
Note: If you set hide flags to DontSaveInEditor, DontSaveInBuild or HideInHierarchy, this internally removes the object from the Unity Scene, as well as from its current physics scene (this includes both 2D and 3D physics scenes). This also causes the object to trigger its OnDisable and OnEnable calls.
None | 一个普通的可见对象。此为默认值。 |
HideInHierarchy | 该对象不会显示在层级视图中。 |
HideInInspector | 无法在 Inspector 中查看它。 |
DontSaveInEditor | 该对象不保存到 Editor 中的场景。 |
NotEditable | The object is not editable in the Inspector. |
DontSaveInBuild | 构建播放器时不保存该对象。 |
DontUnloadUnusedAsset | Resources.UnloadUnusedAssets 不会卸载该对象。 |
DontSave | 该对象不保存到场景。加载新场景时,也不会销毁它。它是 HideFlags.DontSaveInBuild | HideFlags.DontSaveInEditor | HideFlags.DontUnloadUnusedAsset 的快捷方式。 |
HideAndDontSave | 该 GameObject 不显示在层级视图中、不保存到场景、也不会被 Resources.UnloadUnusedAssets 卸载。 |