要保存当前 PrefabStage 的修改,可以通过以下代码:

// 获取当前正在编辑的 PrefabStage
var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();

// 如果 PrefabStage 存在
if (prefabStage != null)
{
    // 获取 PrefabStage 的根 GameObject
    var rootGameObject = prefabStage.prefabContentsRoot;

    // 将修改保存到 Prefab
    PrefabUtility.SaveAsPrefabAsset(rootGameObject, prefabStage.prefabAssetPath);
}

这段代码获取当前正在编辑的 PrefabStage,然后获取其根 GameObject,并且调用 'PrefabUtility.SaveAsPrefabAsset' 方法将修改保存到 Prefab 中。注意,保存 Prefab 时需要指定 Prefab 的路径,可以从 PrefabStage 的 'prefabAssetPath' 属性中获取。

Unity 代码保存当前 PrefabStage 修改

原文地址: https://www.cveoy.top/t/topic/lNxv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录