중복된 Read 노드 사용 금지
- 문제점: 동일한 파일 경로를 가진 여러 Read 노드는 Nuke에서 각기 다른 프로세스로 처리되며, 이는 작업 속도를 저하시킴.
- 예시: 다중 패스 EXR 파일에서 개별 채널을 추출하기 위해 Read 노드를 복사/붙여넣기하면 동일한 데이터에 대해 Nuke가 여러 번 재계산함.
- 해결책:
- Read 노드에 연결된 Postage Stamp 노드를 사용하여 대체.
- Postage Stamp의 Hidden Input 옵션을 사용하여 가독성 향상.
- 모든 Postage Stamp 미리보기를 비활성화하는 Python 스크립트:
- for i in nuke.allNodes(): i['postage_stamp'].setValue(0)
Reformat 노드 우선 적용
- 목적: 모든 플레이트, 요소, 렌더를 프로젝트 포맷과 일치시키기.
- 장점:
- Merge 시 발생할 수 있는 이상한 필터링 문제 방지.
- 일관된 포맷 유지로 작업 중 올바른 컨텍스트 보장.
- Viewer에서의 Transform 핸들 오류 방지.
- 방법:
- 새로운 이미지를 불러올 때마다 바로 Reformat 노드 추가.
- 프로젝트의 기준 포맷으로 재설정.
Transform 노드 연결(Concatenation)
- 원리: Nuke는 여러 Transform 노드를 자동으로 하나의 연산으로 결합하여 필터링을 한 번만 수행.
- 장점:
- 스크립트 처리 속도 향상.
- 이미지 품질 유지.
https://www.nukepedia.com/written-tutorials/concatenation-of-transforms-in-nuke/
Concatenation of transforms in Nuke - Written Tutorials - Nukepedia
A fairly common question among Nuke users is whether transformation nodes concatenate in Nuke, which nodes do and don't, and how can one tell. The subject can be particularly confusing for artists who had used Shake before and liked the way it gave a vis
www.nukepedia.com
중복 작업 방지
- 문제점: 동일한 작업을 반복하면 스크립트가 복잡해지고 처리 속도 저하.
- 해결책:
- 모든 작업을 단 한 번만 수행하도록 설계.
- 최신 렌더 업데이트 시 손쉽게 스크립트를 유지/보수할 수 있도록 구조화.
- 스크립트를 간결하고 효율적으로 유지.
Defocus 노드 최소화
- 문제점: 여러 요소에 각각 Defocus 노드를 추가하면 작업 속도가 느려지고 병합 시 경계 문제 발생.
- 해결책:
- CG 렌더:
- RGBA 채널 합성 후, zDepth 렌더를 별도로 병합(max 연산 사용).
- Depth를 B-pipe에 복사.
- 스톡 요소:
- Alpha 채널을 기반으로 직접 zDepth 채널 생성.
- Grade 노드로 깊이 위치 조정.
- 모든 요소 병합 후 단일 Defocus 노드로 처리.
- CG 렌더:
- 예외 상황:
- 투명 요소가 많거나 소프트 엣지가 많은 경우 각 요소를 개별적으로 Defocus 처리.
Grain 노드는 한 번만 사용
- 문제점: 여러 요소에 개별 Grain 노드를 추가하면 처리 속도가 느려짐.
- 해결책:
- 스크립트 마지막 단계에서 필요한 모든 요소에 Grain 추가.
- Alpha Channel 활용:
- B-pipe에서 Alpha 채널을 빌드업하여 합성된 Alpha를 사용해 Grain 추가.
- 혹은 Difference 노드를 사용해 결과물과 원본 플레이트의 차이를 계산하고, 이를 기반으로 Grain 추가.
모든 작업을 상대적으로 처리
- 문제점: 각 요소를 개별적으로 수정하면 비효율적이며, 다른 부서의 변경 사항에 민감.
- 해결책:
- zDepth 활용:
- zDepth 패스를 Max 연산으로 병합하여 모든 CG 요소에 동일한 Haze를 추가.
- Expression 링크 활용:
- 동일한 설정 값을 가진 노드 간의 값을 Expression으로 링크하여 한 번의 수정으로 모두 변경 가능.
- zDepth 활용:
Bounding Box 최소화
- 문제점: 불필요하게 큰 Bounding Box는 계산을 비효율적으로 만듦.
- 해결책:
- Merge 노드 기본값 변경:
- menu.py에서 Merge 노드의 Bounding Box를 기본적으로 B로 설정.
- AutoCrop 사용:
- Nuke의 Script Editor에서 nukescripts.autocrop() 실행.
- CopyBBox 노드 사용:
- 원래 CG 요소의 Bounding Box를 복사하여 적용.
- Crop 노드 추가:
- 병합 전 요소에 Crop 노드 추가.
- Merge 노드 기본값 변경:
불필요한 채널 제거
- 문제점: 사용하지 않는 채널을 유지하면 Nuke가 불필요한 데이터를 처리.
- 해결책:
- Remove 노드 사용:
- 필요 없는 채널을 제거하여 처리 효율 향상.
- Copy 노드 활용:
- 필요한 경우, 스크립트 하단에서 채널을 다시 가져옴.
- Remove 노드 사용:
'Nuke > 최적화' 카테고리의 다른 글
Using the Precomp Node (0) | 2024.12.06 |
---|---|
Using Performance Timing - 무거운 노드 확인하는 방법 (1) | 2024.12.06 |
Filtering Profile Data - 무거운 노드의 데이터 만들기 (0) | 2024.12.06 |