MTL不随OBJ处理一起加载

时间:2018-07-22 20:05:52

标签: 3d processing

我创建了一个简短的脚本来显示欢迎屏幕,然后在用户单击后创建3D模型。显示3d模型(OBJ)的代码如下:

PShape shuttle;

void setup() {
    ...
    shuttle = loadShape("shuttlecraft.obj");
    ...
}
void draw() {
    ...
    translate(width/3, height/2);
    scale(10, 10, 10);
    shape(shuttle);
    ...
}

将加载OBJ,但不会加载关联的MTL。我看过另一篇类似的文章,但提出的答案没有用。我已经广泛检查了处理论坛以及处理Wiki。如何加载MTL?

编辑:

我认为问题是由于MTL文件为空。 3mf中有顶点颜色,而不是纹理。因此,当3d Builder将3mf保存为OBJ时,它不保存任何纹理,仅保存顶点颜色,而该颜色不能被Processing处理。那么如何将3mf正确地转换为OBJ?

2 个答案:

答案 0 :(得分:0)

首先,请确保您的目标文件具有对您的.mtl文件的引用。例如,以下是从Blender导出的目标文件的前几行:

# Blender v2.79 (sub 0) OBJ File: ''
# www.blender.org
mtllib lefthand.mtl
o RobotHand_Cube.017
v -0.409451 -0.291475 0.250885
...
...

在第三行中,参考了材料文件:mtllib lefthand.mtl。人们重命名文件而忘记更改引用以匹配新名称时,会发生常见错误。

答案 1 :(得分:0)

经过大量研究,我终于找到了这个半指南:https://www.reddit.com/r/TiltBrush/comments/80960e/how_to_properly_convert_an_obj_with_vertex_color/

它用颜色呈现。

我的模型在处理预期的纹理时使用顶点颜色。上面创建了一个PNG纹理。我希望这会有所帮助。