如何在C#脚本中创建预置变量?
我正在试用Unity的新预制工作流。我想在已经创建的预置上以编程方式创建预置变量。我使用的是Unity 2018.3.0b7。如何做到这一点 使用如何在C#脚本中创建预置变量?,c#,unity3d,C#,Unity3d,我正在试用Unity的新预制工作流。我想在已经创建的预置上以编程方式创建预置变量。我使用的是Unity 2018.3.0b7。如何做到这一点 使用预置实用程序.SaveAsPrefabAsset函数创建预置变量。请注意,您只能在编辑器中创建预置和预置变量,而不能在构建中创建。要创建预制变量,首先必须使用预制实用程序实例化预制。实例化prefab然后可以使用预制实用程序.SaveAsPrefabAsset函数创建变量 从文件加载预制件或获取对原始预制件的引用: GameObject prefabR
预置实用程序.SaveAsPrefabAsset
函数创建预置变量。请注意,您只能在编辑器中创建预置和预置变量,而不能在构建中创建。要创建预制变量,首先必须使用预制实用程序实例化预制。实例化prefab
然后可以使用预制实用程序.SaveAsPrefabAsset
函数创建变量
从文件加载预制件或获取对原始预制件的引用:
GameObject prefabRef
= (GameObject)AssetDatabase.LoadMainAssetAtPath("Assets/Prefabs/YourPrefabName.prefab");
以编辑器的方式实例化预置
GameObject instanceRoot = (GameObject)PrefabUtility.InstantiatePrefab(prefabRef);
创建预制变量
GameObject pVariant = PrefabUtility.SaveAsPrefabAsset(instanceRoot, "Assets/Prefabs/PrefabOutputName.prefab");
清理实例化的对象
GameObject.DestroyImmediate(instanceRoot);
注:
您需要Unity 2018.3b及以上版本来创建预制变体。不要只问“如何才能做到这一点”。提出更具体的问题,并张贴您尝试过的代码示例。