Настройка текстуры анимированного мира Blender 2.5 Python

Мне нужно настроить анимированную (т.е. из видеофайла) текстуру мира в blender 2.58, используя python. Я делаю текстуру так:

import bpy
# create new clouds texture
bpy.ops.texture.new()
wtex = bpy.data.textures[-1]
# set World texture
wrld = bpy.data.worlds['World']
slot = wrld.texture_slots.add()
slot.texture = wtex
slot.use_map_horizon = True

Это создает новую CloudsTexture и привязывает ее к слоту. Как я могу сделать ImageTexture и настроить его на использование видео в качестве источника? Или, как я могу указать тип новой текстуры, созданной bpy.ops.texture.new()?

1 ответ

Решение

Для добавления / удаления данных лучше не использовать операторы, для этого у нас есть функции API из bpy.data.

import bpy
# create new clouds texture
wtex = bpy.data.textures.new(name="MyTexture", type='IMAGE')
# set World texture
wrld = bpy.context.scene.world
if wrld:
    slot = wrld.texture_slots.add()
    slot.texture = wtex
    slot.use_map_horizon = True

Протестировано с блендером 2.58a

Другие вопросы по тегам