본문 바로가기
Development/Houdini

프로시주얼(Procedural)

by gyu fx 2024. 4. 27.

1. 절차적

절차에 의해 Input이 있으면 Output이 있다.
그리고 그 사이에 수많은 중간 과정이 있다.
중간 과정에 따라 Output이 다르게 변화된다.

흔히 생각하는 함수의 개념과 같다.

function안에 어떤 구조 무엇이 들어갔는지 후디니에서 공부하자

 

2. 자동화

쉽게 말해 우리가 f(x) = x + 3 함수를 가졌을 때 x=7이면 10이 출력되어야 하지만, 다른 것이 나온다면 우리의 기댓값과 다르기 때문에 어딘가 범인이 있는 것이다.

함수를 사용한다면 아래처럼 그리드의 세그먼트를 계속 정사각형으로 만들 수 있다.


자동화의 또 다른 예를 들어보자

여기 루버토이가 있다. 이것을 바닥에 서있게 하고 싶다. transform 노드를 사용해서 수동으로 올려도 되지만 다른 오브젝트에도 사용할 목적이 있어서 매번 이 짓을 할 순 없다. 그래서 함수를 사용한다.

"-$YMIN" 함수를 사용하여 가장 낮은 Y좌표를 양수로 바꿔준다.


루버 토이를 사용해서 간단한 것을 만들었다.

vector max = getbbox_max(0);
vector min = getbbox_min(0);

@Cd = fit(@P.y, min.y, max.y, 0, 1);

@Cd = chramp("Color", @Cd.x);

이 스타일이 너무 마음에 들면 이 스타일을 루버토이가 아닌 pighead, sphere에 적용이 가능하다는 것이 절차적 생산의 장점이다.
추가로 백업이 용이하다(노드만 복사해서 버전을 관리함). 수정이 용이하다는 장점이 있다.

단점으로는 그 과정이 매우 번거롭고 익숙해지는데 시간이 걸린다.

Procedural은 만능이 아니다. 매우 강력하지만 매우 빠른 것은 아니기 때문에 상황에 맞게 사용할 수 있는 경험을 늘리는 것이 중요하다. 

'Development > Houdini' 카테고리의 다른 글

FFMPEG으로 이미지 시퀀스 영상으로 컨버팅  (0) 2024.05.05