CompStart

Pro레슨코스엘리먼트소프트웨어

CompStart

최첨단 시각효과 기술을 마스터하세요.

학습

코스레슨Pro 기능에셋소프트웨어

Tools

Tech CheckDisplay CheckMotion BlurPhysLightNuke Tools

회사

Instructor미션사이트맵개인정보처리방침이용약관

프로젝트

Moray RenderEXR ConverterOCIO.ccNuke ToolsDerekVFX

Follow

YouTubeInstagramTikTokThreads문의

© 2026 CompStart. All rights reserved.

난 인프 킬러

ToolSets / Utility
Utility

2026-09-07

ToolSets/utility/naninfKiller.nk

공익사업
난
정보
대청소
rgba
고치다
유효하지 않은
GitHub에서 보기

RGBA 데이터에서 NaN 및 Inf 값을 찾아 해당 샘플을 0으로 설정하고 빈 공간을 채워 유효하지 않은 픽셀로 인해 Nuke 합성의 나머지 부분이 손상되지 않도록 합니다.

Nan Inf Killer는 입력 이미지의 모든 RGBA 채널에서 NaN 또는 Inf 값을 검사합니다. 이러한 검사를 통해 마스크를 생성하고, NaN 또는 Inf 값이 포함된 모든 샘플을 불량 샘플로 처리합니다.

불량 샘플은 0으로 설정된 다음, 방사형 모드의 MarkerRemoval이 마스크된 영역을 채웁니다. 정리된 결과는 원본에 다시 복사되므로 스트림의 나머지 부분은 유효한 바운딩 박스와 채널 설정을 유지합니다.

등급, 병합, 표현식 또는 심층 단계에서 유효하지 않은 값이 입력되어 뷰어, 쓰기 또는 하위 노드가 실패하거나 작동이 중단될 때 사용하십시오. 이 그룹에는 조정 옵션이 없으며, 파이프를 통해 연결하여 트리를 계속 진행해야 합니다.

Script code

set cut_paste_input [stack 0]
version 12.1 v4
push $cut_paste_input
Group {
 name naninfKiller
 tile_color 0x421010ff
 selected true
 xpos -1173
 ypos 1371
 addUserKnob {20 User l nanKiller}
 addUserKnob {26 ""}
 addUserKnob {26 lbl l "" +STARTLINE T "Nan Inf Killer v1.0"}
 addUserKnob {22 btn l DerekVFX.ca T "nuke.tcl('start', 'https://derekvfx.ca')" +STARTLINE}
}
 Input {
  inputs 0
  name Input
  xpos 447
  ypos -18
 }
set Ndc44400 [stack 0]
 Expression {
  expr0 "isinf(r) || isnan(r)"
  expr1 "isinf(g) || isnan(g)"
  expr2 "isinf(b) || isnan(b)"
  expr3 "isinf(a) || isnan(a)"
  name Expression10
  label "\[knob expr3]"
  xpos 370
  ypos 260
 }
 Expression {
  expr3 max(r,g,b,a)
  name Expression11
  label "\[knob expr3]"
  xpos 370
  ypos 370
 }
set Ndc75c00 [stack 0]
 Dot {
  name Dot2
  note_font_size 40
  xpos 404
  ypos 637
 }
push $Ndc75c00
push $Ndc44400
 Dot {
  name Dot1
  note_font_size 40
  xpos 241
  ypos 212
 }
 Copy {
  inputs 2
  from0 rgba.alpha
  to0 mask.a
  name Copy1
  xpos 207
  ypos 370
 }
 Expression {
  temp_name0 m
  temp_expr0 mask.a
  expr0 "m ? 0 : r"
  expr1 "m ? 0 : g"
  expr2 "m ? 0 : b"
  expr3 "m ? 0 : a"
  name Expression1
  label "\[knob expr3]"
  xpos 207
  ypos 460
 }
set Ndc74c00 [stack 0]
 Dot {
  name Dot5
  note_font_size 40
  xpos 92
  ypos 470
 }
 Shuffle {
  red alpha
  green alpha
  blue alpha
  name Shuffle1
  label "\[value in]"
  xpos 58
  ypos 552
 }
 MarkerRemoval {
  mode radial
  ctrlMask mask.a
  name MarkerRemoval1
  xpos 58
  ypos 594
 }
 Dot {
  name Dot4
  note_font_size 40
  xpos 92
  ypos 663
 }
push $Ndc74c00
 MarkerRemoval {
  mode radial
  ctrlMask mask.a
  name MarkerRemoval2
  xpos 207
  ypos 542
 }
 Copy {
  inputs 2
  from0 rgba.red
  to0 rgba.alpha
  name Copy2
  xpos 207
  ypos 653
 }
 Dot {
  name Dot3
  note_font_size 40
  xpos 241
  ypos 733
 }
push $Ndc44400
 Merge2 {
  inputs 2
  operation copy
  bbox B
  name Merge1
  xpos 447
  ypos 729
 }
set Ndca0c00 [stack 0]
 Output {
  name Output1
  xpos 447
  ypos 804
 }
push $Ndca0c00
 Viewer {
  frame_range 1017-1092
  colour_sample_bbox {0.8005697727 0.1044634357 0.8015194535 0.1054131091}
  input_process false
  gl_lighting true
  name Viewer1
  selected true
  xpos 823
  ypos 1061
 }
end_group