트위터



2018/04/05 19:34

Houdini pop-geo instance dopsim setup OTL Houdini Memory

Update

Prev
 Pop_instance_geo_dopsim.zip-v1


후디니에서 파티클의 모션을 그대로 지오메트리로 인스턴싱하여
인스턴싱 된 지오메트리를 dop에서 활용할 수 있도록
미리 셋업 된 hip파일을 OTL파일로 만들어 배포합니다.

다운받아 otls 폴더에 직접 풀어서 사용하시면 되고,
내부 구성이 상당히 단순무식하게 만들어 져 있습니다.
반드시 최종적으로 마지막 dop에서 사용자가 원하는 형태로 재가공하여
output으로 사용하시길 바랍니다.

※ 주의
 해당 otl에는 $FEND 를 이용한 solver sop이 사용되었습니다.
 신 파일의 셋업된 애니메이션의 엔드프레임이 길수록, otl을 불러올 시 상당한 시간이 소요될 수 있으니 주의바랍니다.
 이는 파티클이 많은 신에서 더욱 나타납니다.



Update Log

v2 (180406)
: 시뮬레이션의 프레임이 무조건 1프레임으로 고정되었던 점을 수정하였습니다. 에셋의 최상위의 SimStartFrame 에 시뮬레이션을 시작할 프레임을 파티클이 방출되는 시작 프레임과 동일하게 입력해주시면됩니다.


Works
active가 0인 오브젝트와 1인 오브젝트끼리의 충돌이 확인되어 처리중입니다.




참고링크

2018/04/05 16:27

포인트 클라우드 샘플링 VOP 환경에서 세팅하기 (HIP File) Houdini Memory

**포인트클라우드 : 쉽게말해 포인트집단. 그냥 포인트들 여러개 모여있으면 포인트클라우드라 해도 될것으로 보임. 이하 PC.
**샘플링 : 원하는 정보를 복사/참조 하는 등의 행위
**PC 샘플링 : pc중에서 원하는 정보값을 가져오되, 내가 원하는 조건 하에 들고옴



단톡방에서 이야기가 잠시 나와서 잡아봤다.
일단 vex에서 사용되는 방법은

1 pc를 불러와서
2 희망하는 속성값을 지정해주고
3 검색 기준점을 어디로 할 것인지
4 검색영역은 얼마나 넓게 할 것인지
>>핸들값(int, 리스트)로 반환

가 기본 프로세스이고,
여기서 추가되는 과정이라면

5 원하는 채널이 있는지 (pcexport 및 pcunshaded 등을 활용하여 카메라 시야에 있는것만 지정할 수도 있음)
6 기준점을 중심으로 몇개까지 불러올것인지 (max points)
7 혹시 검색을 원형이 아닌 꼬깔모양으로 하고 싶은지(확성기 마냥 검색방향과 각을 지정)
>>핸들값(int, 리스트)로 반환
 
이 된다.


참고링크 (반드시 예제구문을 참고하면서 볼 것)



이 과정에서 1~4까지를 vop으로 풀어보았다.


pc들에서 2번째 인풋의 점을 기준으로 최대반경 3까지의 포인트들만 뽑아내어
2번째 인풋의 점에 가까울수록 기존에 가졌던 색(Cd)을 보다 검정색처럼 어두워지도록 바꿔주고
그것을 원래 있던 pc에 반영하는 과정.


여기서 주의해야 될 것은 pcopen이 포인트클라우드에서 영역을 지정하는 것 까지이며 (위에 기술한 vex프로세스의 1-4)
내가 희망했던 '점을 기준으로 가까울수록' 은 결국 pc들 중에서 샘플링된 p값만을 필요로 하는 것이기 때문에 
pcfilter에서 채널을 P만 골라서 다시 핸들로 빼낼 필요가 있었다.
(솔직히 굳이 pc 샘플링을 해야 되나 싶었지만, 일단 vex를 vop으로 풀어쓴다는 것에 의미를 둬보자)

또하나 주의해야될 점은 pcfilter로 뽑아낸 핸들값들이라곤 해도 bind export vop으로 출력해보면 뭔가 출력되긴 하는데
이렇게 출력되면 이 핸들들의 (리스트들의) 평균값이 나와버린다고.. 정작 그다음 과정인 subtract에서는 
당연히 평균으로 계산되지 않고 pcopen에서 걸러진 포인트들의 P값 들로만 계산된다. 나머지는 애초에 pcopen에 포함되지 않았을것이기 때문에 subtract하여도 계산되는게 없이 그대로 다시 나오게 되는 결과를 bind export vop과 연결하면 관찰할 수 있었다.
(이것때문에 이해하는데 한 3-40분 걸림.. vex에서는 단박에 이해되었던 pc sampling이..;;;)

그렇게 나온 벡터의 차에 해당되는 값들의 크기(length)를 계산하여
pc에서 pcopen으로 걸러내었기 위해 사용한 검색 반경(radisu)만큼 다시 노말라이징하게되면
최종적으로 그 중심에서 반경까지 0-1의 값을, 그 반경을 넘어가는 범위부터는 계속 1의 값을 가지게 된다.
이를 complement로 0>1 에서 1>0 으로 바꿔주거나, fit out에서 min0,max1 을 min1,max0 으로 뒤집어주어
원래 색상(Cd)에다가 곱해버렸다.

결론적으로 검색하기 위한 기준점에서 가장 어둡고, 그 기준점에서 지름 3까지 서서히 원래색으로 밝아져
지름 3을 넘는 포인트들은 원래색을 계속 유지하고 있는 결과물이 되었다.

물론 Cd뿐만아니라 V나 P 등의 모든 어트리뷰트에 상환할 수 있는게 후디니의 매력.
아래는 설명을 위한 FXguild의 김승혁 선생님 제공 파일이니 필요할 경우 참고해보자.


2018/04/03 17:38

후디니에서 맥스로 지오메트리/파티클/스모크 보내기 HOU-MAX Talk

참고링크


Houdini 에서 만들어진 여러 지오메트리 형태를 익스포트하여
3ds MAX 로 불러올 수 있다.
이전 포스트에서도 몇번 언급했지만, 다시금 북마크 정리 및 메모용으로 간략하게 정리해본다.


- 스모크
 : openVDB로 처리
 : HOU에서 File sop으로 활용할 수 있음
 : 참고링크
https://support.solidangle.com/display/AFHUG/Writing+Volumes+To+VDB
https://docs.redshift3d.com/display/RSDOCS/Volume+Rendering?product=3dsmax

- 일반 지오메트리
 : ABC 혹은 FBX로 처리
 : 다만 FBX는 pc2로 보내지기 때문에 주의요함
 : 이전 포스트 참고

- 후디니 파티클 > 맥스 크라카토아
 : 전용 오픈소스를 사용
 : 긱헙 링크 https://github.com/ThinkboxSoftware/HoudiniPRTExporter
 : 후디니에서 만들어진 파티클(포인트)를 크라카토아 확장자로 출력하여 이를 맥스에서 prt로 불러올 수 있음

 : 전용 오픈소스 (2) PRTrop
 : 긱헙 링크 http://www.flipswitchingmonkey.com/2018/03/22/Houdini-PRT-ROP.html

1 2 3 4 5 6 7 8 9 10 다음