TWA Houdini1/Rigidbody

TWA 후디니 1 RIGIDBODY_18_10 : 나무와 유리

yiss09 2023. 6. 12. 21:49

https://www.twahoudini.com/course/rigidbody1

 

HOUDINI1_ RIGIDBODY

3️⃣ 출동 SIMULATION 기초 이론부터 심화된 내용을 공부합니다. 또한 자동차를 이용한 리깅 시뮬레이션 BASIC을 훈련합니다.

www.twahoudini.com

 

Rigidbody18_10에서는 나무와 유리의 느낌이 나도록 Constraint를 세팅하는 법을 배워보겠다.

 

목차

1. 나무 느낌의 Constraint

2. 큰 조각 내기, RBD Material Fracture

 

 


1. 나무 느낌의 Constraint

 

 

먼저 Box를 조각낼 때 나무와 같은 느낌으로 쪼개주려 한다.

Box를 쪼개기 전 Transform으로 사이즈를 줄여주고, 조각내어준 뒤 다시 원래의 길이로 늘려주었다.

 

설명을 위해 조각의 갯수를 잠시 줄여주었다.

Constraint를 위한 Primitive를 구하는데에는 Voronoi Fracture의 2번째 Output을 이용해주었다.

조각이난 당시에는 길이가 줄어든 상태라 Constraint에도 이전과 같은 Transform을 달아주어 길이를 늘려주어야 한다.

 

Simulation에서 Constraint가 작동하도록 만들기위해서는 Constraint가 될 Primitive의 이름 정보와 그에 대변될 조각의 이름이 같아야 한다.

Voronoi Fracture에서 Piece Prefix의 정보를 조각의 이름과 동일하게 변경해줌으로써 이를 해결해줄 수 있다.

 

첫번째 결과는 Constraint 연결이 끊어지지 않도록 설정해둔 결과이다. 충돌에 의해 조각이 휘는 것을 볼 수 있다.

두번째 결과는 조각간의 연결이 어느 길이 이상을 벗어날 때 연결이 끊어지도록 해두었다.

세번째 결과는 Stiffness와 Damping Ratio 값을 높여준 결과로 좀 더 단단하게 묘사되는 것을 볼 수 있다. 

 

 


2. 큰 조각 내기, RBD Material Fracture

 

 

조각이 마구잡이로 부숴지는 것이 아니라, 정해진 큰 틀에 맞춰 부숴졌으면 한다.

 

이전의 결과를 놔둔채로 새롭게 Voronoi Fracture로 조각을 나누어주겠다.

그리고 얻어준 조각의 각각의 중심점을 Add로 구해주겠다.

그 다음 각각의 point에 대해서 Pack해주어 Primitive 정보를 얻어주겠다.

 

앞서 얻어준 Primitive 정보에 Random한 색을 입혀주고 Attribute Transfer를 이용해 그 정보를 Constraint로 이용될 Primitive에 옮겨주겠다.

Distance Threshold 값을 조절해 조각끼리 Constraint가 연결되지 않도록 적당한 값을 찾아준다.

 

우리가 옮겨준 조각 정보가 각자의 색을 가지고 있는 것을 활용하여, @Cd 값이 0인 primitive를 모두 제거해주었다.

따로 Constraint Relationship을 이용하기 위해서 Constraint_name을 "wood_a"와는 다르게 지정해주었다.

더 이상 필요없다고 판단되는 @Cd 값도 Attribute Delete에서 제거해준 뒤 wood_constraint에 합류시켰다.

 

Dop Network 안에서 방금 만든 Constraint에 대한 Relationship을 준비해주었다.

Simulation 결과를 보면 우지끈하고 큰 나무조각이 부서지는 것처럼 묘사된 것을 볼 수 있다. 그리고 그 사이사이 작은 조각들 또한 부서지는게 확인된다.

 

 

이렇게 나무의 특징을 살리기위한 컨셉을 모두 알아보았다.

1. 조각의 결을 세로로 길게 만들어주었다.

2. 우지끈 부러지는 느낌을 주기 위해서 벤딩이 가능한 Dop Network 설정을 활용하였다.

3. 그 중 부러지지 않고 결합되어 있는 덩어리들을 만들어주기 위해서 Constraint에 추가적인 작업을 해주었다.

 

마지막으로 재질과 관련된 RBD node를 하나 보고 가겠다.

RBD Material Fracture node에서는 여러 타입의 재질의 조각을 쉽게 만들어낼 수 있다.

Chipping 탭을 이용하면 Concrete 사이사이에 작게 Chipping된 조각 또한 쉽게 만들어줄 수 있다.

그러나 모양이 한정되어 있거나 Constraint를 구하는데에 완벽하지 않아 상황에 맞게 사용하는 판단력을 갖추어야 한다.

 

같은 유리나 나무라고 하여도 여러 케이스의 형태를 만들어낼 줄 알아야한다고 하였다.

하나를 만들줄 안다고 안주하는 것이 아니라 다양한 레퍼런스를 참고해 여러 방식으로 재질을 다루어보는 것이 필요할 것 같다.