Ten*_*Ten 4 c# unity-game-engine
我正在尝试 Unity 的新预制工作流程。我想以编程方式在我已经创建的预制件上创建预制件变体。我使用的是Unity 2018.3.0b7。如何才能做到这一点?
该PrefabUtility.SaveAsPrefabAsset函数用于创建预制件变体。请注意,您只能在编辑器中创建预制件和预制件变体,而不能在构建中创建。要创建预制件变体,您首先必须实例化预制件,PrefabUtility.InstantiatePrefab然后您可以使用该PrefabUtility.SaveAsPrefabAsset函数来创建变体。
从文件加载预制件或获取原始预制件的参考:
GameObject prefabRef
= (GameObject)AssetDatabase.LoadMainAssetAtPath("Assets/Prefabs/YourPrefabName.prefab");
Run Code Online (Sandbox Code Playgroud)
以编辑器方式实例化预制件
GameObject instanceRoot = (GameObject)PrefabUtility.InstantiatePrefab(prefabRef);
Run Code Online (Sandbox Code Playgroud)
创建预制变体
GameObject pVariant = PrefabUtility.SaveAsPrefabAsset(instanceRoot, "Assets/Prefabs/PrefabOutputName.prefab");
Run Code Online (Sandbox Code Playgroud)
清理实例化对象
GameObject.DestroyImmediate(instanceRoot);
Run Code Online (Sandbox Code Playgroud)
笔记:
您需要Unity 2018.3b及更高版本来创建预制件变体。
| 归档时间: |
|
| 查看次数: |
7641 次 |
| 最近记录: |