赞
踩
如果你是用脚本更改的Inspector(检查器)面板数据(属性),一般情况下,场景是检测不到更改的,等我们关闭了场景,一切还原,什么都没发生。
这个应该是Unity的正常设计,就像我们startup之后,场景的任何改变都不会保存。
那么如果有需要,如何保存呢?
方案一:手动存储
手动存储要让场景检测到有变化,即有*的状态,我们可以打开关闭场景中任何组件的active,用以触发存储。
还有就是使用代码:
EditorUtility.SetDirty(component);
方案二:代码存储(推荐)
- #if UNITY_EDITOR
- using UnityEditor.SceneManagement;
- using UnityEngine.SceneManagement;
-
- public static class SceneUtil
- {
- public static void Save()
- {
- var scene = SceneManager.GetActiveScene();
- EditorSceneManager.SaveScene(scene);
- }
- }
- #endif
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。