Nút chuyển đổi Alpha trong python ở đâu?

Aug 19 2020

Tôi không muốn alpha của mình được tạo sẵn khi lưu hình ảnh. Trong máy xay sinh tố, bạn có thể sử dụng nút chuyển đổi Alpha của bộ tổng hợp để chuyển đổi từ Premultiplied sang Straight. Tôi dường như không thể tìm thấy nút này trong API Python .

Trả lời

3 brockmann Aug 19 2020 at 20:13

CompositorNodePremulKey

Bạn có thể tìm thấy danh sách đầy đủ các loại nút tổng hợp có sẵn tại đây:https://docs.blender.org/api/current/bpy.types.CompositorNode.html.

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

Tuy nhiên, đôi khi khá khó để tìm ra vì tên không thực sự khớp. Tôi khuyên bạn nên tạo nút trong trình soạn nhạc bằng tay và in nó typevào bảng điều khiển để có ý tưởng:

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

Hoặc sử dụng Node.bl_rnathuộc tính trả về cấu trúc thực tế (để sao chép tên từ):

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

Liên quan: Điều khiển trình tổng hợp bằng python