Cloth Constraint 설정
Distance, Bending, Long Range Attachment, Backstop 제약 조건 상세
Distance Constraint
천의 신축성 제어
Distance Constraint는 인접한 파티클 간의 거리를 유지하는 제약입니다. Stiffness 값에 따라 천이 얼마나 늘어날 수 있는지 결정합니다.
| 파라미터 | 범위 | 설명 |
|---|---|---|
EdgeStiffness | 0.0~1.0 | 모서리 간 거리 유지 강도. 1.0 = 늘어나지 않음 |
BendingStiffness | 0.0~1.0 | 굽힘 저항 강도. 높을수록 뻣뻣함 |
AreaStiffness | 0.0~1.0 | 면적 보존 강도. 수축/팽창 방지 |
UseGeodesicDistance | bool | 메시 표면 기반 거리 계산 (정밀) |
실크: Edge 0.5, Bending 0.02. 면직물: Edge 0.8, Bending 0.1. 가죽: Edge 1.0, Bending 0.5. 금속 메쉬: Edge 1.0, Bending 0.8. 높은 Stiffness는 솔버 반복 횟수가 충분해야 안정적입니다.
Long Range Attachment
고정점으로부터의 최대 거리 제한
Long Range Attachment (LRA)는 고정된 파티클(Max Distance = 0)로부터의 측지선(Geodesic) 거리를 기반으로, 자유 파티클이 너무 멀리 벗어나지 않도록 제한합니다. 망토나 치마처럼 고정점에서 늘어지는 천에 필수적입니다.
| 파라미터 | 설명 |
|---|---|
TetherStiffness | 테더 강도 (0~1). 높을수록 원래 위치에 가까이 유지 |
TetherScale | 테더 길이 스케일. 1.0 = 원래 측지선 거리 |
Max Distance는 파티클이 원래 위치에서 벗어나는 범위(구 형태), LRA는 고정점으로부터의 경로 거리 제한입니다. 둘을 함께 사용하면 더 안정적인 시뮬레이션이 됩니다.
Backstop 설정
천 관통 방지의 핵심
Backstop은 천 파티클이 본(Bone) 방향으로 관통하는 것을 방지하는 구형 제한입니다. 캐릭터의 몸을 뚫고 들어가는 천을 막는 데 필수적입니다.
- Backstop Distance — 본 표면으로부터 Backstop 구의 거리. 양수 = 본 바깥, 음수 = 본 안쪽.
- Backstop Radius — Backstop 구의 반경. 클수록 넓은 영역 보호.
- 가슴/등 영역 — 높은 Backstop Distance, 큰 Radius로 확실한 관통 방지.
- 치마 하단 — 낮은 Backstop Distance로 자유로운 흔들림 허용.
천이 여전히 관통한다면: 1) Backstop Radius를 키우세요. 2) Solver Iteration 횟수를 늘리세요. 3) Max Distance 가중치가 고정 영역 근처에서 급격히 변하지 않도록 부드럽게 그라데이션하세요. 4) Collision Thickness를 증가시키세요.
Animation Drive
애니메이션과 시뮬레이션의 블렌딩
Animation Drive는 Cloth 파티클이 원래 애니메이션 포즈를 추적하도록 하는 스프링입니다. 완전한 물리 시뮬레이션과 키프레임 애니메이션 사이의 균형을 조절합니다.
| 파라미터 | 설명 | 효과 |
|---|---|---|
AnimDriveStiffness | 애니메이션 추적 강도 | 높을수록 애니메이션에 가까이 |
AnimDriveDamping | 추적 감쇠 | 높을수록 진동 감소 |
전투 중: AnimDriveStiffness = 0 (완전 물리). 컷씬: AnimDriveStiffness = 0.3 (애니메이션 추적). 대기 상태: AnimDriveStiffness = 0.1 (미세한 물리). 런타임에서 Blend Weight를 조절하여 상황별로 전환할 수 있습니다.
핵심 요약
- Distance Constraint의 EdgeStiffness와 BendingStiffness로 천의 신축성과 뻣뻣함을 제어합니다.
- Long Range Attachment로 고정점에서 자유 파티클까지의 최대 거리를 제한합니다.
- Backstop으로 천이 캐릭터 본을 관통하는 것을 방지합니다.
- Animation Drive로 물리 시뮬레이션과 키프레임 애니메이션 사이의 블렌딩을 제어합니다.
- Cloth Paint에서 가중치를 부드럽게 그라데이션하는 것이 안정적 시뮬레이션의 핵심입니다.
도전 과제
배운 내용을 직접 실습해보세요
Backstop Distance와 Backstop Radius를 설정하여 천이 캐릭터 메시를 관통하지 않도록 방지하세요. Max Distance 페인팅으로 어깨는 고정, 하단은 자유롭게 움직이는 망토를 제작하세요.
Cloth Self Collision을 활성화하고 Radius와 Stiffness를 조정하세요. 주름이 자연스럽게 형성되면서도 천끼리 관통하지 않는 최적 파라미터를 찾아 치마에 적용하세요.
갑옷 위에 망토가 겹쳐지는 2중 레이어 Cloth를 구현하세요. 레이어 간 Collision을 설정하고, LOD별 Cloth 복잡도를 다르게 설정하여 성능을 최적화하세요.