Chaos Cloth for AAA Games | Unreal Fest Orlando 2025
- 언리얼 엔진의 Chaos Cloth는 AAA 게임 개발 시 성능과 예술적 목표를 동시에 달성하기 위한 최적화된 워크플로우를 제공합니다. 🎮
- 컨셉 아트 단계에서 시뮬레이션 문제를 조기에 파악하고 해결책을 모색하는 것이 중요하며, 복잡한 디자인은 성능 저하를 초래할 수 있습니다. 💡
- 게임 품질의 천 시뮬레이션은 200
600개의 시뮬레이션 정점(vertices)을 권장하며, 일반적인 망토/케이프는 약 350개 정점으로 0.51ms의 성능을 목표로 합니다. 📊
- 언리얼 엔진 5.6에서는 모바일 플랫폼을 위한 최적화가 이루어져 약 200개의 시뮬레이션 정점으로 프레임당 1ms의 성능을 달성할 수 있습니다. 📱
- 게임 품질에서는 에지 플로우가 천의 전체적인 움직임에 큰 영향을 미치므로, 쿼드 기반 메시와 대각선 삼각 분할에 주의하여 시뮬레이션 프록시 메시를 제작하는 것이 중요합니다. 🧵
- 물리 애셋(Physics Asset)의 충돌체는 성능과 안정성을 위해 단순한 둥근 기본 도형(테이퍼 캡슐, 캡슐, 구)을 사용하는 것이 권장됩니다. 🛡️
- Chaos Cloth 에디터는 노드 기반의 데이터 플로우 그래프를 통해 제약 조건 추가, 리메싱, 웨이트 맵 페인팅, 솔버 설정 등 천 애셋 리깅 작업을 직관적으로 수행할 수 있습니다. ⚙️
- 게임 해상도 애셋에는 계산이 빠르고 설정이 간단한 PBD(Position-Based Dynamics) 솔버 타입이 권장됩니다. ⚡
- 구조적인 천에는 힌지(Hinge) 제약 조건이, 부드럽고 동적인 천에는 페이스 스프링(Face Spring) 제약 조건이 적합하며, 필요에 따라 영역(Area) 제약 조건을 추가하여 안정성을 높일 수 있습니다. 🤸♀️
- 고비용의 전체 자체 충돌 대신, 저렴한 구형 반발(sphere repulsions)과 새로운 천-천 제약 조건(cloth-cloth constraints)을 활용하여 천이 서로 겹치지 않으면서도 자연스럽게 움직이도록 합니다. 💥
- 솔버 설정에서 서브스텝(substeps)과 반복(iterations) 수를 조절하여 시뮬레이션의 정확도와 성능의 균형을 맞추며, 충돌 누락 시 서브스텝 증가, 수렴도 향상 시 반복 증가를 고려합니다. ⏱️
- 캐릭터의 행동(걷기, 달리기, 말 타기 등)에 따라 천의 물리 값을 동적으로 변경하는 상태 머신 역할을 하는 천 컨트롤러 함수(Cloth Controller Function)를 구현하여 다양한 상황에 대응합니다. 🎭
- 전역적인 설정은 Cloth Component로, 천 애셋 내부의 동적인 값 변경은 Cloth Interactor를 통해 제어하여 유연한 조작을 가능하게 합니다. 🔗
- 각 상태별로 변경될 물리 값을 구조체(Struct) 애셋으로 미리 정의하고 관리하여, 복잡한 설정에서도 일관성과 확장성을 유지합니다. 📚