首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Unity 2017.1中为动画剪辑(FBX和其他)启用loopTime

如何在Unity 2017.1中为动画剪辑(FBX和其他)启用loopTime
EN

Stack Overflow用户
提问于 2017-08-28 22:01:17
回答 1查看 678关注 0票数 0

我有一个FBX模型与动画剪辑作为子资源(嵌入其中),我想启用循环的所有剪辑在它。我发现AnimationUtilityGetClipSettings方法现在已经过时了,我也尝试过使用它,但它不起作用。这可能是因为Unity已经改变了他们的循环API,似乎访问loopTime属性的唯一方法是手动访问fbx模型的子资源并检查loopTime属性。然而,我必须自动化这个过程,因为在构建资源包之前,我正在为我的模型生成动态动画控制器。该流程包括后期/预处理,然后通过编辑器脚本构建资源包。到目前为止,我已经遇到了this post,我可以通过为每个剪辑设置ModelImporterClipAnimation.loopTime = true来启用loopTime,并且它可以工作。然而,现在模型看起来完全是粉红色的,因为它失去了对材料的引用,不管是什么原因,只有当我包含AssetPostprocessing脚本时才发生这种情况。

这应该如何处理呢?

如果包含AssetPostprocessorOnPreprocessAnimation,为什么模型会丢失材料?我是不是遗漏了什么?

如果我搞乱了AssetPostprocessor,我是否还应该通过其他方法来处理材料引用

我们可以通过其他方式访问loopTime吗?但是,文档中并没有指定它。

我的代码与上面引用的帖子完全相同,只是稍微更改了一下以启用loopTime。或者,有没有更好的方法来完成这一切?

附注:在一天的搜索和实验之后,我发布了这个问题,如果问题不够清楚,请提前道歉。如果需要,我可以添加更多信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-29 04:08:32

我认为你必须自己处理这些材料。可以将ModelImporter.importMaterials设置为false,以便在导入模型时创建默认的漫反射材质。

如果材料已存在,您还可以搜索现有材料并在导入模型时加载它:

代码语言:javascript
复制
ModelImporter modelImporter = (ModelImporter)assetImporter;
modelImporter.materialName = ModelImporterMaterialName.BasedOnMaterialName;
modelImporter.materialSearch = ModelImporterMaterialSearch.Local;

有关其他选项,请参阅ModelImporterMaterialNameModelImporterMaterialSearch文档。

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

https://stackoverflow.com/questions/45920858

复制
相关文章

相似问题

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