테드옹의 VFX
point instance 본문
만트라에서도 가능하고 레드시프트에서도 가능하지만, 만트라 버전으로 작성
[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 |