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


Python nuke.thisNode方法代碼示例

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


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

示例1: get_expected_value

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import thisNode [as 別名]
def get_expected_value(self, instance):
        import os

        expected = (
            "[python {nuke.script_directory()}]/workspace/[python "
            "{os.path.splitext(os.path.basename(nuke.scriptName()))[0]}]_"
            "[python {nuke.thisNode().name()}]"
        )

        # Extension, defaulting to exr files.
        current = self.get_current_value(instance)
        ext = os.path.splitext(os.path.basename(current))[1]
        if not ext:
            ext = ".abc"
        expected += ext

        return expected 
開發者ID:bumpybox,項目名稱:pyblish-bumpybox,代碼行數:19,代碼來源:validate_writegeo_node.py

示例2: test_bug_still_exists

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import thisNode [as 別名]
def test_bug_still_exists(self):
        """Tests this bug still exists. We don't want to be running the fix if we don't have to. """
        import nuke

        if nuke.NUKE_VERSION_MAJOR == 7:  # but is known not to exist in version 7.
            return

        def test_callback(node=None, knob=None):
            node.metadata()

        callback = lambda: test_callback(nuke.thisNode())
        nuke.addKnobChanged(callback, nodeClass='Cryptomatte')

        try:
            self.test_paste_with_channelmerge()
            exception = None
        except Exception, e:
            exception = e 
開發者ID:Psyop,項目名稱:Cryptomatte,代碼行數:20,代碼來源:cryptomatte_utilities_tests.py

示例3: encryptomatte_add_manifest_id

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import thisNode [as 別名]
def encryptomatte_add_manifest_id():
    node = nuke.thisNode()
    parent = nuke.thisParent()
    name = parent.knob('matteName').value()
    id_hex = parent.knob('idHex').value()
    manifest_key = parent.knob('manifestKey').value()
    metadata = node.metadata()
    manifest = metadata.get(manifest_key + 'manifest', "{}")

    # Add another item, with closing bracket
    last_item = '"%s":"%s"}' % (name, id_hex)
    last_bracket_pos = manifest.rfind('}')
    existing_items = manifest[:last_bracket_pos].rstrip()
    if not existing_items.endswith(',') and not existing_items.endswith('{'):
        existing_items += ','
    existing_items += last_item
    return existing_items


#############################################
# Utils - Troubleshooting
############################################# 
開發者ID:Psyop,項目名稱:Cryptomatte,代碼行數:24,代碼來源:cryptomatte_utilities.py

示例4: set_permissions_after_frame

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

    node = nuke.thisNode()
    frame_path = nuke.filename(node, nuke.REPLACE)
    os.chmod(frame_path, 0660) 
開發者ID:Clemson-DPA,項目名稱:dpa-pipe,代碼行數:7,代碼來源:utils.py

示例5: get_expected_value

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import thisNode [as 別名]
def get_expected_value(self, instance):
        import os

        expected = (
            "[python {nuke.script_directory()}]/workspace/[python "
            "{nuke.thisNode().name()}]/[python {os.path.splitext("
            "os.path.basename(nuke.scriptName()))[0]}]/[python {"
            "os.path.splitext(os.path.basename(nuke.scriptName()))[0]}]_"
            "[python {nuke.thisNode().name()}]"
        )

        # Default padding starting at 4 digits.
        padding = 4
        if instance.data["collection"]:
            padding = instance.data["collection"].padding
        # Can't have less than 4 digits.
        if padding < 4:
            padding = 4

        # Extension, defaulting to exr files.
        current = self.get_current_value(instance)
        ext = os.path.splitext(os.path.basename(current))[1]
        if not ext:
            ext = ".exr"

        expected += ".%{1}d{2}".format(
            instance[0].name(),
            str(padding).zfill(2),
            ext
        )
        return expected 
開發者ID:bumpybox,項目名稱:pyblish-bumpybox,代碼行數:33,代碼來源:validate_write_node.py

示例6: setup_cryptomatte

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import thisNode [as 別名]
def setup_cryptomatte():
    nuke.addKnobChanged(lambda: cryptomatte_knob_changed_event(
        nuke.thisNode(), nuke.thisKnob()), nodeClass='Cryptomatte')
    nuke.addKnobChanged(lambda: encryptomatte_knob_changed_event(
        nuke.thisNode(), nuke.thisKnob()), nodeClass='Encryptomatte')
    nuke.addOnCreate(lambda: encryptomatte_on_create_event(
        nuke.thisNode(), nuke.thisKnob()), nodeClass='Encryptomatte')


#############################################
# Hash to float
############################################# 
開發者ID:weijer,項目名稱:NukeToolSet,代碼行數:14,代碼來源:cryptomatte_utilities.py

