当前位置: 首页 > 知识库问答 >
问题:

转换obj和。将包含多个材质的mtl文件转换为json

公羊新
2023-03-14

我有一本书。obj。具有多个材质的mtl文件对于指定的材质,我要打印顶点及其对应的uv坐标。有没有一种方法可以解析一个。obj,和。mtl文件并将其导出为json?使用时

  • 波前obj分析器
  • Py波前
  • meshlab所有这些工具都会生成一个json文件,我认为数据是部分的——我没有看到其中的材料

编辑:

我用一个示例3D模型进行了测试

第1步:转换文件。obj和。mtl将多个材质合并为一个。json文件

  • 添加插件到Blender(版本2.76b)按照指示在这里
  • 在Blender中,导入. obj,. mtl(模型显示但不显示材质纹理)
  • 在Blender导出到Three.json(见这里)

步骤2:加载生成的。threejs示例中的json文件(foo1.json)

  • 使用的例子webgl_loader_json_objconverter.html从这里
  • 把Female02_slim.js换成foo1.json
  • 模型Male02_dds.js加载,但foo1.json没有,我得到一个错误消息:TypeError:顶点是未定义的

一些链接表明Blender Exporter和Json文件加载器不太可靠(请参阅这里、这里、这里和这里的概述)是否有其他转换器。obj。mtl到。任何人都可以推荐的json?(不一定与three.js有关)

假设我可以转换为glTF格式,是否有一个工具,(例如Python中的命令行实用程序),让我指定一个材料索引,并获得该材料的顶点和相应的uv坐标?

解决方法:我最终使用了meshlab插件导出到json。它对我来说(几乎)很好

共有1个答案

唐元凯
2023-03-14

当然,您可以使用Blender和THREE JS插件(导出器):

https://www.blender.org/

https://github.com/mrdoob/three.js/tree/dev/utils/exporters/blender

如果使用JSON Loader函数,导出的文件有材料作为数组

https://threejs.org/docs/#api/loaders/JSONLoader

 类似资料:
  • 我的用例非常简单。我需要将PDF转换为图像。我尝试使用apache pdfbox,但在转换包含扫描图像的PDF时遇到了一些问题。转换扫描图像时,由于压缩/缩放,图像清晰度会降低。所以我试图从PDF中提取图像数据,然后存储它。但问题是,我可能会得到包含图像和文本的PDF文件,在这种情况下,我需要返回到图像转换模式。问题是如何区分只有图像的页面/文档和包含复合数据的页面/文档。我想我可以使用ProcS

  • 我用Acceleo3.7编写了eclipse neon,并编写了一个简单的示例(与入门中的示例相同),但我无法使用“Acceleo插件应用程序”配置调试转换。实际上,当我选择这个配置时,我根本无法运行转换,并且我得到以下错误: 当我以“Java Application”作为运行器配置运行/调试转换时,转换运行了,但仍然无法调试转换。有什么办法解决这个问题吗?

  • 有没有办法将文件对象转换为多部分文件?以便我可以将该对象发送到接受接口对象的方法?

  • 在这里你可以看到我正在处理的一些文件。 与我最相似的问题是这个问题(将一个文本文件文件夹合并到一个CSV中,每个内容都在一个单元格中),但我无法实现那里提出的任何解决方案。 我尝试的最后一个是Nathaniel Verhaaren在前面提到的问题中提出的Python代码,但我得到了与问题作者完全相同的错误(即使在实施了一些建议之后): 与我类似的其他问题(例如,Python:将多个。txt文件解析

  • 问题内容: 乍一看,似乎很明显……只要找到4个索引,就在每个面上制作2个三角形,对吗? 含义如下: 进而需要将…转换为以下内容: 当然,此特定示例将正确呈现。 但是,并非所有情况都像将面分为两个面一样简单(根据上述示例,第一个面包含原始面的前三个顶点,第二个面包含最后3个顶点)。以以下多维数据集为例: 这些面不能以前面的示例相同的方式进行分割…因此,我需要某种方式来了解如何将四边形面分割为两个三角

  • 我从. csv文件读取数据到熊猫数据框如下。对于其中一个列,即,我想将列类型指定为。问题是系列缺少/空值。 当我在读取.csv时尝试将列强制转换为整数时,我得到: 或者,在阅读以下内容后,我尝试转换列类型,但这次我得到: 我如何处理这个问题?