
- static object
- RBD 시뮬의 collision 전용 object
- 고정된 충돌체(바닥/벽) > 충돌이나 중력 등 RBD 시뮬레이션의 영향을 받지 않는 고정 오브젝트 - rbd object
- unpacked 상태의 RBD object
- 이전 Houdini RBD 시스템에서 사용됨
- legacy - rbdpackedobject
- Bullet Solver용 표준 RBD object
- 빠르고 효율적이다.
- constraint와 최적화되어 있다. - rbd fracutred object
- 조각난 geometry를 파편 단위로 RBD 처리하는 object
- glue constraint 자동 생성 가능 - rigidbodysolver
- Houdini의 기본 RBD solver
- Engine으로 rbdsolver와 bulletrbdsolver 중 하나를 선택하여 사용할 수 있다. - rbdsolver
- 기본 primitive 형태로만 충돌을 계산하는 고전 RBD solver
- constraint와 함께 쓰기 어렵다.
- legacy - bulletrbdsolver
- Geometry 자체의 convex hull 기반으로 충돌 시뮬레이션을 수행한다.
- constraint 사용에 최적화되어 있다.
- 매우 빠르지만 concave geometry에서는 정확도가 떨어질 수 있다.
- 대부분의 RBD 작업에서 사용한다.
// Object
1. Attributes
- active: 물리 시뮬레이션 적용 여부
> 1 : 적용
> 0 : 미적용 - animated: SOP 애니메이션을 유지할지 여부
- deforming: 변형 geometry로 처리할지 여부 (SDF 재계산)
※ animated와 deforming은 동시에 1이 되는 것을 피하는 것이 일반적이다.
animated = 1 → deforming = 0 > Packed Transform만 변경되는 경우
animated = 0 → deforming = 1 > Geometry 자체가 매 프레임 변형되는 경우
2. Physical
- density: 질량을 결정하는 밀도
> density × volume = mass(질량) - bounce: 튀기는 정도(0~1)
> 0 : 전혀 안 튐
> 1 : 많이 튐 - fraction: 마찰(0~1)
> 0 : 미끄러짐
> 1: 잘 안 미끄러짐
// Sourcing
Rigid Body Simulation의 경우는 Volume simulation의 volume source나 Particle simulation의 pop source와 같이 소스를 주입해주는 노드가 따로 정의되어 있지 않다.
대신 별도의 방법으로 source를 주입해주어야 한다.
1. sop solver 단독 사용

먼저 rigid body solver의 post-solver(세 번째 input)에 sopsolver 노드를 연결해 준다.
그리고 sop solver 안에서 주입할 source 작업을 해주면 된다.

기본적으로 세팅되어 있는 노드인 dop_geometry는 solver의 prev_frame과 같은 역할을 한다. 이전 프레임의 geometry source 관련 정보를 받아 온다.
이것과 내가 주입할(생성할) source를 merge 하여 내보내면 sourcing 완료이다.
2. sopnet + sop solver+ solver enable 사용
주로 sop solver 하나만 사용하는 방식이 보편적이지만, 복잡한 시뮬레이션이 필요할 때는 세 노드의 조합을 사용하기도 한다.
만약 하나의 dopnet 안에서 RBD object가 여러 개일 경우, sop solver만 사용하면 해당 source를 어떤 object에 주입할 것인지 지정해주기 어렵다.
이를 해결하기 위해 세 노드를 사용할 수 있다.

기본적인 노드 구성은 위 사진과 같다.
sopnet 안에 source를 생성하고, sopsolver에서 해당 sopnet의 source를 불러오며 그것을 enablesolver노드와 연결하여 ost-solver(세 번째 input)까지 연결해준다.

sopnet 안에서는 object merge를 통해 특정 RBD Packed Object의 이전 프레임 geometry를 불러온 다음, sop solver와 동일한 방식으로 주입할(생성할) source를 merge 하여 내보낸다.

sop solver의 내부는 깔끔하게 비워두되, sopnet의 내용을 불러올 수 있게 해주어야 한다.
Use external SOP를 체크한 후 SOP Path에 sopnet에서 생성한 source의 경로를 입력한다.

마지막으로 Enable Solver의 Enable Objects에는 소스를 주입할 RBD Packed Object의 object name을 적어주면 된다.
// Constraint
물체와 물체 사이(파편 사이)의 관계를 정의하는 시스템

Contraint network 노드의 첫 번째 input에는 rbd packed object를, 두 번째 input에는 relationship 노드를 연결해 준다.
relationship 노드는 의도에 맞는 것을 선택하도록 한다.


Contraint network 의 SOP Path에 Constraint Geometry의 경로를 입력한다.
Constraint Geometry에는 constraint_type과 constraint_ name attribute이 모두 지정되어 있어야 한다.

- constraint type: 파편 사이의 어떤 성질을 고정할지 결정한다.
- rotation: 두 물체 사이의 상대 각도를 고정한다.
- position: 두 물체 사이의 상대 위치를 고정한다.
- all: 두 물체 사이의 상대 각도와 위치를 모두 고정한다. - constraint_name: constraint를 구분하는 이름
- restlength: 두 파편 사이의 기본 거리(초기 간격) 또는 원래 유지해야 하는 거리
- condir(constraint direction): constraint가 작동하는 기준 축 방향 (벡터)
- condof(constraint degrees of freedom): 각 축(X/Y/Z)의 자유도 여부를 나타내는 비트마스크/벡터(mask)
{1,0,0} > X축만 자유
{0,0,0} > 모든 축 고정
※ condir + condof
constraint type : position 일 때
condof 0 > condir 방향에 관계없이 자유롭게 움직인다.
condof 1 > condir의 방향과 수직이 되는 면 위로만 움직인다.
condof 2 > condir의 방향으로만 움직인다.
condof 3 > 움직임이 고정된다.
constraint type : rotation 일 때
condof 0 > condir 방향에 관계없이 자유롭게 회전한다.
condof 1 > condir를 제외한 방향으로 회전한다.
condof 2 > condir의 방향으로만 회전인다.
condof 3 > 회전이 고정된다.
● relationship
constraint가 어떻게 작동할지(물리적 성질) 결정한다.
- glue: 파편이 붙어 있다가 임계값(break threshold) 초과하면 끊어진다.
- hard: 상대 위치·각도를 완전히 고정한다.(복원력이 높다.)
- soft: spring처럼 탄성있게 늘어났다 줄어든다. > 파편 사이의 거리(position) 유지
- cone twist: 특정 축은 회전 가능하게 하고 특정 각도 이상은 못 움직이도록 제한한다.
- slider: 한 축 방향으로만 이동 가능하고 나머지는 고정한다.
- spring: 탄성을 가진다. > 거리 유지 X

Relationship 노드 안의 Data Name에는 SOP에서 만든 constraint geometry의 constraint_name를 적어주어야 한다.
'Technical Artists > Houdini' 카테고리의 다른 글
| [Houdini] Scene View 에서 navigation message 안 보이게 하기 (0) | 2026.01.05 |
|---|---|
| [Houdini] DOP Network 밖에서 Constraint Visualization 불러오기 (0) | 2026.01.02 |
| [Houdini] DOP Network - Volume(smoke/pyro) (0) | 2025.11.15 |
| [Houdini] DOP Network - Particle (0) | 2025.11.07 |
| [Houdini] 기본 개념 정리 (0) | 2025.09.20 |