示例7: encryptomatte_add_manifest_id

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import thisNode [as 別名]
def encryptomatte_add_manifest_id(deserialize = False):

    node = nuke.thisNode()
    parent = nuke.thisParent()
    name = parent.knob('matteName').value()
    id_hex = parent.knob('idHex').value()
    manifest_key = parent.knob('manifestKey').value()
    metadata = node.metadata()
    manifest = metadata.get(manifest_key + 'manifest', "{}")

    if deserialize:
        import json
        d = json.loads(manifest)
        d[name] = hex_id
        new_manifest = json.dumps(d)
        return new_manifest
    else:
        last_item = '"{name}":"{id_hex}"'.format(name=name, id_hex=id_hex)
        last_item += '}'

        last_bracket_pos = manifest.rfind('}')
        existing_items = manifest[:last_bracket_pos].rstrip()
        if not existing_items.endswith(',') and not existing_items.endswith('{'):
            return existing_items + ',' + last_item
        else:
            return existing_items + last_item


#############################################
# Utils - Unload Manifest
############################################# 
開發者ID:weijer,項目名稱:NukeToolSet,代碼行數:33,代碼來源:cryptomatte_utilities.py

示例8: center_chromatik

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import thisNode [as 別名]
def center_chromatik():
    try:
        node_format = nuke.selectedNode()
    except ValueError:
        node_format = nuke.root()['format'].value()
    nuke.thisNode()['center'].setValue((node_format.width() / 2, node_format.height() / 2)) 
開發者ID:SpinVFX,項目名稱:spin_nuke_gizmos,代碼行數:8,代碼來源:spin_tools_callbacks.py

示例9: output_to_h264

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import thisNode [as 別名]
def output_to_h264(write_node=None):
    """an after render function which converts the input to h264
    """
    # get the file name
    if not write_node:
        write_node = nuke.thisNode()

    file_full_path = nuke.filename(write_node)

    # add the _h264 extension to the filename
    file_name = os.path.basename(file_full_path)
    path = file_full_path[:-len(file_name)]
    file_name_wo_ext, ext = os.path.splitext(file_name)

    # split any '.' (ex: a.%04d -> [a, %04d])
    file_name_wo_ext = file_name_wo_ext.split('.')[0]
    # add _h264
    output_file_name = file_name_wo_ext + '_h264.mov'
    output_full_path = os.path.join(path, output_file_name)

    # TODO: if it is a sequence of images rename them by creating temp soft
    #       links to each frame and then use the sequence format in ffmpeg

    # run ffmpeg in a separate thread
    t = threading.Timer(
        1.0,
        convert_to_h264,
        args=[file_full_path, output_full_path]
    )
    t.start() 
開發者ID:eoyilmaz,項目名稱:anima,代碼行數:32,代碼來源:__init__.py

示例10: setup_cryptomatte

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import thisNode [as 別名]
def setup_cryptomatte():
    nuke.addOnCreate(lambda: cryptomatte_on_create_event(
        nuke.thisNode(), nuke.thisKnob()), nodeClass='Cryptomatte')
    nuke.addKnobChanged(lambda: cryptomatte_knob_changed_event(
        nuke.thisNode(), nuke.thisKnob()), nodeClass='Cryptomatte')
    nuke.addKnobChanged(lambda: encryptomatte_knob_changed_event(
        nuke.thisNode(), nuke.thisKnob()), nodeClass='Encryptomatte')
    nuke.addOnCreate(lambda: encryptomatte_on_create_event(
        nuke.thisNode(), nuke.thisKnob()), nodeClass='Encryptomatte')


#############################################
# Testing
############################################# 
開發者ID:Psyop,項目名稱:Cryptomatte,代碼行數:16,代碼來源:cryptomatte_utilities.py

示例11: read_sub_knob_changed

# 需要導入模塊: import nuke [as 別名]
# 或者: from nuke import thisNode [as 別名]
def read_sub_knob_changed(node=None, knob=None):

    if not node:
        node = nuke.thisNode()

    if not knob:
        knob = nuke.thisKnob()

    if knob.name() == 'product_repr_select':
        product_repr_str = node['product_repr_select'].value()

        if (product_repr_str == DEFAULT_REPR_STR or 
            product_repr_str not in PRODUCT_REPR_STR_TO_PATH):
            node['product_seq_select'].setValues([])
            node['file'].setValue('')
            return

        repr_dir = PRODUCT_REPR_STR_TO_PATH[product_repr_str]

        # populate the possible file names
        file_specs = {}
        frame_regex = re.compile('([,\w]+).(\d{4})\.(\w+)')
        for file_name in os.listdir(repr_dir):
            
            matches = frame_regex.search(file_name)
            if matches:
                (file_base, frame_num, file_ext) = matches.groups()
                spec = file_base + '.####.' + file_ext
                file_specs[spec] = None

        file_specs = sorted(file_specs.keys())
        node['product_seq_select'].setValues(file_specs)

        file_str = os.path.join(repr_dir, file_specs[0]) 
        node['file'].setValue(file_str)

    if knob.name() == 'product_seq_select':
        
        repr_dir = os.path.dirname(node['file'].value())
        file_spec = node['product_seq_select'].value()

        file_str = os.path.join(repr_dir, file_spec)
        
        node['file'].setValue(file_str)

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


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