當前位置: 首頁>>代碼示例>>Python>>正文


Python nuke.createNode方法代碼示例

本文整理匯總了Python中nuke.createNode方法的典型用法代碼示例。如果您正苦於以下問題:Python nuke.createNode方法的具體用法?Python nuke.createNode怎麽用?Python nuke.createNode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在nuke的用法示例。


在下文中一共展示了nuke.createNode方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: create_tools

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import createNode [as 別名]
def create_tools(self, menu, type, name, command, shortcut, icon_name):
        """
        create menu tools
        :param type:
        :param menu:
        :param name:
        :param command:
        :param shortcut:
        :param icon:
        :return:
        """
        if type == "python":
            menu.addCommand(name, command, shortcut, icon=icon_name)
        elif type == "gizmo":
            menu.addCommand(name, "nuke.createNode(\"%s\")" % command, icon=icon_name)
        elif type == "toolbar":
            menu.addCommand(name, icon=icon_name) 
開發者ID:weijer,項目名稱:NukeToolSet,代碼行數:19,代碼來源:menu.py

示例2: add_write_node

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import createNode [as 別名]
def add_write_node(name, **kwarg):
    """Adding nuke write node

    Arguments:
        name (str): nuke node name
        kwarg (attrs): data for nuke knobs

    Returns:
        node (obj): nuke write node
    """
    frame_range = kwarg.get("frame_range", None)

    w = nuke.createNode(
        "Write",
        "name {}".format(name))

    w["file"].setValue(kwarg["file"])

    for k, v in kwarg.items():
        if "frame_range" in k:
            continue
        log.info([k, v])
        try:
            w[k].setValue(v)
        except KeyError as e:
            log.debug(e)
            continue

    if frame_range:
        w["use_limit"].setValue(True)
        w["first"].setValue(frame_range[0])
        w["last"].setValue(frame_range[1])

    return w 
開發者ID:getavalon,項目名稱:core,代碼行數:36,代碼來源:lib.py

示例3: create_write_product_node

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import createNode [as 別名]
def create_write_product_node():

    node = nuke.createNode('Write', inpanel=True)

    node_name = 'WriteProduct'
    node_inst = 1

    while nuke.exists(node_name + str(node_inst)):
        node_inst += 1

    node_name += str(node_inst)

    node.knob('name').setValue(node_name)
    node.knob('beforeRender').setValue(
        'dpa.nuke.utils.create_product_before_render()')
    node.knob('afterFrameRender').setValue(
        'dpa.nuke.utils.set_permissions_after_frame()')

    products_tab = nuke.Tab_Knob("Product")
    node.addKnob(products_tab)
    node.addKnob(nuke.EvalString_Knob('product_desc', 'description', ""))
    node.addKnob(nuke.EvalString_Knob('product_name', 'name', 
        get_default_product_name()))
    node.addKnob(nuke.EvalString_Knob('product_ver_note', 'description', ""))

    # hide the file knob
    node.knob('file_type').setValue('exr')
    node.knob('product_ver_note').setVisible(False)

# ----------------------------------------------------------------------------- 
開發者ID:Clemson-DPA,項目名稱:dpa-pipe,代碼行數:32,代碼來源:nodes.py

示例4: cryptomatte_create_gizmo

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import createNode [as 別名]
def cryptomatte_create_gizmo():
    return nuke.createNode("Cryptomatte") 
開發者ID:weijer,項目名稱:NukeToolSet,代碼行數:4,代碼來源:cryptomatte_utilities.py

示例5: encryptomatte_create_gizmo

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import createNode [as 別名]
def encryptomatte_create_gizmo():
    return nuke.createNode("Encryptomatte")


#############################################
# Public - cryptomatte Events
############################################# 
開發者ID:weijer,項目名稱:NukeToolSet,代碼行數:9,代碼來源:cryptomatte_utilities.py

示例6: create_node

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import createNode [as 別名]
def create_node(node_name, read_data):
    label = "%s points" % (read_data["verts_count"])
    node = nuke.createNode("BakedPointCloud")
    node.knob("serializePoints").setValue("%s %s" % (read_data["total"], read_data["points"]))
    node.knob("serializeNormals").setValue("%s %s" % (read_data["total"], read_data["normals"]))
    node.knob("serializeColors").setValue("%s %s" % (read_data["total"], read_data["colors"]))
    node.knob("name").setValue(node_name)
    node.knob("label").setValue(label) 
開發者ID:weijer,項目名稱:NukeToolSet,代碼行數:10,代碼來源:CreatedPointCloud.py

示例7: shuffle

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import createNode [as 別名]
def shuffle():
    for selected_node in nuke.selectedNodes():
        if selected_node.Class() == 'Read':
            all_channels = selected_node.channels()
            all_channels = list(set([i.split('.')[0] for i in all_channels]))
            for channel in all_channels:
                shuffle_node = nuke.createNode('Shuffle', inpanel=False)
                shuffle_node['name'].setValue(channel+'_'+selected_node['name'].getValue())
                shuffle_node['in'].setValue(channel)
                shuffle_node.setInput(0, selected_node)
                shuffle_node['postage_stamp'].setValue(1) 
開發者ID:weijer,項目名稱:NukeToolSet,代碼行數:13,代碼來源:ListShuffle.py

