SOP SOLVER

SOP 안에서 다이나믹 시뮬레이션 연산을 해주는 Solver SOP 에 대해 알아보자.

Posted: September 4, 2017
Version: Houdini 15

Solver Surface Operator

Solver SOP 의 성격과 기능은 다른 SOP 노드들과 많이 다르다.

SOP_solver_0.jpg

 

Solver SOP 은 시뮬레이션에 기반한 다이나믹(DOP) 노드이다.

시뮬레이션이란 이전 프레임에 근거한 다음 프레임의 오브젝트 상태를 말한다.

즉, Solver SOP 은 프레임 1부터 계산과정에 따라 결과물을 돌려준다.


Solver SOP 의 용도

Solver SOP 은 어떤 특정한 기능에 한정되있는 노드가 아니다.

Solver SOP 은 마치 SOP Network 와 같은 하나의 거대한 컨테이너이다.

다만, 시뮬레이션에 기반하는 장점을 취할 수 있다.

 

Solver SOP 은 초보자들이 이해하기 어려운 노드이다.

다음 예제를 따라해 보며 Solver SOP 과 친숙해지도록 하자.


Solver SOP 예제

후디니를 열고 네트워크 뷰에서 /obj 에 스피어 지오메트리를 하나 만든다.

SOP_solver_1.jpg

 

만들어진 'sphere' 노드를 더블클릭하여 Geometry 레벨로 들어간다.

TAB 메뉴를 이용하여 Transform SOP 을 하나 만든다.

SOP_solver_2.jpg

 

만들어진 'transform1' 노드를 'sphere1' 에 연결한다.

SOP_solver_3.jpg

 

'transform1' 의 파라미터 창을 다음과 같이 수정한다.

Rotate 속성은 각각 X, Y, Z 축으로 회전시키는 역할을 한다.

SOP_solver_4.jpg

 

스피어가 Y축을 기준으로 10도 비스듬하게 회전한 것을 볼수있다.

SOP_solver_5.jpg

 

여기까지의 과정은 매우 평범하다.

플레이를 해도 스피어는 10도 회전한 상태를 유지하며 움직이지 않는다.

 

자, 이제 똑같은 과정을 Solver SOP 안에서 반복해 보자.

같은 Geometry 레벨에서 Solver SOP 을 하나 만든다.

SOP_solver_9.jpg

 

이번에는 'transform1' 노드 대신 'solver1' 노드를 스피어에 연결해 준다.

연결한 뒤에 'solver1' 노드의 Display Flag 를 클릭하도록 한다.

연결한 뒤에 'solver1' 노드의 Display Flag 를 클릭하도록 한다.

 

우선 'solver1' 노드의 파라미터 창을 눈여겨 보자.

Reset Simulation 버튼이 보이는가?

SOP_solver_10.jpg

 

위에서 설명한데로 Solver SOP 은 다이나믹 (DOP)인 것이다.

Start Frame 속성에서 시뮬레이션 시작 프레임이 1임을 알 수 있다.

 

여러분은 시뮬레이션이라고 해서 어떤 굉장한 이펙트를 기대했는가?

Solver SOP 연결 뒤에도 스피어는 어떤 변화도 없다.

그 이유는 Solver SOP 자체는 비어있는 껍떼기에 불과하기 때문이다.

Solver 노드 안쪽을 살펴볼 필요가 있다.

 

아까 만든 'transform1' 노드를 Ctrl+C 또는 Alt+C 로 복사한다.

복사한뒤, 'solver1' 노드를 더블클릭 한다.

 

안쪽으로 들어가면 다음과 같이 5개의 노드들이 기다리고 있다.

처음에는 복잡해 보이지만 사실 별거 아니다.

SOP_solver_7.jpg

 

Input 1, 2, 3, 4 노드는 상위에 있는 'solver1' 의 각 인풋을 가리킨다.

왼쪽에 있는 'Prev_Frame' 노드에서 모든 시뮬레이션이 이루어진다.

Previous Frame, 즉 이전 프레임에 근거한다는 뜻이다.

 

복사했던 'transform1' 노드를 Ctrl+V 또는 Alt+V 로 불러온다.

다음과 같이 'transform1' 노드를 'Prev_Frame' 노드에 연결해 준다.

SOP_solver_8.jpg

 

여기서 현재 우리가 작업하고 있는 노드경로를 눈여겨 볼 필요가 있다.

Path 네비게이션바를 보면 'solver1' 노드 > 'd' 노드 > 's' 노드 안쪽에 있음을 알 수 있다.

SOP_solver_11.jpg

 

Solver SOP 의 결과를 제대로 보려면 Solver 밖으로 빠져나와야 한다.

위 네비게이션바에서 sphere 버튼을 클릭하거나 단축키 U를 눌러 Solver 에서 빠져나온다.

'd' 노드는 DOP 네트워크이다. 단축키 I와 U를 이용해서 Solver 안으로 들어가거나 빠져나올때 'd' 노드는 지나치게 된다.

 

자, 이제 다시 플레이를 해보자.

같은 Transform 노드인데 이번에는 스피어가 계속 회전하게 된다.

프레임 1: Frame 0 에서의 회전값 + Transform 회전값 = 0 + 10 = 10도
프레임 2: Frame 1 에서의 회전값 + Transform 회전값 = 10 + 10 = 20도
프레임 3: Frame 2 에서의 회전값 + Transform 회전값 = 20 + 10 = 30도
...
프레임 36: Frame 35 에서의 회전값 + Transform 회전값 = 350 + 10 = 360도