有没有办法找到PyCollada几何体上纹理的文件路径?

2024-10-16 22:29:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图解决的问题是,我在blender中创建了一个模型,其中有几个独立的几何体,每个几何体都有自己的纹理文件

据我所知,您可以在PyCollada中创建一个网格,并获得如下纹理坐标:

from collada import Collada

mesh = Collada("my_model.dae")

geometries = [g for g in mesh.geometries] # gets a list of the geometries
tex_paths = [im.path for im in mesh.images] # gets a list of the texture paths

但是,我遇到的问题是纹理路径和几何体不共享索引,而且我似乎找不到一种抽象的方法来一致地将几何体映射到其漫反射纹理文件。有什么建议吗


Tags: 文件ofthein模型forlistpaths
1条回答
网友
1楼 · 发布于 2024-10-16 22:29:32

我想出来了,我就是这样做的:

rel_path = "../../../"
tex_paths = []

# iterate over geometries in the mesh
for geom in mesh.geometries:
    abs_path = mesh.materials[geom.primitives[0].material].effect.params[0].image.path
    tex_paths.append(rel_path + abs_path)

其中rel_path只是相对于存在模型和纹理的python脚本的路径

相关问题 更多 >