요약
이 문서에는 Nuke 에 등록된 패널의 기본 패널 ID 목록이 포함되어 있으며 이를 사용하는 방법에 대해 설명합니다.
추가 정보
Nuke GUI는 노드 그래프 및 속성 패널과 같은 패널 로 구성됩니다. 이 패널은 서로 다른 패널을 도킹할 수 있는 GUI 섹션 , 즉 서로 다른 창 안에 있습니다.
Nuke 에서 생성된 모든 패널은 등록되어 다른 패널로 이동할 수 있으며 경우에 따라 동일한 패널 유형의 여러 버전을 열 수 있습니다.
Nuke 내부 요소를 제어하기 위한 추가 GUI를 생성하기 위해 사용자 정의 패널을 등록할 수도 있습니다. 예를 들어 쉽게 다시 만들 수 있도록 자주 생성되는 노드 패널이나 렌더 팜과 같은 파이프라인 도구에 액세스할 수 있는 패널을 갖는 것은 유용한 사용자 정의 설정입니다.
이러한 패널은 nuke scripts.registerPanel()
명령을 사용하여 Nuke 에 등록됩니다. 이 명령에 대한 자세한 내용은 다음 문서에서 확인할 수 있습니다. 사용자 정의 패널
패널 ID
다음은 Nuke 14.0v5에서 생성할 수 있는 표준 패널의 패널 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
------------------------------------- ------------------------------------- ----------
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)
사용자 정의 패널의 ID를 포함하여 현재 Nuke 세션에서 열린 패널의 ID를 가져오려면 아래 코드를 스크립트 편집기에서 실행할 수 있으며 패널 제목 및 해당 ID 목록을 반환합니다.
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()
함수에 대한 자세한 내용은 아래 링크된 문서에서 확인할 수 있습니다.
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요