현재는 'Export..' 옵션을 사용하여 Nuke 스크립트를 내보내거나 'Create Comp' 또는 'Create Comp Special...'을 통해 Nuke 스크립트를 생성할 때 Nuke Studio / Hiero 에서 기본적으로 내보낸 노드를 변경할 수 없습니다. .
추가 정보
내보내기 시 Nuke 스크립트에 추가되는 노드는 hiero .core.nuke.ScriptWriter 클래스를 통해 생성됩니다. 기본 노드를 수동으로 변경하려면 이 클래스를 재정의하고 필요에 따라 노드 손잡이를 사용자 정의할 수 있습니다.
아래에서는 읽기 노드 노브를 사용자 정의하는 방법을 보여주는 예를 찾을 수 있습니다. 스크립트는 다음과 같이 작동합니다.
1) 원래 hiero .core.nuke.ScriptWriter 클래스를 상속합니다.
2) 각 노드에 대해 onNodeAdded() 호출하도록 addNode() 메서드를 서브클래싱합니다.
3) onNodeAdded() 메소드를 정의합니다. 이 방법은 어떤 노드에 적용할 변경 사항을 정의하고 편집하여 필요한 노드 설정을 사용자 정의할 수 있습니다.
4) 원본 ScriptWriter를 편집된 버전으로 재정의합니다.
편집된 버전을 사용하려면 Python 스크립트를 .nuke/Python/Startup 에 저장해야 합니다.
defaddNode(self, node): # List of nodes that should actually be added to the script nodesToAdd = []
# node might actually be a list of nodes. If it is, call onNodeAdded for each one if isinstance(node, hiero .core.nuke.Node): nodesToAdd.append( self.onNodeAdded(node) ) else: try: for n in node: nodesToAdd.append( self.onNodeAdded(n) ) except: pass
# Call base class to add the node(s) OriginalScriptWriter.addNode(self, nodesToAdd)
defonNodeAdded(self, node): """ Callback when a node is added. Return the node that should actually be added. """ if node.type() == "Read": # Change for the type of node you want to edit # Make adjustments to all nodes of that type node.setKnob("on_error", "black") # This sets each Read nodes missing frames to black node.setKnob("raw", True) # This sets disables the input color transform