使用贴图显示3D模型

3

我有一个带有obj文件、mtl文件和png纹理图的纹理3D模型。 我可以使用trimesh和vtkplotter将其可视化,但没有纹理:

//trimesh//
m = trimesh.load("3dmodel.obj")

//vtkplotter//
m = load("3dmodel.obj")

但是它们只将3D模型显示为普通网格。

我想同时看到它们和纹理。

有人可以帮我查看包含纹理的3D模型吗?

任何小的帮助都将非常有帮助。

3个回答

2
您可以这样做:
import numpy as np
import trimesh
from PIL import Image

im = Image.open("Lmobl/texture.png")
mesh = trimesh.load('Lmobl/raw_model.obj',process=False)
tex = trimesh.visual.TextureVisuals(image=im)
mesh.visual.texture = tex
mesh.show()

以下是结果:

在这里看到结果:enter image description here

如果需要无纹理的内容,可以在这里找到答案。


2
您可以尝试以下方法:
from vtkplotter import load

# https://free3d.com/3d-model/091_aya-3dsmax-2020-189298.html
mesh = load("091_W_Aya_100K.obj").texture("tex/091_W_Aya_2K_01.jpg")
mesh.lighting('glossy') # change lighting (press k interactively)

mesh.show()

enter image description here


2
非常感谢您的帮助。那真是救了我的一天。非常非常感谢您的及时回复。那个方法很好用。我可以联系您吗?我还有几个问题要问。如果可以的话,您愿意再帮我一下吗?我需要知道如何使用vtkplotter来变形网格并将其覆盖在另一个网格上。您能帮我吗? - RedBall
我很高兴那对你有用,更快获得帮助的方法是在 GitHub 存储库中打开问题。在 https://github.com/marcomusy/vtkplotter-examples 中有许多关于变形网格的示例,可以查看是否符合您的需求。 - mmusy
1
当然会去检查。感谢您的支持 :) - RedBall

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接