디스트럭션 퀵스타트

언리얼 엔진 디스트럭션 시스템 퀵스타트 가이드

카오스 디스트럭션 개요 튜토리얼을 시청하면 디벨로퍼 커뮤니티 사이트에서 유사한 정보를 동영상 포맷으로 찾아보실 수 있습니다.

1 - 필수 구성

  1. 새 프로젝트를 생성하고 게임(Games) 카테고리와 일인칭(First Person) 템플릿을 선택합니다. 프로젝트 이름을 입력하고 생성(Create) 을 클릭합니다.

    클릭하면 최대 크기로 볼 수 있습니다.

  2. 에디터에서 파일(File) > 새 레벨(New Level) 을 클릭합니다. Basic 템플릿을 선택하고 생성(Create) 을 클릭합니다. 레벨을 저장합니다.

    새 레벨 생성 및 Basic 템플릿 선택

섹션 결과

이번 섹션에서는 새 프로젝트를 생성하고 이 가이드의 다음 섹션에서 프랙처될 수 있는 스태틱 메시를 추가하기 위한 구성을 했습니다.

2 - 지오메트리 컬렉션 생성

카오스 시스템 내의 디스트럭션은 새로운 종류의 에셋인 지오메트리 컬렉션(Geometry Collection) 으로 시작합니다. 지오메트리 컬렉션 에셋은 하나 이상의 스태틱 메시로 빌드될 수 있으며, 스태틱 메시에는 블루프린트나 중첩된 블루프린트에 수집된 스태틱 메시가 포함됩니다.

지오메트리 컬렉션이 생성되면 프랙처 모드(Fracture Mode) 를 사용하여 분리하고 분리 방식을 결정하는 세팅을 정의할 수 있습니다.

이 섹션에서는 스태틱 메시 액터의 지오메트리 컬렉션을 생성합니다.

  1. 프랙처 메시를 생성하는 데 사용할 레벨에 스태틱 메시를 추가합니다. 이번 예시에서는 언리얼 엔진 마켓플레이스의 콘텐츠 예제 프로젝트에 포함된 카오스 프리미티브 박스(Chaos Primitive Box)를 사용하겠습니다.

    클릭하면 최대 크기로 볼 수 있습니다.

  2. 모드(Mode) 드롭다운을 클릭하고 프랙처(Fracture) 를 선택합니다.

    모드 선택 드롭다운에서 프랙처 모드 선택

    이렇게 하면 메시 프랙처를 위한 모든 툴이 포함된 프랙처 모드(Fracture Mode) 창이 열립니다. 또는 Shift+6 키를 눌러도 프랙처 모드로 변경됩니다.

    클릭하면 최대 크기로 볼 수 있습니다.

  3. 생성(Generate) 섹션으로 이동한 다음 신규(New) 를 클릭하여 새로운 지오메트리 컬렉션(Geometry Collection) 을 만듭니다. 이 새로운 에셋 타입은 콘텐츠 브라우저(Content Browser) 에 저장되며, 프랙처 메시를 만드는 데 사용됩니다.

    신규를 클릭하여 새로운 지오메트리 컬렉션 생성

    1. 지오메트리 컬렉션을 저장할 디렉터리 위치(directory location) 를 선택합니다.

    2. 지오메트리 컬렉션 에셋의 이름을 입력합니다.

    3. 지오메트리 컬렉션 생성(Create Geometry Collection) 을 클릭합니다.

      디렉터리 위치를 선택하고 에셋 이름을 입력한 다음 지오메트리 컬렉션 생성 선택

    4. 콘텐츠 브라우저(Content Browser) 에서 모두 저장(Save All) 을 클릭하여 새로운 지오메트리 컬렉션 에셋을 저장합니다.

      콘텐츠 브라우저에서 모두 저장을 클릭하여 새로운 지오메트리 컬렉션 에셋 저장

  4. 스태틱 메시는 레벨의 지오메트리 컬렉션으로 교체됩니다. 프랙처 계층구조(Fracture Hierarchy) 창에서 지오메트리 컬렉션의 계층구조에 노드가 하나만 있는 것을 확인할 수 있습니다.

    지오메트리 컬렉션은 하나의 조각, 즉 하나의 노드로만 구성된다는 의미입니다. 지오메트리 컬렉션을 프랙처하면 프랙처된 조각 각각이 계층구조에 별개의 리프(자손) 노드로 나타나는 것을 확인할 수 있습니다. 이 계층구조는 전체 오브젝트가 프랙처되는 방식을 나타냅니다. 즉, 하나의 온전한 조각에 스트레인이 적용되면서 개별 조각으로 분리되는 과정을 보여줍니다.

    스태틱 메시가 레벨에서 지오메트리 컬렉션으로 교체

    클릭하면 최대 크기로 볼 수 있습니다.

섹션 결과

