¿Dónde está el nodo Alpha Convert en Python?
No quiero que mi alfa se multiplique previamente al guardar imágenes. En Blender puedes usar el compositor Alpha Convert Node para convertir de Premultiplicado a Directo. Parece que no puedo encontrar este nodo en la API de Python .
Respuestas
CompositorNodePremulKey
Puede encontrar una lista completa de los tipos de nodos compositores disponibles aquí:https://docs.blender.org/api/current/bpy.types.CompositorNode.html.
alpha_convert = tree.nodes.new(type='CompositorNodePremulKey')
alpha_convert.mapping = 'PREMUL_TO_STRAIGHT'
Sin embargo, a veces es bastante difícil de entender ya que los nombres realmente no coinciden. Sugeriría crear el nodo en el compositor a mano e imprimirlo typeen la consola para tener una idea:
import bpy
class NodeOperator(bpy.types.Operator):
"""Tooltip"""
bl_idname = "node.simple_operator"
bl_label = "Simple Node Operator"
@classmethod
def poll(cls, context):
space = context.space_data
return space.type == 'NODE_EDITOR'
def execute(self, context):
space = context.space_data
node_tree = space.node_tree
node_active = context.active_node
print (node_active.type)
return {'FINISHED'}
def register():
bpy.utils.register_class(NodeOperator)
def unregister():
bpy.utils.unregister_class(NodeOperator)
if __name__ == "__main__":
register()
O use el Node.bl_rna
atributo que devuelve la estructura real (para copiar el nombre):
>>> node_active.bl_rna
<bpy_struct, Struct("CompositorNodePremulKey")>
Relacionado: Control de compositor por python