Houdini/Tornado

Tornado_sop

Allan Min 2016. 7. 12. 09:14

이 강의를 보면서.. 강의자의 심각한 삽질에 은근히 짜증이 났다. 

강의자는 geo-box를 사용해서 거리를 맞추었는데, 방법은 geo의 트랜스레이트 값을 조절하고, box의 스케일 값을 늘려서 조정하였다.

나는 차라리 box에 translate노드를 달아서 y축 pivot에 y축 scale/2를 해서 스케일에 따라서 센터 값이 world좌표에서 0 0 0에 위치 할 수있도록하고, measure노드를 사용하였지만 왜 프라미티브 면적 값이 필요한지는 아직 모르겠다. (설마!.. 프라미티브 번호를 확인하려고 사용하였다면, 그냥 지오메트리 스프레드시트에서 확인이 가능하다.)

blast는 4 5값을 group에 입력, group값이라 익스프레션이 못쓰여서 자동으로 위면 아랫면을 구해주는 패턴은 생각이 나지 않는다.

(쌤한테 물어봐야지) 구한다면 패턴: 마지막 포인트 번호 (마지막 포인트 번호-1) 이 될 것이다.

정육면체는 0-5 즉 0 1 2 3 4 5인 6면으로 되어 있기 때문이다.

내가 하는 방식으로 한다면, 장점이 box 말고 다른 obj가 들어 올 때에도 일일히 파라미터 값을 수정하지 않아도 자동으로 원하는 값을 구할 수 있다. (프로시주얼 하다.)

그리고 add sop을 사용할텐데 (강의자의 삽질은 계속된다.. 부들부들) 강의자는 add를 두개 만들어서 $CEX $CEY $CEZ 입력해서 센터 값을 맞추었을 텐데, 내가 한 방식으로 하였다면 프라미티브 4 5번이 같이 잡혔기 때문에 $CEX $CEY $CEZ를 입력하면 박스의 중앙에 포인트가 생길 것이다. 아니 add 노드는 point를 여러개 추가할 수 있는데 굳이 노드를 쓸데없이 두개나 쓰다니 내가 보기에는 낭비다...

우리는 point 를 하나 더 추가해서 하나는 translate 노드의 y pivot값을 가져오고, 다른 하나는 -y pivot을 가져오면 된다.

(이 글은 다시 후디니 파일을 확인해보고 수정) 익스프레션 확인 해봐야댐

이렇게 하면 박스의 중심의 양 가운데 축으로 point가 하나씩 생긴다.

그리고 resample은 선이 있어야 사용 가능하기 때문에 point sop group을 이용해서 선을 그려준다.

resample을 사용 length값은 어느 비율이 적당한지 모르겠지만, 난 5m로 설정하였다.

5m이면 포인트와 포인트 사이가 5m인 것이다. 이 것도 자동으로 등분을 하고 싶다면 length에서 add sop의 group/나누고 싶은 등분

을 하면된다.

이 부분은 다른 방법을 써보았지만 전부 실패해서 그냥 강의자의 방식을 쓰기로 했다. 뭐냐하면 이 resample한 포인트들을 하나하나 컨트롤 하는 노드이다. 여기서 추가한건 아주 약간 편하게? 편하지 않을지도 모르겠지만 노드의 넘버에 따라서 그룹을 잡아주는 정도만 하였다.

노드의 name에 1이 포함되어 있으면 translate의 group의 pattern이 1로 인식하게 만들었다.

익스프레션은 `opdig("$OS")`로 한 것 같은데 이것도 집에서 확인.

여기서 하고 싶은건 resample로 포인트 갯수를 늘리면 이 포인트마다 움직일 수 있는 핸들이 자동생성 되는 것을 하고 싶었다.

point노드에서 무언가 될 것 같기도 했었는데 불가능했다. att cre로 값을 여러개 만들어서 하면되려나? 하지만 자동으로 핸들이 만들어 질 것같지는 않다. 

convert(type: 넘스)- resample을 하면 점 갯수가 늘어나면서 부드러운 곡선이 된다.

그리고 point sop - force - add edge force

비주얼라이즈: edge_dir, EdgeDir, edge_dir, Length Scale 0.1

convert - uvtexture - resample, uvtexture를 추가하고 type을  Arc Length Spline으로 바꾼 후

new pop을 생성한다. 지오메트리는 grid로 하고 scatter를 사용해서 포인트 파티클재료로 준비해준다.

Sop은 끝남