vtkOBJReader 对象没有对象 (.obj) 文件的属性 SetFileNameMTL (.mtl)

vtkOBJReader object has no attribute SetFileNameMTL (.mtl) for Object (.obj) files

下面的代码抱怨 vtk.vtkOBJReader() 对象没有方法 SetFileNameMTL()。

在文档中它似乎存在 vtkOBJImporter.SetFileNameMTL也许 python 包装器丢失了?)。

如何在解析vtk中的(.obj)时设置对象的material(.mtl)并在k3d中可见?

import k3d
import vtk
import ipywidgets as widgets

reader = vtk.vtkOBJReader() 
reader.SetFileName('sample_obj/Model.obj')
reader.SetFileNameMTL('sample_obj/Model.mtl') #Attribute not found
reader.Update() 

plot = k3d.plot()
poly_data = reader.GetOutput()

plot += k3d.vtk_poly_data(poly_data)
plot.display()

您正在使用 vtkOBJReader,而不是 vtkOBJImporter。这是两个不同的 classes。我认为 vtkOBJReader 是较旧的 class,并且只读取几何文件。要加载 material 信息,您需要使用 vtkOBJImporter。