【问题标题】:Is there a way to find the file path for a texture on a PyCollada geometry?有没有办法在 PyCollada 几何图形上找到纹理的文件路径?
【发布时间】:2020-10-23 10:44:36
【问题描述】:

我要解决的问题是我在搅拌机中创建了一个模型,其中包含几个单独的几何图形,每个几何图形都有自己的纹理文件。

据我了解,您可以在 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

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

【问题讨论】:

    标签: python geometry textures collada


    【解决方案1】:

    我想通了,我就是这样做的:

    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 脚本的路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 2018-11-21
      相关资源
      最近更新 更多