首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在运行时保存修改后的网格?

问如何在运行时保存修改后的网格?
EN

Stack Overflow用户
提问于 2019-01-17 21:00:35
回答 1查看 2.2K关注 0票数 0

在我的游戏中,我使用损害算法在运行时修改网格。

在那之后,我想拯救他们。

我得到了所有的网格:

代码语言:javascript
复制
MeshFilter[] meshfilters = MyObject.GetComponentsInChildren<MeshFilter>();

然后我修改单个网格。

如何将它保存在我原来的FBX文件中?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-18 03:44:53

Unity的内部网格类型与FBX不一样,FBX是一种文件存储格式,而团结在运行时使用不同的内部结构,以提高效率。

据我所知,没有标准方法可以将运行时网格保存为FBX (这是3D建模软件的特性,而不是游戏引擎)。

您可以以某种方式保存变形并在重新加载模型时重新应用它们,当我做了类似的事情(运行时自定义生成的地形网格)时,我会在运行时生成一个网格,然后保存生成该网格所需的数据,然后将其传递到最初用于生成网格的流中。

可以在统一编辑器中序列化网格数据,因为meshdata实际上是一种与FBX不同的格式(Unity,然后从FBX的数据生成网格资产,然后将该网格与FBX关联起来)--通过使用AssetDatabase.CreateAsset() https://docs.unity3d.com/ScriptReference/AssetDatabase.CreateAsset.html来实现这一点

但我不认为这是你想要做的。

如果您想要完整的FBX功能套件(皮肤,动画,在其他统一项目中使用),并且您想在运行时使用它们,那么您实际上没有我所知道的任何选项。除非实现您自己的FBX序列化库(并不是一个合理的解决方案)

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

https://stackoverflow.com/questions/54244211

复制
相关文章

相似问题

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