Unity Prefab API 整理(二)
上篇讲解了Prefab在unity2017、untiy2018 的区别,这篇文章将讨论下在unity2018 下如何使用Prefab的预览功能,如图
将双击点击prefab时,则会进入prefab编辑界面,此界面方便对单个prefab进行查看和编辑,如图:
怎么样?这个是不是还是很方便? so happy , 。。。 但是如何用代码进行自动打开和编辑呢?
unity2018 提供了PrefabStageUtility.cs 类,用来实现代码控制打开Prefab的预览窗体,
1 var selected = Selection.activeGameObject;
2 // Debug.Log(selected.name + ", type: " + PrefabUtility.GetPrefabAssetType(selected));
3 var prefabRoot = PrefabUtility.GetOutermostPrefabInstanceRoot(selected);
4 Debug.Log("prefabRoot: " + prefabRoot);
5 var tmpObj = AssetDatabase.LoadAssetAtPath<GameObject>(PrefabUtility.GetPrefabAssetPathOfNearestInstanceRoot(prefabRoot));
6 //进入Prefab的预览界面
7 AssetDatabase.OpenAsset(tmpObj);
8 var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();
9
10 var PrefabStage_Root = prefabStage.prefabContentsRoot.gameObject;
11 Debug.Log("PrefabStage_Root: " + PrefabStage_Root);
12

![Unity Prefab API 整理(二)
[编程语言教程]](https://www.zixueka.com/wp-content/uploads/2024/01/1706711739-bfdfd89954307be.jpg)


