요약
이 문서에서는 Nuke 에 등록된 패널의 기본 패널 ID 목록을 제공하고 이를 사용하는 방법을 설명합니다.
더 많은 정보
Nuke GUI는 노드 그래프와 속성 패널과 같은 패널 로 구성되어 있으며, 이러한 패널은 서로 다른 창 에 위치하며, 다양한 패널을 도킹할 수 있는 GUI 섹션입니다.
Nuke 에서 생성된 모든 패널은 다른 창으로 이동할 수 있도록 등록되며, 어떤 경우에는 동일한 패널 유형의 여러 버전을 열 수도 있습니다.
Nuke 내부 요소를 제어하기 위한 추가 GUI를 생성하기 위해 사용자 지정 패널을 등록할 수도 있습니다. 예를 들어, 자주 생성되는 노드를 쉽게 다시 생성할 수 있도록 패널을 구성하거나, 렌더 팜과 같은 파이프라인 도구에 액세스할 수 있는 패널을 구성하는 것은 유용한 사용자 지정 설정입니다.
이러한 패널은 nuke scripts.registerPanel() 명령을 사용하여 Nuke 에 등록됩니다. 이 명령에 대한 자세한 내용은 다음 문서에서 확인할 수 있습니다. 사용자 지정 패널
패널 ID
Nuke 16.0v4에서 생성할 수 있는 표준 패널의 패널 ID 목록은 다음과 같습니다.
uk.co.thefoundry.backgroundrenderview.1
Curve Editor.1
DopeSheet.1
Error Console.1
uk.co.thefoundry.monitorController.1
Pixel Analyzer.1
Profile.1
Progress.1
Properties.1
Scenegraph.1
Toolbar.1
Variables.1
-----------------------------------------------------------------------------------------------------------------------------
DAG.1
DAG.2
uk.co.thefoundry.histogram.1
uk.co.thefoundry.histogram.2
uk.co.thefoundry.scripteditor.1
uk.co.thefoundry.scripteditor.2
uk.co.thefoundry.vectorscope.1
uk.co.thefoundry.vectorscope.2
Viewer.1
Viewer.2
uk.co.thefoundry.waveformscope.1
uk.co.thefoundry.waveformscope.2
참고: 위의 첫 번째 섹션에는 패널 인스턴스가 하나만 생성될 수 있지만, 두 번째 섹션에는 동일한 패널 인스턴스가 여러 개 생성될 수 있습니다. 동일한 패널의 각 인스턴스 번호는 서로 다릅니다.
패널 ID 사용
패널 ID를 사용하는 한 가지 방법은 Nuke GUI에 패널을 추가할 때 제어를 강화하는 것입니다. 패널 ID와 nuke .getPaneFor() 및 nuke .addToPane() 명령을 사용하여 원하는 패널과 동일한 패널에 사용자 지정 패널을 추가할 수 있습니다.
다음은 노드 그래프와 동일한 창에 간단한 Python 패널을 추가하는 방법의 예입니다.
class TestPanel(nukescripts.PythonPanel): ### Create a PythonPanel with an enumeration knob
def __init__(self):
nuke scripts.PythonPanel.__init__(self, 'Test Elements')
self.typeKnob = nuke .Enumeration_Knob('element1', 'element1', ['Test1', 'Test2'])
self.addKnob(self.typeKnob)
pane = nuke .getPaneFor('DAG.1') ### Get the pane for the Node Graph, using it’s ID, ‘DAG.1’
p = TestPanel()
p.addToPane(pane)
현재 Nuke 세션에서 열려 있는 패널의 ID와 사용자 정의 패널의 ID를 가져오려면 아래 코드를 스크립트 편집기에서 실행하면 패널 제목과 해당 ID 목록이 반환됩니다.
try:
from PySide6 import QtCore, QtGui, QtWidgets
except ImportError:
from PySide2 import QtCore, QtGui, QtWidgets
def findPanelIDs():
stack = QtWidgets.QApplication.topLevelWidgets()
while stack:
widget = stack.pop()
if widget.windowTitle():
print ("\nTitle: " + widget.windowTitle())
print ("Panel ID: " + widget.objectName())
stack.extend(c for c in widget.children() if c.isWidgetType())
findPanelIDs()
추가 읽기
nuke .getPaneFor() 및 nuke .addToPane() 함수에 대한 자세한 내용은 아래 링크된 설명서에서 확인할 수 있습니다.
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요