본문 바로가기
이펙트 (FX)/이펙트 팁 : Houdini

[Houdini] Advanced Vellum Workflows | John Lynch | H17 Masterclass 요약 (hip 파일 첨부)

by Minkyu Lee 2026. 3. 10.

1. 영상 정보

 

2. 핵심 요약 (Conclusion)

본 영상은 SideFX의 시니어 소프트웨어 엔지니어인 John Lynch가 진행한 Houdini 17 Vellum 마스터클래스로, Vellum 솔버의 고급 워크플로우와 내부 작동 원리를 심도 있게 다룹니다. 기존의 단순한 옷감이나 머리카락 시뮬레이션을 넘어, 시뮬레이션이 진행되는 도중에(Dynamically) 제약 조건(Constraints)의 속성을 애니메이션하거나, 끊거나, 새로운 제약 조건을 생성하는 등의 고도화된 테크닉을 배울 수 있습니다. 내부적으로 솔버가 데이터를 어떻게 다루고 최적화(Graph Coloring, XPBD)하는지에 대한 기술적인 설명부터 시작하여, Hard/Soft Pin과 Weld의 차이점, Edge Fracture를 활용한 자연스러운 옷감 찢기(Tearing)와 풍선 터뜨리기 파이프라인, 외부 지오메트리를 활용한 Rest Blend 기법, 끈적이는 충돌(Sticky Collision), 영구적 변형을 만드는 Plasticity(소성), 그리고 Soft Body와 Grain 셋업까지 실무 FX 작업에서 즉각적으로 활용할 수 있는 방대한 양의 테크닉을 상세하게 설명합니다. 후디니 Vellum을 보다 정밀하게 제어하고 최적화하려는 아티스트에게 필수적인 고급 가이드입니다.

 

3. 타임라인별 상세 정리

1. Vellum 솔버의 내부 구조와 데이터 표현 (00:00:00 ~ 00:11:00)

  • XPBD 알고리즘 [01:10]: Vellum은 단순히 PBD(Position Based Dynamics)가 아닌 XPBD(Extended Position Based Dynamics) 기반입니다. 이는 반복 연산(Iteration)이나 서브스텝(Substeps) 횟수에 상관없이 제약 조건의 강도(Stiffness)가 일정하게 유지됨을 의미합니다. 충돌 처리를 위해 서브스텝을 올리더라도 부드러운 스프링이 갑자기 무한히 단단해지는 현상을 막아줍니다.
  • 데이터 구조 [07:00]: Vellum의 데이터는 크게 두 가지로 나뉩니다. 파티클 자체의 위치, 속도, 질량 등을 담은 'Geometry(Point 속성)' 데이터와, 점들 사이의 연결성(Restlength, Stiffness, Stress 등)을 담은 'Constraint(Primitive 속성)' 데이터입니다. VEX나 속성 조작 노드들을 통해 이 두 데이터를 직접 통제할 수 있다는 점이 Vellum의 강력한 무기입니다.

2. 적분(Integration) 방식과 튕김 현상 제어 (00:11:00 ~ 00:21:20)

  • 1차 vs 2차 적분 [11:16]: 기본적으로 Vellum은 이전 프레임의 위치와 속도까지 참조하는 2차 적분(Second Order Integration)을 사용합니다. 이는 1차 적분에 비해 비선형적인 움직임을 훨씬 잘 예측하여, 옷감의 미세한 주름이나 펄럭임 같은 에너지를 소실시키지 않고 유지합니다. [14:31]
  • Max Acceleration Fallback [19:02]: 2차 적분의 단점은 갑작스러운 충돌 시 에너지가 튀어 오르는(Bouncing) 아티팩트가 발생할 수 있다는 점입니다. 이를 해결하기 위해 솔버 내부에는 가속도가 일정 수치(예: 10 Gs)를 초과할 경우 해당 포인트만 일시적으로 1차 적분으로 되돌려 튕김 현상을 억제하는 기능이 내장되어 있습니다.

3. Graph Coloring을 통한 성능 최적화 (00:21:20 ~ 00:33:25)

  • 그래프 컬러링의 원리 [21:23]: GPU(OpenCL)를 활용한 병렬 처리를 위해, 점을 공유하는 제약 조건 프리미티브들이 서로 겹치지 않도록 그룹(Color)을 나누는 과정입니다.
  • 성능 팁 [29:25]: 여러 개의 옷감을 시뮬레이션할 때 개수가 늘어나도 속도가 선형적으로 느려지지 않는 이유는 GPU로 보내는 배치(Batch)의 크기만 커지기 때문입니다. 단, 제약 조건을 동적으로 끊거나 생성하여 위상(Topology)이 변할 때마다 그래프 컬러링을 다시 계산해야 하므로 연산이 무거워질 수 있습니다. 이를 방지하기 위해 'Breaking Frequency'를 Substep 단위가 아닌 Frame 단위로 낮추는 최적화 팁을 제공합니다.

