Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

테드옹의 VFX

point instance 본문

Houdini

point instance

Tedd_Kim 2022. 3. 15. 21:52

만트라에서도 가능하고 레드시프트에서도 가능하지만, 만트라 버전으로 작성

 

[INSTANCE GEOMETRY]

1. instance으로 쓸 geometry를 준비한다. pack되어있어야 하고, 위치는 {0,0,0}

2. blast노드의 Group을 `$F`로 정한다. (숫자에 패딩을 주는 $F4 혹은 %02d같은 수식은 사용하면 안됨)

3. File cahce노드로 0프레임부터 npoints("../surfacenode")-1까지 캐싱한다 (blast이전의 instance들)

 

이렇게하면 20개의 instance가 있다고 가정할시

0프레임부터 19프레임까지 각각 한 개의 인스턴스가 캐싱된다.

여기까지가 instance관련해서 할 작업

 

[SCATTER POINTS]

point wrangle을 이용하여 다음 코드를 작성

 

s@instancefile = chs("../filecahce/file"); //인스턴스 file cache노드의 path를 카피해서 paste relative reference하면 편함

s@instancefile = re_replace(itoa(int(@Frame)), itoa(int(@geomID)), s@instancefile)

 

itoa() : 정수형 숫자를 문자열로 변경하는 함수

re_replace(stringA, stringB, attribute_name) : stringA를 stringB로 변경한다

 

instancefile은 렌더러의 예약어기 때문에 다른 이름으로 저장하면 안된다.

instancefile 혹은 instance로만 변수명을 정해야함

 

첫 번째 줄을 작성하면 타임라인을 옮길때마다 문자열이 바뀐다, 왜냐하면 3번 단계에서 bgeo저장을 할 때 $F기능을 썼기때문에. 그러므로 두 번째 줄을 작성하여 계속하여 변하는 $F를 geomID변수로 바꿔줘야한다.

 

경로에 숫자가 없는지 주의

 

마지막으로, obj 최상위 레벨에서 instacne노드를 만든 후, Instance탭 -> point instancing를 Fast point instancing으로 바꿔주고 material을 할당한다.

 

'Houdini' 카테고리의 다른 글

Fresnel 이펙트  (0) 2022.03.18
Spiral along curve  (0) 2022.03.18
라이팅 필기  (0) 2022.01.29
PBR Rendering 필기  (0) 2022.01.16
후디니, 서브스턴스 페인터 워크플로우  (1) 2022.01.13