Di mana Alpha Convert Node di python?

Aug 19 2020

Saya tidak ingin alpha saya diterapkan sebelumnya saat menyimpan gambar. Dalam blender Anda dapat menggunakan kompositor Alpha Convert Node untuk mengkonversi dari Premultiplied ke Straight. Saya tidak bisa menemukan node ini di Python API .

Jawaban

3 brockmann Aug 19 2020 at 20:13

CompositorNodePremulKey

Anda dapat menemukan daftar lengkap jenis node pembuat komposit yang tersedia di sini:https://docs.blender.org/api/current/bpy.types.CompositorNode.html.

alpha_convert = tree.nodes.new(type='CompositorNodePremulKey')
alpha_convert.mapping = 'PREMUL_TO_STRAIGHT'

Namun, terkadang cukup sulit untuk mengetahuinya karena namanya tidak terlalu cocok. Saya sarankan buat node di compositor dengan tangan dan cetak typeke konsol untuk mendapatkan ide:

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()

Atau gunakan Node.bl_rnaatribut yang mengembalikan struct sebenarnya (untuk menyalin nama dari):

>>> node_active.bl_rna
<bpy_struct, Struct("CompositorNodePremulKey")>

Terkait: Mengontrol kompositor oleh python