UnityObjectManager is not unnecessary for prefab

This commit is contained in:
ousttrue
2021-06-11 17:12:13 +09:00
parent 4db1711410
commit 423889cb05
3 changed files with 12 additions and 6 deletions

View File

@@ -55,9 +55,11 @@ namespace UniGLTF
{
context.AddObjectToAsset(k.Name, o);
});
var root = loaded.Root;
GameObject.DestroyImmediate(loaded);
context.AddObjectToAsset(loaded.name, loaded.gameObject);
context.SetMainObject(loaded.gameObject);
context.AddObjectToAsset(root.name, root);
context.SetMainObject(root);
}
}
}

View File

@@ -139,18 +139,20 @@ namespace VRM
m_paths.Clear();
m_paths.Add(m_prefabPath);
loaded.TransferOwnership(SaveAsAsset);
var root = loaded.Root;
GameObject.DestroyImmediate(loaded);
// Create or update Main Asset
if (m_prefabPath.IsFileExists)
{
Debug.LogFormat("replace prefab: {0}", m_prefabPath);
var prefab = m_prefabPath.LoadAsset<GameObject>();
PrefabUtility.SaveAsPrefabAssetAndConnect(loaded.gameObject, m_prefabPath.Value, InteractionMode.AutomatedAction);
PrefabUtility.SaveAsPrefabAssetAndConnect(root, m_prefabPath.Value, InteractionMode.AutomatedAction);
}
else
{
Debug.LogFormat("create prefab: {0}", m_prefabPath);
PrefabUtility.SaveAsPrefabAssetAndConnect(loaded.gameObject, m_prefabPath.Value, InteractionMode.AutomatedAction);
PrefabUtility.SaveAsPrefabAssetAndConnect(root, m_prefabPath.Value, InteractionMode.AutomatedAction);
}
foreach (var x in m_paths)

View File

@@ -49,9 +49,11 @@ namespace UniVRM10
{
context.AddObjectToAsset(key.Name, o);
});
var root = loaded.Root;
GameObject.DestroyImmediate(loaded);
context.AddObjectToAsset(loaded.name, loaded.gameObject);
context.SetMainObject(loaded.gameObject);
context.AddObjectToAsset(root.name, root);
context.SetMainObject(root);
}
}
}