我正在写一个MenuItem
来对一系列预制件进行一些修改。我想要做的是在下面:
PrefabUtility.ReplacePrefab
一段代码就是这样的:
GameObject sequenceObject = Instantiate(Resources.Load("Cinematic/"+sequenceName)) as GameObject;
Object targetPrefab = PrefabUtility.GetPrefabParent(sequenceObject);
// do some change to the sequenceObject
PrefabUtility.ReplacePrefab(sequenceObject, targetPrefab, ReplacePrefabOptions.ConnectToPrefab);
问题是targetPrefab
是null
并且层次结构中的代码生成的预制件实例称为xxxxx(Clone)
,这与我将预制件拖入层次结构时的实例不同,后者可以使用上述方法修改预制。
所以任何人都可以提供帮助吗?
Edit1:我的问题与此问题相同:Instantiate Prefab but not linked to the prefab,但解决方案不是我想要的
答案 0 :(得分:0)
最后,我找到了解决方案:
GameObject sequenceObject = PrefabUtility.InstantiatePrefab(Resources.Load("Cinematic/" + sequenceName)) as GameObject;
这就是我想要的。