我想在Python中加载一个GLB模型,用另一张贴图替换现有的贴图,并保存它。
目前我已经能够加载,修改和导出模型。同时,我找到了一种方法将本地图像附加到模型上。 但是,我不确定如何找到并替换现有的贴图。
一个具有一个纹理文件的示例3D模型:https://modelviewer.dev/shared-assets/models/Astronaut.glb
from pygltflib import GLTF2
from pygltflib.utils import ImageFormat, Image
filename = "Astronaut.glb"
gltf = GLTF2().load(filename)
image = Image()
image.uri = "new-texture.png"
gltf.images.append(image)
gltf.convert_images(ImageFormat.DATAURI)
gltf.images[0].uri
gltf.images[0].name
# How to find and replace the existing texture?
# ...
filename2 = "updated-3D-model.glb"
gltf.save(filename2)