https://dev.epicgames.com/documentation/ko-kr/unreal-engine/chaos-destruction-in-unreal-engine
카오스 디스트럭션(Chaos Destruction) 시스템은 언리얼 엔진에서 시네마틱 퀄리티의 파괴 효과를 실시간으로 구현하기 위한 툴 컬렉션
직관적인 비선형 워크플로를 사용하여 시뮬레이션 중 지오메트리가 어떻게 부서질지 정확하게 정의할 수 있게 함
지오메트리 컬렉션은 카오스 디스트럭션 시스템의 에셋 타입으로 프랙처 메시를 만드는 데 사용됨
스태틱 메시의 조합으로 생성될 수 있으며 블루프린트에 포함된 메시나 중첩된 블루프린트도 포함할 수 있음
프랙처 모드를 통해 지오메트리 컬렉션을 조각으로 나눌 수 있음
프랙처 계층구조
주의사항

먼저 카오스 디스트럭션을 적용할 에셋을 선택하고 프랙처 모드로 변경한다.

그 다음 신규 버튼을 눌러 지오메트리 컬렉션을 생성한다.
이 때 언리얼 5.6에서는 만들어진 지오메트리 컬렉션, 캐시 컬렉션을 사용하는 데 문제가 없다.
하지만 루트 프록시 사용을 체크한 경우 카오스 디스트럭션을 카오스 캐시 매니저로 녹화할 때 해당 지오메트리 컬렉션이 힘에 의해 부서질 시점에 녹화가 끊겨 버린다. 그러니 루트 프록시 사용 체크 해제


카오스 디스트럭션이 진행되고 물체가 부서지면 그 물체의 내부가 보이는데 그 내부에 대한 머티리얼은 기본적으로 자동 적용이 된다.
만약 원하는 머티리얼이 있다면 Add Material Slot으로 내부를 위한 머티리얼 슬롯을 생성하고

내부 머티리얼에서 슬롯을 지정해주면 된다.
프랙처 툴

프랙처를 한번 하게 되면 0레벨의 본 1개에서 1레벨의 본 142개로 나뉘어 진다.
이렇게 계층 구조를 가지고 있고 1레벨의 특정 본에서 추가로 프랙처를 진행하여 2레벨의 더 미세한 조각들로 나눌 수 있다.

바위에 지오메트리 컬렉션을 적용하고 프랙처하게 되면

중력에 의해 땅에 떨어질 때 힘을 받아서 부서지게 된다.

클러스터링 활성화가 되어있어야 힘을 받아 부서지기 전에는 기존 형태를 유지한다
카오스 캐시 매니저는 지오메트리 컬렉션이 시간에 따라 힘을 받고 부서지는 과정을 녹화하고 캐시화한 캐시 컬렉션을 생성
녹화된 캐시 컬렉션을 배치하면 녹화 했을 때의 지오메트리의 부서지는 과정이 그대로 재현됨

녹화할 지오메트리 컬렉션을 선택하고 액터 → 카오스 → 캐시 매니저 생성

생성할 때의 이름이 곧 캐시 컬렉션의 이름이 되어 캐시 컬렉션에 잘 지정이 되어있다
캐시 모드는 3종류가 있다
기본 상태는 스태틱 포즈고 플레이는 스태틱 포즈 상태에서 실행될 때 변경이 된다
녹화 모드로 되어 있으면 실제 플레이 또는 시뮬레이션 상태일 때 관찰된 컴포넌트(Observed Component)에 등록된 컴포넌트를 관찰하며 지정된 캐시 컬렉션에 녹화가 저장된다
액터를 선택한 상태에서 캐시 매니저 생성했기 때문에 관찰된 컴포넌트에서 지오메트리 컬렉션 컴포넌트는 자동으로 지정되어 있다


녹화 모드로 설정하고 시뮬레이션 했을 경우에 5.7초 녹화가 잘 된 것을 볼 수 있다
저장된 캐시 컬렉션을 그대로 맵에 배치해서 사용해도 되고 시퀀서를 사용할 수도 있다

시퀀서에 카오스 캐시 매니저를 넣고 시작 시간과 끝을 지정해주면 된다


시퀀서를 통해 녹화된 캐시 컬렉션을 실행하여 항상 같은 디스트럭션을 확인할 수 있고 역재생도 가능하다


언리얼에서 자체적으로 제공하는 블루프린트 클래스로 콘텐츠 브라우저에서 field를 검색하면 찾을 수 있다
위에서 언급한 콜리전 문제, 특정 로직에 의한 Trigger 문제를 해결함
https://velog.io/@hydisk77/%EC%96%B8%EB%A6%AC%EC%96%BC-%EC%B9%B4%EC%98%A4%EC%8A%A4-%EB%94%94%EC%8A%A4%ED%8A%B8%EB%9F%AD%EC%85%982-%EC%B9%B4%EC%98%A4%EC%8A%A4-%EC%BA%90%EC%8B%9C-%EB%A7%A4%EB%8B%88%EC%A0%80Chaos-Cache-Manager