Posted: April 9, 2021
Version: Houdini 18.0
Mountain Surface Operator
Mountain SOP 은 기본적으로 노이즈를 이용해서 지오메트리를 변형시킨다.
먼저 VOP노이즈 페이지에서 노이즈에 대해 이해하고 돌아오도록 하자.
Mountain 이란 이름때문에 산맥지형을 만들때만 쓴다고 생각할수도 있겠다.
하지만 이 노드는 산맥뿐 아니라 어떤 대상에도 적용해서 다양한 변형을 만들어낸다.
VOP노이즈 페이지에서 배운 노이즈 기본요소의 명칭이 여기서는 조금 다르다.
Mountain Height: Amplitude (노이즈 세기)
Mountain Element Size: Frequency (노이즈 빈도)
Mountain Offset: Offset (노이즈 흐름)
Mountain 예제
후디니를 열고 네트워크 뷰에서 ‘/obj’ 에 Grid 지오메트리를 하나 만든다.
만들어진 'grid1' 노드를 더블클릭하여 Geometry 레벨로 들어간다.
안쪽에 있는 Grid SOP 의 파라미터를 다음과 같이 수정한다.
Rows, Columns 속성은 각각 가로/세로로 나누려는 분할선의 개수를 말한다.
이제 Mountain SOP 을 한개 만들어 다음과 같이 연결해준다.
연결한 뒤에는 ‘mountain1’ 노드의 display flag 를 선택하도록 한다.
평평했던 그리드가 울퉁불퉁한 산맥모양으로 변형된다.
Mountain SOP 을 이용하면 이처럼 손쉽게 대상 오브젝트를 변형시킬 수 있다.
‘mountain1’ 노드의 파라미터값을 다양하게 변화시켜 보자.
이때 위에서 본 노이즈 기본요소와 관련된 파라미터 위주로 테스트해 본다.
height: 변형의 세기를 조절한다.
height 0.5
height 2.0
element size: 노이즈 패턴의 사이즈를 조절한다.
element size 0.5
element size 2.0
offset: 노이즈 패턴을 이동시킨다.
offset x -0.5
offset x 0.5
Mountain 응용
Mountain SOP 을 응용해서 강이 흐르는 장면을 연출해 보자.
위에 이어서 ‘mountain1’ 노드의 파라미터를 초기 기본값으로 복원한다.
복원한 뒤, 파라미터를 다음과 같이 수정해 준다.
더 넓은 노이즈 패턴을 얻기위해 element size 값을 3으로 올려준다.
offset x 값에는 글로벌 변수 $T 를 입력했다.
변수 $F는 현재 프레임(frame) 값을 돌려주지만 $T는 현재 시간(time) 값을 돌려준다.
후디니 기본설정에 1초는 24프레임이므로 $T는 단순히 $F를 24로 나눠준 값이 된다.
time = frame / 24
두 변수 모두 시간이 갈수록 값이 증가하지만 상대적으로 천천히 증가하는 $T를 입력한것 뿐이다.
만약 $T 대신 $F/24 를 입력해도 같은 결과를 얻는 것이다.
후디니 화면 밑쪽 Playbar 에 있는 Play 버튼을 클릭해서 플레이 해본다.
이때 플레이버튼 밑에 있는 Real Time Toggle 버튼을 눌러서 리얼타임으로 플레이 한다.
리얼타임이란 1초에 24프레임 만큼의 속도로 플레이 하는 것을 말한다.
$T 덕분에 노이즈 패턴이 +X 방향으로 일정하게 흐른다.
하지만 강물이라고 하기엔 노이즈 패턴이 굳어져 있다는 느낌이다.
굳어져 있는 패턴을 변화시키기 위해 offset y 값에도 ($T x 0.3) 를 입력한다.
($T x 0.3) 은 $T 보다도 약 1/3 더 느린속도로 노이즈 패턴을 +Y 방향으로 이동시킨다는 말이다.
다시 플레이를 해보자.
고정되있던 패턴이 계속 천천히 변하면서 오른쪽으로 자연스럽게 흐른다.