4. Solver Iteration 파라미터 튜닝 (00:33:25 ~ 00:44:30)

  • Substeps vs Constraint Iterations [34:06]: 정확도를 높이기 위해서는 Constraint Iteration을 늘리는 것보다 Substep을 올리는 것이 움직임 예측과 안정성 면에서 훨씬 유리합니다.
  • Smoothing Iterations [35:39]: 너무 짧게 수축된 스프링 등 '물리적으로 불가능한(Impossible)' 제약 조건이 발생했을 때 에러가 일부 영역에 쏠리는 현상을 방지합니다. Jacobi 방식의 연산을 통해 에러(늘어남)를 전체 지오메트리에 고르게 분산시켜 부드러운 결과를 만듭니다.
  • Collision Passes [42:00]: 단단한 옷감이 복잡한 콜리전 오브젝트에 꽉 끼일 때 충돌 뚫림이나 비정상적인 늘어남이 발생한다면, Constraint Iteration(기본 100) 대비 너무 낮은 Collision Iteration(기본 10) 때문일 수 있습니다. 이 수치를 50 정도로 올려주면 옷감의 제약과 충돌 사이의 힘 싸움 밸런스를 맞출 수 있습니다.

5. Pin과 Weld (Hard vs Soft 제어) (00:44:30 ~ 01:08:10)

  • Hard Pin / Hard Weld [44:57]: 제약 조건(Primitive)을 푸는 대신 지오메트리의 Point 속성(Mass=0, Stopped=1, Match Animation)을 직접 변경하여 위치를 강제로 고정시킵니다. Weld의 경우, 두 포인트의 위치가 완벽히 일치하도록 처리되어 하나의 연속된 지오메트리처럼 거동하게 됩니다.
  • Soft Pin / Soft Stitch [52:33]: 스프링 형태의 제약 조건(Constraints)을 추가하여 점들을 연결합니다. 약간의 탄성을 가지게 되며 파라미터를 통해 텐션을 조절할 수 있습니다. Vellum Constraint Property DOP 노드를 이용해 시뮬레이션 도중 특정 프레임에서 이 제약들을 해제(Remove)하여 자유낙하 시키는 방식이 시연됩니다.

6. Tearing(찢어짐), Popping(터짐) 및 Edge Fracture (01:08:10 ~ 01:33:10)

  • Attribute를 활용한 정밀한 Tearing [01:13:46]: Weld 제약 조건에 'Stretch Stress(늘어나는 스트레스)'에 따른 파괴 임계값을 설정하여 옷감이 찢어지게 만듭니다. 특정 방향에만 임계값을 낮추거나 노이즈 마스크(break threshold scale)를 곱하여 원하는 위치에서 자연스럽게 찢어지도록 제어합니다.
  • 풍선 터뜨리기 (Popping Balloon) [01:17:24]: Pressure 제약 조건의 Rest Length를 애니메이션하여 풍선을 팽창시킵니다. 특정 임계치(Weld의 50%가 끊어짐)에 도달하면 VEX 코드를 사용해 Pressure 제약 조건 자체를 지워버리고(Deflate), 내부 압력 기울기(Pressure Gradient)의 역방향으로 Wind Force를 적용하여 터진 풍선이 공중으로 요동치며 날아가는 물리적 현상을 구현합니다. [01:24:54]
  • Edge Fracture 노드 [01:26:34]: 기존 Voronoi Fracture의 단점(폴리곤을 미세한 조각으로 잘라 시뮬레이션 효율을 망침)을 해결하기 위해 H17에 도입된 툴입니다. 기존 메쉬의 엣지를 따라서만 절단선을 생성(Shortest Path 알고리즘 활용)하여, 퀄리티 높은 삼각형 옷감 메쉬 구조를 유지한 채 자연스러운 찢김 라인을 사전 준비할 수 있습니다.

