2018. 7. 19. 15:06ㆍStudy/Houdini_Skill
CLUSTER
Cluster 를 생성하여 덩어리 부분을 만들어 준다.
node 를 이용한 cluster 와 vex 를 이용한 cluster 가 있다.
node 를 이용한 cluster 노드를 연결해주면 된다.
여기서 주목 할 부분은 clusters 10 부분이다. 10을 하면 10개의 cluster 가 생성이 된다.
@cluster attr 가 0부터 만들어지기 때문에 1을 더해서 1부터 생성되어 지게 해준다.
vex 를 이용한 cluster 생성
두개의 "point wrangle" 을 사용한다.
random vex로 point num 을 무작위로 불러들인다.
90% 만 if 문 안으로 들어가게 한다.
removepoint 를 이용해 point 를 삭제한다.
1 2 3 | if(random(@ptnum)<0.9){ removepoint(0,@ptnum); } | cs |
첫번째 연결부분에 scatter 노드를 연결시키고 두번째 연결부분에 attribute wrangle 을 연결시킨다.
@cluster 노드를 생성한다.
모든점에 접근해 위에서 만든 10% point에 nearpoint를 계산하여 cluster에 집어 넣는다.
1 2 | i@cluster = nearpoint(1,@P); i@cluster += 1; | cs |
Convex_Hull
Convex_Hull 은 SIM 을 하는데 있어 Bullet 부분에서 obj 모양을 만들어주는 설정중 하나
SIM 을 빨리하기 위해서 GEO 부분에서 Convex_Hull 을 만들어준다.
all node
Geo Fracture 설정
나무결을 만들어야 하기 때문에 transform 을 이용해 scale 을 줄여준다음 다시 원상복귀를 해준다.
x * 0.1 = y
y / 0.1 = x
을 이용
Convex_Hull 부분
항상 name attr 를 명심할것
원본 piece
VDB를 이용한 Convex_Hull
tetrahedralize 를 이용한 Convex_Hull
attrib wrangle 연결
2번째 노드에서 가지고 온 points 개수가 3개 보다 적을 때 ungroup 한다.
1 2 3 | if(npoints(1)<3){ !i@group_dletenode; } | cs |
name attr 가 마구잡이 이기 때문에 다잡아 준다.
1번째 연결을 blast 다음 2번째 연결을 for each 노드 다음에 연결해준다.
primitive 에 있는 name attr 를 point 로 가지고 온다.
attripromte로는 다른 node 에 있는 것을 끌어올수 없다.
point로 옮기는 이유는 proxy를 원본으로 바뀌기 위해서
1 | s@name = prim(1,"name",0); | cs |
dop import 로 point만 import 한다.
"transform pieces" 노드를 통해 원본으로 바꿔준다.
match attr 를 name로 바꾼다.
'Study > Houdini_Skill' 카테고리의 다른 글
Proxy_UPRES (0) | 2018.07.27 |
---|---|
SOPSOLVER GLUE Relationship VEX (0) | 2018.07.27 |
cluster를 이용한 glue constraint (0) | 2018.07.27 |
Constraint_name & type (0) | 2018.07.19 |
Basic_DOP (0) | 2018.07.19 |