이 섹션에서는 스태틱 메시 액터로부터 지오메트리 컬렉션을 생성하는 방법을 알아보았습니다. 에디터에서 프랙처 모드를 활성화하는 방법과 지오메트리 컬렉션의 프랙처 계층구조를 확인하는 방법도 배웠습니다.

다음 섹션에서는 지오메트리 컬렉션을 프랙처하는 방법을 배우겠습니다.

3 - 지오메트리 컬렉션 프랙처

사용할 수 있는 프랙처 메서드에는 몇 가지 타입이 있습니다. 여러 가지 기법을 함께 사용하면 더욱 흥미로운 모습의 디스트럭션을 구현할 수도 있습니다. 원하는 결과를 얻으려면 다양한 옵션과 세팅을 적용해 봐야 합니다.

이번 가이드에서는 표준 균등 보로노이(Uniform Voronoi) 메서드를 알아봅니다. 이 메서드를 사용하면 프랙처할 셀 볼륨 생성에 필요한 사이트의 최소 및 최대 개수를 정의합니다.

  1. 프랙처(Fracture) 섹션으로 이동한 다음 균등(Uniform) 프랙처 버튼을 클릭합니다.

    균등 프랙처 버튼 클릭

  2. 디폴트 세팅이 표시되면 그대로 두고 프랙처(Fracture) 를 클릭합니다.

    프랙처 클릭

  3. 이제 지오메트리 컬렉션이 프랙처되었고, 프랙처된 조각들의 새로 생성된 노드를 프랙처 계층구조(Fracture Hierarchy) 창에서 볼 수 있습니다. 이 예시에서는 20개의 노드를 만들었습니다.

    클릭하면 최대 크기로 볼 수 있습니다.

  4. 레벨 통계(Level Statistics) 창에서 현재 프랙처 계층구조를 확인할 수 있습니다. 이 예시에서는 레벨 0에 조각이 1개, 레벨 1에 조각이 20개 있습니다. 지오메트리 컬렉션을 계속 프랙처하면, 새로운 구조가 이 창에 반영됩니다.

    클릭하면 최대 크기로 볼 수 있습니다.

  5. 프랙처(Fracture) 창 안에 있는 파열값(Explode Amount) 필드의 값을 변경하면 지오메트리 컬렉션이 프랙처되는 방식을 프리뷰할 수 있습니다.

    클릭하면 최대 크기로 볼 수 있습니다.

  6. 아래 예시에서는 필드의 값을 0에서 1로 변경했을 때의 결과를 확인할 수 있습니다.

    파열값을 변경하여 지오메트리 컬렉션이 프랙처되는 방식 프리뷰

  7. 지오메트리 컬렉션(Geometry Collection) 을 선택한 다음 지면 위로 옮깁니다. 플레이 모드 옵션(Play Mode options) 버튼을 클릭한 다음 시뮬레이트(Simulate) 또는 선택된 뷰포트(Selected Viewport) 를 선택하여 결과를 확인합니다.

    플레이 모드 옵션 메뉴에서 시뮬레이트 클릭

  8. 아래에서는 진행한 단계의 결과를 볼 수 있습니다.

    박스가 지면에 떨어져 충격을 받으면서 프랙처되는 모습

섹션 결과

프랙처 모드(Fracture Mode) 를 사용하여 표준 균등 보로노이(Uniform Voronoi) 메서드로 지오메트리 컬렉션을 프랙처하는 방법을 배웠습니다.

다음 섹션에서는 지오메트리 컬렉션에 사격하여 지오메트리 컬렉션을 파괴하는 방법을 알아보겠습니다.

4 - 사격하여 지오메트리 컬렉션 파괴

이번 섹션에서는 템플릿과 함께 제공되는 일인칭 라이플 블루프린트(First Person Rifle Blueprint)로 생성한 지오메트리 컬렉션을 사격하여 파괴해 보겠습니다.

지오메트리 컬렉션의 프랙처된 조각은 조각의 연결 그래프(Connection Graph) (프랙처된 조각이 서로 연결되는 방식)에 일정량 이상의 스트레인이 적용되면 분리됩니다.

