Knob Flags, Ranges & Tooltips — NDK Developers Guide
Knob Flags Knob flags provide a means for customising a number of aspects of the previously created knob. Flags can be added or removed from a knob using the SetFlags(callback, flags) and ClearFlags(callback, flags) calls, so singly or in combination using
learn.foundry.com
Knob Flags, Ranges, and Tooltips in NUKE
NUKE의 Knob Flags, Ranges, 및 Tooltips는 노드의 UI와 동작을 제어하는 데 사용됩니다. 다음은 이를 구성하는 주요 요소를 정리한 내용입니다.
Knob Flags
Knob Flags는 UI의 동작, 상태, 인터페이스 표시 여부 등을 제어합니다.
Flags는 SetFlags(callback, flags) 또는 ClearFlags(callback, flags)를 사용하여 설정/해제할 수 있으며, 비트마스크(bitmask)를 통해 결합 가능합니다.
사용 방법
- Knobs() 호출 시 사용
- 대부분 Knob 생성 시 설정합니다.
- 동적 업데이트
- 일부는 set_flag()를 통해 Knobs() 호출 이후에도 동적으로 업데이트 가능합니다.
- 업데이트 후 UI 리프레시가 필요할 경우, updateWidgets(), redraw(), changed()를 호출합니다.
공통적으로 사용되는 Flags
Flag관련 Knob 메서드설명
DISABLED | enable(), disable(), isEnabled() | Knob을 비활성화(회색 표시)하여 값을 변경할 수 없도록 합니다. |
NO_ANIMATION | - | 애니메이션과 표현식 옵션을 비활성화합니다. |
DO_NOT_WRITE | - | 스크립트에 데이터를 저장하지 않으며 복사/붙여넣기를 비활성화합니다. |
INVISIBLE | - | Knob의 UI를 숨깁니다. HIDDEN과 달리 show()/hide()로 제어되지 않습니다. |
RESIZABLE | - | Knob이 UI 공간에 맞춰 확장되도록 설정합니다. 복잡한 UI에서 기본적으로 활성화되어 있습니다. |
STARTLINE | - | Knob을 새 줄에 배치합니다. |
ENDLINE | - | Knob 이후에 줄바꿈을 추가합니다. |
NO_RERENDER | - | Viewer에서 Knob 값 변경 시 리렌더링을 방지합니다. |
HIDDEN | show(), hide(), isVisible() | Knob의 UI를 동적으로 숨기거나 표시합니다. |
READ_ONLY | setReadOnly(), isReadOnly() | UI에서 값 변경은 불가능하지만 복사/붙여넣기는 가능합니다. |
Numeric Knob 관련 Flags
MAGNITUDE | 숫자 배열에서 슬라이더로 단일 값만 표시하도록 설정합니다. |
SLIDER | 슬라이더를 활성화합니다. |
LOG_SLIDER | 슬라이더를 로그 스케일로 표시합니다. |
STORE_INTEGER | 정수값을 저장하고 표시합니다. |
FORCE_RANGE | 값이 설정된 범위를 벗어나지 못하도록 강제합니다. |
String Knob 관련 Flags
GRANULAR_UNDO | 문자열 Knob의 Undo 작업을 세분화합니다. |
Knob Ranges
- 기본적으로 Knob은 값의 범위를 0 ~ 1로 설정합니다.
- SetRange(min, max)를 사용하여 사용자 지정 범위를 설정할 수 있습니다.
Knob Tooltips
- Tooltips는 사용자에게 Knob 사용 방법을 설명하는 유용한 정보를 제공합니다.
- Tooltips는 코드에 쉽게 추가할 수 있으며, 다른 사용자나 팀원을 위해 권장되는 설정입니다.
Tooltip(<knob_callback>, <"Tooltip text">);
Tooltip 사용 예
Float_knob(f, &_floatKnobData, "My Float Knob");
SetFlags(Knob::LOG_SLIDER | Knob::READ_ONLY);
Tooltip(f, "This is a read-only logarithmic slider.");
Best Practices
- Tooltips 활용
- 사용자 친화적인 인터페이스를 위해 가능한 모든 Knob에 Tooltips를 추가하세요.
- 불필요한 데이터 저장 방지
- DO_NOT_WRITE나 ALWAYS_SAVE를 적절히 설정하여 스크립트 크기를 관리하세요.
- UI 최적화
- 적절한 Flags를 사용하여 인터페이스를 단순화하고 사용자 경험을 향상시키세요.
'Nuke > python' 카테고리의 다른 글
Nuke에서 공용 즐겨찾기 디렉터리 정의하기 (0) | 2025.02.25 |
---|---|
$gui 사용한 노드를 찾는 코드 (0) | 2024.12.16 |
뷰어의 Gain & Gamma 컨트롤 코드 (0) | 2024.12.12 |
최상단의 노드를 찾는 명령어 (0) | 2024.12.07 |
시퀀스넘버 추출 (0) | 2024.12.07 |