问题标签 [mtl-file]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
211 浏览

transparency - obj 的 mtl 文件中的透明 png(alpha 通道)支持

我对这件事摸不着头脑:我有一个简单的 LEGO tile 2x2 砖模型,采用红色 OBJ 文件格式,在其顶部表面应用了黄色箭头的透明图像。它在 mtl 文件中定义如下(使用 Blender 2.90.1 生成):

问题是,一旦导入回 Blender(以检查它是否按原样制作,它似乎不是)或在 PoseRay(3D 查看器)中看到,砖背景颜色是黑色(或 PoseRay 中的白色)tho黄色箭头可见。似乎它只是忽略了透明 png 图像的 alpha 通道,或者我是对的吗?这是它在 PoseRay 中的样子:

在此处输入图像描述

然而,在互联网上花了半天试图找到解决方案(没有成功)之后,我玩了一下它,我至少发现如果我改变它map_Kdmap_d它会使透明 png 的 alpha 通道处于活动状态,但它会改变图像颜色(黑色使砖的表面完全透明,因此我们可以看到砖,黄色变成白色,因为它基本上将黑色作为显眼而白色作为不透明,并且介于部分可见/不可见之间的所有内容取决于实际颜色位于黑色和白色之间)。请参阅下面的代码和生成的图像。

在此处输入图像描述

那么 obj/mtl 是否支持在 mtl 文件中定义的透明 png 图像的 alpha 通道?如果它确实如何做到这一点(mtl 文件中的代码),以便它看起来像预期的那样(红色背景上的黄色箭头)?

0 投票
1 回答
230 浏览

3d - 加载具有多个 png 纹理的 obj 文件时,Meshlab 崩溃

我有一个 OBJ 文件以及相应的 MTL 和几个 PNG 纹理。我用meshlab打开它。这个从 free3d 下载的网格文件没有在 MTL 中指定纹理 PNG 文件。所以我像这样自己添加了它:

由于有多个纹理,我map_Kd在两个不同的地方添加了两条线。但是,我发现如果我只使用两个(无论哪个)map_Kd命令中的一个,meshlab 就可以打开文件。但是如果我同时使用两个,meshlab 在启动时会崩溃。

我尝试在终端中运行它,它显示以下内容:

  • 正确打开(只有一个map_Kd):
  • 启动时崩溃(两个map_Kd命令):

有谁知道为什么?是meshlab错误还是我做错了什么?

如果重要的话,我正在使用 Ubuntu20.04 和从 Ubuntu 软件中心安装的 Meshlab_64bit_fp v2020.12。


更新 1: Windows 10 上的 Meshlab_64bit_fp v2020.03 的行为相同。


更新 2:

为了使其可重现,我在下面发布了我的 MTL 文件。我添加的两个map_Kd命令分别位于第 184 行(下newmtl col_rangka_wadah_perr)和最后一行。

0 投票
1 回答
75 浏览

javascript - three.js - 如何在没有 *.mtl 文件的情况下将自定义颜色设置为 *.obj 模型?

我有一组 *.obj 格式的模型,它们没有材料文件(*.mtl 文件)。一些在线服务正确显示这些模型:https://3dviewer.net/https://sketchfab.com/。但是-根据three.js文档-在我的项目中,我只得到了不正确的模型显示: 我的本地结果

代替: 在线 3D 查看器 (https://3dviewer.net/) 结果,也使用了 three.js

开发者https://3dviewer.net/说这个服务的想法是,如果没有找到 *.mtl 文件,那么脚本会设置默认颜色/材质——用一种颜色绘制整个产品。

如何使用 three.js 工具将 *.obj 文件中的对象着色为选定的颜色?

为了测试,我附上了一个没有材料文件的模型文件:测试样本 *.obj 文件

0 投票
1 回答
69 浏览

objective-c - SceneKit – 如何将 MTL 纹理应用于 OBJ 文件?

作为后续行动:

ios - 如何将 mtl 纹理文件应用于 OBJ

将模型导入SceneKit时,我想添加.MTL 纹理.OBJ 文件

使用这样的代码:

但是我拥有的纹理文件存储在DOCUMENTS目录(iOS)中。

如何在Objective-C中调用这个函数?

0 投票
0 回答
15 浏览

model - 您可以使用搅拌机从模型中提取纹理并将其导出为 png 吗?

我正在尝试为源引擎制作模型。我已经成功导入了 mdl,但我需要纹理,否则它看起来很可怕。我正在使用 obj,因此无法将其转换为 png,因为它没有图像数据。我想知道是否有人知道使用搅拌机或其他程序来做到这一点的任何方法。我只需要一个 png,我可以将其转换为 vmt 和 vtf。谢谢!没有纹理的模型

0 投票
1 回答
27 浏览

colors - 在三个js中加载纹理形式MTL文件时颜色错误

我加载模型时得到的颜色比纹理本身略暖

0 投票
0 回答
6 浏览

textures - 如何在 .mtl 文件中映射金属纹理?

我有一个必须以 .obj 格式保存的模型。它附带 5 个纹理贴图(漫反射、自发光、法线、遮挡和金属)。

我想在 .mtl 文件中引用这些纹理,但似乎找不到它的语法。截至目前,我所知道的就是映射我所做的漫反射纹理:

但我找不到任何其他用于映射金属纹理类型的关键字。任何帮助将非常感激!