Открыть изображение/текстуру в Blender при помощи Python API можно вызывая оператор bpy.opa.image.open(…), или же напрямую через коллекцию изображений bpy.data.images.load(…).
Однако если формат указанного изображения не поддерживается в Blender, прерывания выполнения скрипта не происходит, Blender просто выводит в консоль сообщение об ошибке.
IMB_ibImageFromMemory: unknown file-format (с:\….f)
Перед загрузкой изображения мы можем проверить, поддерживается ли такой тип в Blender по его расширению.
Получить список всех расширений поддерживаемых в Blender изображений можно через список bpy.path.extensions_image:
1 2 |
bpy.path.extensions_image # frozenset({'.cin', '.jpeg', '.hdr', '.psd', '.png', '.jp2', '.dpx', '.tiff', '.jpg', '.pdd', '.j2c', '.bmp', '.dds', '.tx', '.rgba', '.sgi', '.tif', '.rgb', '.tga', '.exr', '.webp', '.psb'}) |
Сравнивая расширение открываемого изображения с этим списком, можно определить, поддерживается ли работа с данным типом изображений в Blender:
1 2 3 4 5 6 7 8 9 |
import bpy import os image_path = 'c:/image.xcf' if not image_path.endswith(tuple(bpy.path.extensions_image)): print('Not supported!') else: bpy.data.images.load(image_path, check_existing=True) |