首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C#脚本中创建预制件变体?

如何在C#脚本中创建预制件变体?
EN

Stack Overflow用户
提问于 2018-11-01 05:11:54
回答 1查看 6.2K关注 0票数 3

我正在试用联合公司的新预置工作流程。我想以编程的方式在我已经创建的预置文件上创建prefab变体。我正在使用统一2018.3.0b7。这是如何做到的呢?

EN

回答 1

Stack Overflow用户

发布于 2018-11-01 14:04:27

PrefabUtility.SaveAsPrefabAsset函数用于创建一个预置变量。请注意,您只能在编辑器中创建预制板和预置变体,而不是在构建中。要创建一个预置变量,首先必须使用PrefabUtility.InstantiatePrefab实例化预制件,然后可以使用PrefabUtility.SaveAsPrefabAsset函数来创建该变体。

从文件中加载您的预置文件或获取对原始预制件的引用:

代码语言:javascript
复制
GameObject prefabRef 
 = (GameObject)AssetDatabase.LoadMainAssetAtPath("Assets/Prefabs/YourPrefabName.prefab");

实例化预置编辑器的方法

代码语言:javascript
复制
GameObject instanceRoot = (GameObject)PrefabUtility.InstantiatePrefab(prefabRef);

创建预置变体

代码语言:javascript
复制
GameObject pVariant = PrefabUtility.SaveAsPrefabAsset(instanceRoot, "Assets/Prefabs/PrefabOutputName.prefab");

清除实例化对象

代码语言:javascript
复制
GameObject.DestroyImmediate(instanceRoot);

注意:

您需要Unity2018.3b及以上来创建prefab变体。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53095501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档