componentOrGameObject | 用于查找对应对象的物体。 |
assetPath | Prefab 资源的资源路径,用于获取对应的对象。 |
TObject 对应的对象或 null。
从给定的 Prefab 资源路径检索给定对象的对应对象。
当且仅当它在指定路径处的预制资源内时,使用此方法查找 source
的对应资源被实例化。
如果您没有指定的路径,可以使用 GetCorrespondingObjectFromSource。
如果给定的对象在指定路径下的预制资源中没有对应的对象,则此方法返回 null。
例如,在下图中,预制资源 "A" 包含一个子级嵌套预制 "B",该预制又包含一个子级嵌套预制 "C"。
在此示例场景中,当 GameObject "C (实例)" 作为源传递给此方法,并且 "Assets/A.prefab" 作为路径传递时,此方法从预制资源 "A" 中返回对象 "C (嵌套预制)"。
以下示例脚本向编辑器添加一个菜单项,它会启动一个简单的向导,允许您测试此方法的结果。
using UnityEditor; using UnityEngine; public class AssetSourceTestWizard : ScriptableWizard { public GameObject instance; public string path;
[MenuItem("Test/Asset Source Test Wizard")] static void CreateWizard() { ScriptableWizard.DisplayWizard<AssetSourceTestWizard>("Asset Source Test Wizard", "Do Test"); }
void OnWizardCreate() { var o1 = PrefabUtility.GetCorrespondingObjectFromSourceAtPath(instance, path); Debug.Log("Corresponding object from source: " + o1.name); } }