示例8: populate_menu_recursive

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import createNode [as 別名]
def populate_menu_recursive(tool_path, menu):
    if not tool_path.endswith(os.sep):
        tool_path += os.sep

    for root, dirs, files in os.walk(tool_path):
        category = root.replace(tool_path, '')
        # build the dynamic menus, ignoring empty dirs:
        for dir_name in natural_sort(dirs):
            if os.listdir(os.path.join(root, dir_name)) and dir_name != DEPRECATED:
                img = find_icon(root, dir_name)
                menu.addMenu(category + '/' + dir_name, icon=img)

        # stop here if we're in a deprecated menu
        if category == DEPRECATED:
            continue

        # if we have both dirs and files, add a separator
        if files and dirs:
            submenu = menu.addMenu(category)  # menu() and findItem() do not return a menu object.
            submenu.addSeparator()

        # Populate the menus
        for nuke_file in natural_sort(files):
            file_name, extension = os.path.splitext(nuke_file)
            if extension.lower() in ['.gizmo', '.so', '.nk']:
                img = find_icon(root, file_name)
                # Adding the menu command
                if extension.lower() in ['.nk']:
                    menu.addCommand(category + '/' + file_name,
                                    'nuke.nodePaste( "{}" )'.format(os.path.join(root, nuke_file)),
                                    icon=img)
                if extension.lower() in ['.gizmo', '.so']:
                    menu.addCommand(category + '/' + file_name,
                                    'nuke.createNode( "{}" )'.format(file_name),
                                    icon=img)
    return menu 
開發者ID:SpinVFX,項目名稱:spin_nuke_gizmos,代碼行數:38,代碼來源:menu.py

示例9: create_auto_crop_writer

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import createNode [as 別名]
def create_auto_crop_writer():
    """creates a write node for every selected node, and sets the autocrop flag
    to auto crop the output for fast reading
    """
    # get selected nodes and deselect them
    nodes = nuke.selectedNodes()
    [node.setSelected(False) for node in nodes]

    write_nodes = []

    for node in nodes:
        write_node = nuke.createNode('Write')
        file_path = node['file'].value()
        filename_with_number_seq, ext = os.path.splitext(file_path)
        filename, number_seq = os.path.splitext(filename_with_number_seq)

        write_node['file'].setValue(
            filename + '_auto_cropped' + number_seq + ext
        )
        write_node['channels'].setValue('all')
        write_node['autocrop'].setValue(True)
        write_node.setXpos(node.xpos() + 100)
        write_node.setYpos(node.ypos())

        # connect it to the original node
        write_node.setInput(0, node)
        write_node.setSelected(False)

        # store the write node
        write_nodes.append(write_node)

    # connect the write nodes to afanasy if afanasy exists
    try:
        afanasy = nuke.createNode('afanasy')
        for i, node in enumerate(write_nodes):
            afanasy.setInput(i, node)
    except RuntimeError:
        pass 
開發者ID:eoyilmaz,項目名稱:anima,代碼行數:40,代碼來源:__init__.py

示例10: imprint

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import createNode [as 別名]
def imprint(node, data, tab=None):
    """Store attributes with value on node

    Parse user data into Node knobs.
    Use `collections.OrderedDict` to ensure knob order.

    Args:
        node(nuke.Node): node object from Nuke
        data(dict): collection of attributes and their value

    Returns:
        None

    Examples:
        ```
        import nuke
        from avalon.nuke import lib

        node = nuke.createNode("NoOp")
        data = {
            # Regular type of attributes
            "myList": ["x", "y", "z"],
            "myBool": True,
            "myFloat": 0.1,
            "myInt": 5,

            # Creating non-default imprint type of knob
            "MyFilePath": lib.Knobby("File_Knob", "/file/path"),
            "divider": lib.Knobby("Text_Knob", ""),

            # Manual nice knob naming
            ("my_knob", "Nice Knob Name"): "some text",

            # dict type will be created as knob group
            "KnobGroup": {
                "knob1": 5,
                "knob2": "hello",
                "knob3": ["a", "b"],
            },

            # Nested dict will be created as tab group
            "TabGroup": {
                "tab1": {"count": 5},
                "tab2": {"isGood": True},
                "tab3": {"direction": ["Left", "Right"]},
            },
        }
        lib.imprint(node, data, tab="Demo")

        ```

    """
    for knob in create_knobs(data, tab):
        node.addKnob(knob) 
開發者ID:getavalon,項目名稱:core,代碼行數:56,代碼來源:lib.py

示例11: create_read_sub_node

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import createNode [as 別名]
def create_read_sub_node():

    node = nuke.createNode('Read', inpanel=True)

    node_name = 'ReadSub'
    node_inst = 1

    while nuke.exists(node_name + str(node_inst)):
        node_inst += 1

    node_name += str(node_inst)

    node.knob('name').setValue(node_name)
    
    sub_tab = nuke.Tab_Knob("Sub")

    # make sure the product reprs are cached
    populate_sub_cache(refresh=False)

    repr_str_list = [DEFAULT_REPR_STR]
    repr_str_list.extend(sorted(PRODUCT_REPR_STR_TO_PATH.keys()))

    product_repr_select = nuke.Enumeration_Knob(
        'product_repr_select',
        'subscription',
        repr_str_list,
    )

    product_seq_select = nuke.Enumeration_Knob(
        'product_seq_select',
        'files',
        [],
    )

    nuke.callbacks.addKnobChanged(read_sub_knob_changed,
        nodeClass='Read', node=node)

    node.addKnob(sub_tab)
    node.addKnob(product_repr_select)
    node.addKnob(product_seq_select)

    # make the tab pop to front
    node['Sub'].setFlag(0) 

    read_sub_knob_changed(node=node, knob=node.knob('product_repr_select'))

# ----------------------------------------------------------------------------- 
開發者ID:Clemson-DPA,項目名稱:dpa-pipe,代碼行數:49,代碼來源:nodes.py


注:本文中的nuke.createNode方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。