개요

Houdini-Beginner

후디니에서 forloop 반복문 노드를 사용하는 방법에 대해서 알아보겠습니다. 위와 같이 노드를 준비해주세요.

forloop 반복문

Houdini-Beginner

foreach 반복문은 여러 프리셋이 있지만, forloop는 없는 것이 특징입니다.

Houdini-Beginner

foreach input은 모든 input을 분해(blast)한 뒤, foreach 블록(block)의 내부 작업을 수행하고 나서 하나의 결과로 묶어(merge)줍니다.

그러나 forloop는 분해 하지 않습니다. 그저 forloop 블록 내부의 내용을 이터레이션(iteration) 횟수 만큼 반복할 뿐입니다.

Houdini-Beginner

그리고 결과를 ‘Feedback each iteration’ 또는 ‘Merge each iteration’ 으로 사용할 수 있습니다.

  • ‘Feedback each iteration’은 모든 이터레이션이 반복된 최종 결과만 반환합니다.
  • ‘Merge each iteration’은 개별 이터레이션의 결과를 모두 합쳐서 반환합니다.

Houdini-Beginner

hscript의 $F 구문을 사용하여 현재 프레임 값을 이터레이션으로 넣어주면 위와 같이 프레임에 따라 애니메이션 됩니다.

Houdini-Beginner

f@Alpha -= 0.05;
@Alpha = clamp(@Alpha, 0, 1);

@Alpha는 오브젝트의 컬러 알파 값입니다.

어트리뷰트 랭글 노드를 forloop 블록 내부에 넣으면 이터레이션 될 때 마다 알파 값이 ${0.05}$만큼 감소한 상태가 저장됩니다.

  • ‘Feedback each iteration’ 은 알파값이 ${0.05 *}$$F 만큼 줄어들고 난 이후의 최종 결과만 반환하고 있습니다.
  • ‘Merge each iteration’ 은 알파값이 ${0.05}$만큼 줄어드는 개별 이터레이션을 모두 합쳐서 반환하는 것을 확인할 수 있습니다.

레퍼런스(Reference)