2017-10-13 6 views
1

nuke.ChannelMask_Knob() 함수에 필요한 문자열 인수가 무엇인지 알아 내려고하고 있습니다. 다른 노브 생성자에서 첫 번째 인수는 이름/레이블 인 것처럼 보이지만 ChannelMask_Knob의 경우는 아닙니다.누크 채널 마스크 _Knob 필수 인수

Nuke Python API를 살펴 보았지만 내 질문에 대답하기 위해 적절한 함수 정의로 돌아가십시오. 내 생각에는 ChannelMask_Knob 클래스에 의해 재정의되는 init 함수와 관련이 있지만 API에 따른 매개 변수 목록은 "..."이라고 생각합니다. 이는 내장 함수와 관련이 있다고 생각합니다. 기능.

test_knob = nuke.ChannelMask_Knob("required_argument") 
node.addKnob(test_knob) 
: 나는 초기화 함수의 본문을 볼 수 없기 때문에, 그 인수가 사용되는지 모른다, 따라서 내 문제 ... 여기

내 문제의 예입니다이 없다

이것은 잘 동작하지만, "required_argument"가 노브의 이름이나 레이블이 아니기 때문에 어떤 것이 사용되었는지 알고 싶습니다.

답변

0

ChannelMask_Knob('') 방법에 매개 변수의 공백을 남겨 두어야합니다. 작동하지 않습니다. 그러나 namelabel을 할당하려면 각각 .setName('name').setLabel('label') 메서드를 사용해야합니다. 그것은 잘 작동합니다. 여기

는 코드입니다

는 다음과 같은 방법을 사용하는 것이 좋습니다이 드롭 다운 메뉴에서 채널 선택을위한
import nuke 

noop = nuke.nodes.NoOp() 
### maskKnob = nuke.ChannelMask_Knob('name', 'label', False) 
maskKnob = nuke.ChannelMask_Knob('') 
maskKnob.setName('name') 
maskKnob.setLabel('label') 
noop.addKnob(maskKnob) 

:

nuke.selectedNode().knob('name').setValue('alpha') 
nuke.selectedNode().knob('name').setValue('disparity')