7. 시뮬레이션 중 제약 조건 애니메이션 (01:33:10 ~ 01:57:05)

  • Vellum Constraint Property 활용 [01:34:50]: SOP 레벨에서 애니메이션된 속성은 DOP로 넘어오지 않으므로, DOP 내부에서 Vellum Constraint Property 노드를 사용하여 시뮬레이션 도중 Restlength나 Stiffness 등을 다이내믹하게 변경해야 합니다.
  • VEX 및 외부 레퍼런스 [01:45:01]: 노드 내부의 Use VEX Expression을 활성화하고 외부 SOP에서 구운 노이즈 마스크나 페인트 마스크를 세 번째 입력단으로 불러와, 옷감이 실시간으로 부분 수축하거나 팽창하는 효과를 줍니다.
  • Vellum Rest Blend [01:47:50]: 외부에서 애니메이션된 지오메트리(예: 납작했다가 부풀어 오르는 오브젝트)를 참조하여 제약 조건의 Rest State(초기 상태)를 실시간으로 블렌딩합니다. 이를 통해 단순히 물리 시뮬레이션뿐만 아니라 형태가 능동적으로 변형(Morphing)되는 마법 같은 효과를 만들어냅니다.

8. Dynamic Constraints (동적 제약 조건 생성) (01:57:05 ~ 02:25:00)

  • 끈적한 충돌 (Sticky Collisions) [02:00:26]: Attach to Geometry 제약 조건을 시뮬레이션 중에 매 프레임(또는 서브스텝) 생성하도록 설정합니다. Vellum 지오메트리가 콜리전 오브젝트에 가까워지면 즉석에서 스프링 제약이 생성되어 달라붙고, 당겨지는 스트레스가 커지면 끊어지도록(Breaking) 설계하여 끈적한 물질이 붙었다 떨어지는 효과를 구현합니다.
  • 안정적인 Rope 쌓기 (Dynamic Pinning) [02:13:19]: 수많은 밧줄이 쌓일 때 생기는 지터링(Jittering)을 막기 위해, 일정 속도 이하로 느려진 포인트들을 VEX로 그룹화한 후 그 점들에만 동적인 Soft Pin을 추가하여 쌓인 밧줄 무더기가 물리적으로 안정되게 멈추도록 최적화하는 테크닉을 소개합니다.

9. Plasticity (소성, 영구 변형) (02:25:00 ~ 02:36:15)

  • Plasticity 개념 [02:25:06]: 물체가 충돌체에 의해 일정 각도(Bend)나 길이(Stretch) 이상으로 강하게 변형될 경우, 제약 조건의 Rest State 자체가 현재의 변형된 상태를 향해 업데이트되는 기능입니다.
  • 파라미터 제어 [02:26:38]: Threshold(변형이 시작되는 한계점), Rate(초기 상태에서 변형 상태로 값이 넘어가는 속도), Hardening(변형 후 제약 조건이 더 단단해지는 정도)을 조합하여, 무거운 물체가 짓누르고 지나간 잔디가 영구적으로 꺾여 있거나, 찌그러진 금속 캔처럼 형태를 유지하는 시뮬레이션을 가능하게 합니다.

10. Soft Bodies 와 Grains (02:36:15 ~ 02:56:23)

  • Soft Body의 3가지 접근법 [02:36:22]:
    1. Struts: 내부를 무작위 스프링으로 채우는 방식 (형태 유지는 좋으나 부피 보존이 약함).
    2. Balloon: 외부 껍질(Cloth)과 내부 압력(Pressure)을 이용한 방식 (공기가 든 풍선 형태).
    3. Tetrahedral Volume: 지오메트리 내부를 Tet(사면체)로 채우고, Tet Volume 제약(부피 유지)과 Distance 제약(모양 변형 통제)을 결합해 실제 유기적인 살덩이(Flesh)나 근육처럼 시뮬레이션하는 가장 정교한 방식. [02:46:33]
  • 프로덕션 최적화 워크플로우 [02:38:02]: 시뮬레이션용으로는 토폴로지가 균일한 Low-poly 메쉬를 사용하고, 결과물 캐싱 후 Point Deform 이나 Cloth Deform 노드를 이용해 원래의 High-res 렌더 지오메트리를 따라가게 만드는 필수 파이프라인을 시연합니다.
  • Grains의 Vellum 응용 [02:51:10]: 모래 같은 Grain 입자들에 Cluster 속성을 부여하고 내부적으로 Glue 제약을 묶어 덩어리 지게 만듭니다. 여기에 Breakable 속성을 더해 부서지는 흙이나, 끈적이는 쉐이빙 폼(Viscoelastic fluid) 등 다양한 점성 물질 시뮬레이션을 효율적으로 구현할 수 있음을 보여주며 마스터클래스를 마무리합니다.

 

파일

후디니 20버전 이상

예제 파일들이 개별 hip으로 구성돼있길래, merge로 합쳐서 통합했다.

Advanced Vellum Workflows John Lynch H17 Masterclass.hip
5.97MB

 

댓글