지오메트리 컬렉션에 스트레인을 적용하는 가장 일반적인 방법은 피직스 필드를 사용하는 것입니다. 이번 예시에서는 언리얼 엔진에서 기본적으로 제공되는 사전 빌드된 마스터 필드(Master Field) 를 사용합니다. 발사체가 충격을 받는 위치에 이 필드를 스폰하면 필드로 인해 지오메트리 컬렉션의 조각이 분리됩니다.

  1. 콘텐츠 브라우저(Content Browser) 에서 FirstPerson > Blueprints 로 이동한 다음 BP_Rifle 을 레벨로 드래그합니다. 게임플레이 중에 라이플을 획득하고 마우스 왼쪽 버튼으로 사격할 수 있습니다.

    클릭하면 최대 크기로 볼 수 있습니다.

  2. 같은 폴더에서 BP_FirstPersonProjectile 을 더블클릭하여 엽니다. 이벤트 그래프(Event Graph) 에서 히트 이벤트(Event Hit) 를 제외한 모든 노드를 선택한 다음 삭제합니다.

    클릭하면 최대 크기로 볼 수 있습니다.

  3. 히트 이벤트(Event Hit) 노드에서 드래그하여 Spawn Actor from Class 를 검색하고 선택합니다.

    히트 이벤트 노드에서 드래그하여 Spawn Actor from Class 검색 및 선택

    1. SpawnActor 노드의 Class 드롭다운을 클릭한 다음 FS_MasterField 를 검색하고 선택합니다.

      SpawnActor 노드의 Class 드롭다운을 클릭한 다음 FS_MasterField 검색 및 선택

    2. SpawnActor 노드의 Spawn Transform 핀에서 드래그하여 Make Transform 을 선택합니다.

      SpawnActor 노드의 Spawn Transform 핀에서 드래그하여 Make Transform 선택

    3. 히트 이벤트(Event Hit) 노드의 Hit Location 핀을 Make Transform 노드의 Location 핀에 연결합니다.

      히트 이벤트 노드의 Hit Location 핀을 Make Transform 노드의 Location 핀에 연결

  4. SpawnActor 노드의 Return Value 핀에서 드래그하여 Set Activation Type 을 검색하고 선택합니다.

    SpawnActor 노드의 Return Value 핀에서 드래그하여 Set Activation Type 검색 및 선택

    1. SpawnActor 노드를 Activation Type 노드에 연결합니다.

    2. Activation Type 드롭다운을 클릭한 다음 트리거(Trigger) 를 선택합니다. 트리거되면 마스터 필드가 활성화되도록 설정합니다.

      Activation Type 드롭다운 클릭 후 트리거 선택

  5. SpawnActor 노드의 반환값(Return Value) 핀에서 드래그하여 CE Trigger 를 검색하고 선택합니다.

    SpawnActor 노드의 Return Value 핀에서 드래그하여 CE Trigger 검색 및 선택

  6. Activation Type 노드를 CE Trigger 노드에 연결합니다. CE Trigger 노드는 즉시 마스터 필드를 활성화합니다.

    클릭하면 최대 크기로 볼 수 있습니다.

  7. CE Trigger 노드에서 드래그하여 딜레이 를 검색하고 선택합니다.

    CE Trigger 노드에서 드래그하여 딜레이 검색 및 선택

  8. 딜레이 노드에서 드래그하여 Destroy Actor 를 검색하고 선택합니다. 이렇게 하면 발사체가 충돌하고 짧은 딜레이 후에 소멸됩니다.

    딜레이 노드에서 드래그하여 Destroy Actor 검색 및 선택

  9. 완료된 블루프린트 스크립트는 다음과 같은 모습일 것입니다.

    클릭하면 최대 크기로 볼 수 있습니다.

  10. 프랙처 모드(Fracture Mode) 로 돌아간 다음 지오메트리 컬렉션(Geometry Collection)을 선택합니다. 박스 머티리얼을 볼 수 있도록 Shift+B 를 눌러 지오메트리 컬렉션의 본 색을 토글합니다.

    Shift+B를 눌러 본 색 토글

  11. 플레이 를 누르고 라이플로 이동하여 라이플을 획득합니다. 마우스 왼쪽 버튼으로 지오메트리 컬렉션에 발사체를 발사하여 파괴합니다.

    마우스 왼쪽 버튼으로 지오메트리 컬렉션에 발사체를 발사하여 파괴

섹션 결과

이 섹션에서는 지오메트리 컬렉션에 스트레인을 적용하여 지오메트리 컬렉션의 파괴를 유발하는 피직스 필드를 스폰하는 방법을 알아보았습니다.

5 - 직접 해보기

이렇게 지오메트리 컬렉션을 생성하고 프랙처하는 방법을 알아보았습니다. 지금까지 배운 내용을 더 복잡한 예시에 활용해 보시기 바랍니다.

실습에 도움이 될 몇 가지 예시를 알려드립니다.

  • 여러 스태틱 메시를 사용하여 더 복잡한 지오메트리 컬렉션 만들기

  • 더 많은 프랙처 레벨을 생성하고 다양한 프랙처링 모델을 사용하여 더 흥미로운 디스트럭션 패턴 만들기

  • 여러 지오메트리 컬렉션을 결합하고 사격하여 파괴하면서 더 복잡한 구조 만들기

다양한 타입의 프랙처 메서드로 만든 지오메트리 컬렉션

다음 단계

디벨로퍼 커뮤니티 사이트의 핵심 콘셉트 문서를 읽거나 카오스 디스트럭션 비디오 튜토리얼을 시청하면 프랙처 모드와 디스트럭션 시스템에 관해 자세히 알아보실 수 있습니다.

태그