Nuke 명령어 스위치/플래그 정리 (한국어 번역)
기본 실행 옵션
- -h, --help
→ 명령어 도움말 표시 - --version
→ Nuke 버전 정보 출력
렌더링 및 실행 관련 옵션
- -x
→ Nuke 스크립트를 실행하고 모든 활성 Write 노드를 렌더링 - -X <노드>
→ 특정 Write 노드만 렌더링 - --cont
→ 오류 발생 시에도 지정된 범위의 다음 프레임을 계속 렌더링 - -F <프레임>
→ 실행할 프레임 지정 (예: -F 1-10, -F 1-10x2) - --sro
→ Write 노드의 렌더 순서를 강제하여 이전 Write 노드의 결과를 Read 노드에서 사용할 수 있도록 설정 - --topdown
→ 메모리를 더 사용하지만 전체 프레임을 빠르게 렌더링하는 "위에서 아래로" 렌더링 모드 활성화
GPU 관련 옵션
- --gpu <ARG>
→ 터미널 모드에서 GPU 사용 활성화 (기본값: 0) - --gpulist
→ 사용 가능한 GPU 목록과 인덱스 출력 - --multigpu
→ 동일한 유형의 다중 GPU를 활용하여 작업 부하 분산
메모리 및 성능 관련 옵션
- -c <크기(k, M, G)>
→ 캐시 메모리 사용 제한 (예: -c 2G → 2GB 제한) - -m <숫자>
→ 사용할 쓰레드 개수 지정 - -s <크기>
→ 스레드당 스택 크기 지정 (기본값: 16MB) - -P
→ 노드의 성능 측정 결과를 노드 그래프에 표시 - -Pf <파일명>
→ 성능 측정 데이터를 XML 파일로 저장
파일 및 프로젝트 관련 옵션
- -a
→ 기본 포맷을 Anamorphic으로 설정 - -f
→ Nuke 스크립트를 전체 해상도로 열기 - -p
→ Nuke 스크립트를 프록시 해상도로 열기 - -n
→ 노드의 Postage Stamp(미리보기 이미지) 비활성화 - --remap <경로>
→ 운영체제 간 경로를 매핑하여 공유 가능하도록 설정 (예: --remap "X:/path,Y:,A:,B:/anotherpath") - --workspace <이름>
→ Nuke 실행 시 지정된 워크스페이스 자동 활성화 (예: --workspace Compositing)
라이선스 및 실행 모드
- -t
→ GUI 없이 터미널 모드로 실행, Python 명령 실행 가능 - --tg
→ 터미널 모드에서 PySide/PyQt 사용 가능 (XWindows 세션 필요)
-i (인터랙티브 라이선스)
- 인터랙티브(nuke_i) 라이선스를 사용하여 실행할 때 사용하는 옵션입니다.
- 일반적으로 -x(렌더 모드)와 함께 사용됩니다.
- 기본적으로 -x는 nuke_r 라이선스를 사용하지만, -xi를 사용하면 인터랙티브 라이선스(nuke_i)로 렌더링할 수 있습니다.
- --nc
→ Nuke 비상업용(Non-commercial) 모드 실행 - --nukeassist
→ Nuke Assist 실행 (NukeX 유지보수 패키지 포함)
안정성 및 충돌 보고
- --crashhandling 1
→ GUI 및 터미널 모드에서 충돌 보고 활성화 - --crashhandling 0
→ 충돌 보고 비활성화 - --nocrashprompt
→ 충돌 발생 시 자동으로 보고서를 제출하고 알림창을 띄우지 않음 - --safe
→ 플러그인 및 사용자 스크립트(~/.nuke 및 $NUKE_PATH 내 파일) 로드를 중단하여 안전 모드로 실행
기타 옵션
- -q
→ 조용한 모드(불필요한 출력 및 팝업 억제) - --priority <우선순위>
→ 실행 우선순위 설정 (high, medium, low) - -V <레벨>
→ 터미널에서 실행 내용을 상세하게 출력 (0: 최소, 2: 최대) - --pause
→ Viewer를 일시 정지된 상태로 실행 - --view <뷰>
→ 특정 뷰만 렌더링 (left,right 형식)
Nuke의 -t(터미널 모드)와 -i(인터랙티브 라이선스) 옵션 정리
-t (터미널 모드)
- GUI 없이 터미널에서 실행하는 모드입니다.
- Python 인터프리터 모드로 실행되며, >>> 프롬프트에서 Python 명령어 입력이 가능합니다.
- Python 스크립트를 실행하거나 자동화 작업을 수행할 때 유용합니다.
- 이 모드에서는 기본적으로 nuke_r(렌더 전용) 라이선스를 사용합니다.
- 종료 방법: quit() 입력 후 엔터
예제
nuke -t my_script.py # Python 스크립트 실행 nuke -t # Nuke Python 인터프리터 실행
-i (인터랙티브 라이선스)
- 인터랙티브(nuke_i) 라이선스를 사용하여 실행할 때 사용하는 옵션입니다.
- 일반적으로 -x(렌더 모드)와 함께 사용됩니다.
- 기본적으로 -x는 nuke_r 라이선스를 사용하지만, -xi를 사용하면 인터랙티브 라이선스(nuke_i)로 렌더링할 수 있습니다.
예제
nuke -xi myscript.nk # 인터랙티브 라이선스로 렌더링 실행
-t vs -i 차이점
옵션 | 설명 | 기본 라이선스 | 주요 사용 사례 |
-t | 터미널에서 실행, Python 인터프리터 제공 | nuke_r | 자동화, 스크립트 실행 |
-i | 인터랙티브 라이선스 사용 | nuke_i | 렌더링 시 GUI 라이선스 필요할 때 사용 |
-xi | -x(렌더링) + -i(인터랙티브 라이선스) | nuke_i | 인터랙티브 라이선스로 렌더링 |
즉, -t는 GUI 없이 터미널에서 Python을 실행하는 모드이고, -i는 렌더링 시 인터랙티브 라이선스를 사용하는 옵션입니다.
Nuke 명령어 실행 방식 및 주요 옵션 정리
1. Nuke 실행 기본 구문
Nuke를 커맨드라인에서 실행할 때의 일반적인 구문은 다음과 같습니다.
nuke <스위치> <스크립트> <argv> <프레임 범위>
- <스위치>: Nuke 실행 방식을 변경하는 옵션(예: -t, -i, -x 등)
- <스크립트>: 실행할 Nuke .nk 파일
- <argv>: 선택적 인자로, argv 변수를 통해 Nuke에서 사용할 수 있음
- <프레임 범위>: 렌더링할 프레임 범위 지정
2. 기본적인 실행 예시
- Nuke 스크립트 실행 및 열기
nuke myscript.nk
- myscript.nk 파일을 열고 GUI에서 실행
- 파일명이 -(하이픈)으로 시작하는 경우
nuke -- -myscript.nk
- 하이픈(-)이 파일명 앞에 있을 경우, --를 추가하여 실행 가능
- 이미지 보기
nuke -v polarbear.tif
- polarbear.tif 이미지 표시
- 여러 이미지 보기
nuke -v polarbear.tif whiteflower.psd mountains.cin
- 여러 개의 이미지 표시
- 이미지 시퀀스 보기 (예: taxi.0001.tif ~ taxi.0050.tif)
nuke -v taxi.####.tif 1-50
- 프레임 범위를 1~50으로 설정하여 이미지 시퀀스 표시
3. 렌더링 실행
- 특정 프레임(예: 5번 프레임) 렌더링
nuke -F 5 -x myscript.nk
- myscript.nk의 5번 프레임 렌더링
- 프레임 범위(30~50) 지정하여 렌더링
nuke -F 30-50 -x myscript.nk
- 30~50번 프레임 렌더링
- 여러 프레임 범위(10
20, 3460) 렌더링
nuke -F 10-20 -F 34-60 -x myscript.nk
- 10
20 및 3460번 프레임 렌더링
- 10프레임 간격으로 렌더링 (1, 11, 21, 31, 41번 프레임)
nuke -F 1-50x10 -x myscript.nk
- 50프레임 중 10프레임 간격으로 렌더링
- 특정 Write 노드만 렌더링 (예: WriteBlur 노드, 1~20번 프레임)
nuke -X WriteBlur myscript.nk 1-20
- WriteBlur 노드에서 1~20번 프레임만 렌더링
4. argv 사용 예시
- 출력 파일명을 argv로 변경
- GUI에서 Write 노드의 파일 경로를 [argv 0].####.tif 로 설정 후
- 아래 명령어 실행
nuke -x myscript.nk mychecker 1-5
- mychecker.0001.tif, mychecker.0002.tif, ... 렌더링
- 출력 파일 확장자 변경
- Write 노드의 파일 경로를 [argv 0].####.[argv 1] 로 설정 후
- 아래 명령어 실행
nuke -x myscript.nk mychecker cin 1-5
- mychecker.0001.cin, mychecker.0002.cin, ... 렌더링
5. Python을 사용한 TIFF → JPEG 변환
- Python 명령어 직접 실행 (-t 옵션 사용)
nuke -t
>>> r = nuke.nodes.Read(file="myimage.####.tif")
>>> w = nuke.nodes.Write(file="myimage.####.jpg")
>>> w.setInput(0, r)
>>> nuke.execute("Write1", 1, 5) >>> quit()
- myimage.####.tif 파일을 myimage.####.jpg로 변환
- Python 스크립트 파일 실행 (imageconvert.py 파일 사용)
cat imageconvert.py
r = nuke.nodes.Read(file="myimage.####.tif")
w = nuke.nodes.Write(file="myimage.####.jpg")
w.setInput(0, r)
nuke.execute("Write1", 1, 5)
nuke -t < imageconvert.py
- Python 스크립트를 사용해 변환 실행
- Python 스크립트 실행 시 인자 전달
cat imageconvertwithargs.py
import sys
r = nuke.nodes.Read(file=sys.argv[1])
w = nuke.nodes.Write(file=sys.argv[2])
w.setInput(0, r)
nuke.execute("Write1", 1, 5)
nuke -t imageconvertwithargs.py myimage.####.tif myimage.####.jpg
- 스크립트 실행 시 입력/출력 파일명을 인자로 전달하여 변환 실행
🔹 정리
- Nuke 실행 방식
- nuke myscript.nk → GUI에서 Nuke 스크립트 실행
- nuke -t myscript.py → Python 스크립트 실행 (GUI 없이 터미널에서 실행)
- nuke -x myscript.nk → Nuke 스크립트를 렌더링 모드로 실행
- 주요 옵션 (switches)
옵션 설명 -t Python 인터프리터 실행 (GUI 없이) -x 렌더링 실행 -F 특정 프레임(또는 범위) 렌더링 -X 특정 Write 노드만 렌더링 -v 이미지 파일 출력 - Python을 활용한 자동화
- Nuke의 -t 옵션을 사용하여 Python으로 자동화 가능
- sys.argv를 활용해 동적 변수 처리 가능
Nuke의 CLI 기능을 활용하면 GUI 없이도 효율적으로 렌더링과 파일 변환을 수행할 수 있습니다. 🚀
Command Line Operations
learn.foundry.com
'Nuke > 개발' 카테고리의 다른 글
확장자 - EXR: 무손실 압축 (0) | 2025.02.27 |
---|---|
폰트 (0) | 2025.02.26 |
Callbacks (0) | 2025.02.19 |
HTML in Nuke (0) | 2024.12.17 |
nuke의 다양한 개발방식?들 (0) | 2024.12.07 |