클로딩 툴

언리얼 엔진 4 에디터 내장 툴로 클로스를 만드는 방법 개요입니다.

Windows
MacOS
Linux

언리얼 엔진 4.16 버전에서 APEX Cloth 가 NVIDIA 의 NvCloth 솔버로 대체되었으며, 부드러운 천 표현 파티클 시뮬레이션을 담당하는 로우 레벨 클로딩 솔버입니다. 이 클로딩 솔버를 통해 그 데이터에 직접 접근할 수 있게 되어 매우 가볍고 확장성 높은 통합이 가능해졌습니다.

ClothingOverviewBanner.png

이제 에디터 안에서 클로딩 툴을 사용할 수 있게 되어, 언리얼 엔진 개발자들은 외부 프로그램에 의존할 필요 없이 엔진 안에서 바로 작업할 수 있도록 새로운 작업방식을 정의할 수 있게 되었습니다.

새로운 클로스 작업방식

이전 클로스 작업방식

이미지를 클릭하면 원본을 확인합니다.

이미지를 클릭하면 원본을 확인합니다.

APEX Cloth 를 사용하는 이전 작업방식에서는, 언리얼 외부에서 (NVIDIA 의 Clothing Tool 같은) 외부 프로그램이나 (3DS Max/Maya 같은) 특정 소프트웨어가 필요한 DCC 플러그인을 사용해서 모든 콘텐츠를 제작해야 했습니다. 개발 최종 단계에서나 제작한 콘텐츠를 언리얼로 가져와 메시에 할당하는 것이지요. 즉 뭔가 수정해야 할 것이 있으면 원래 프로그램으로 돌아가 에디터 외부에서 콘텐츠를 다시 제작해야 했다는 뜻입니다.

새로운 작업방식에서는 콘텐츠를 한 번 만든 이후 클로딩 관련 편집 작업을 전부 언리얼 안에서 할 수 있게 되었습니다. 콘텐츠의 생성이나 테스트 반복작업이 그만큼 빨라질 뿐만 아니라, 클로딩 시뮬레이션 편집 내용을 게임에서 실시간 확인 가능하므로 콘텐츠 제작 시점과 사용 시점에서 달라지는 현상을 방지할 수 있습니다.

클로스 페인팅 작업방식

에디터 내 클로스 생성을 위한 새로운 작업방식인 클로스 페인트 툴을 통해 스켈레탈 메시의 기존 머티리얼 엘리먼트를 사용해서 캐릭터의 클로딩을 빠르게 입힐 수 있습니다.

  1. 섹션 선택 - 이를 통해 머티리얼 ID 를 선택하고, 그 위에 클로스를 페인트합니다.

  2. 클로스 페인트 패널 - 이 섹션에는 클로스를 페인트할 때 사용할 수 있는 필수 툴과 프로퍼티가 전부 포함됩니다.

아래 단계를 따라하면서 자체 클로딩 애셋을 만들어 캐릭터에 할당하는 프로세스와 아울러 렌더 메시에 페인트하는 기본적인 부분도 함께 배워보시기 바랍니다.

클로스 애셋 생성 및 할당

클로딩 작업을 시작하려면, 먼저 레벨 오브 디테일(LOD) 섹션을 만들어 페인트 작업을 할 수 있도록 렌더 메시에 할당해야 합니다.

우선 다음과 같이 시작합니다:

  1. 스켈레탈 메시 에디터에서, 메인 툴바의 섹션 선택 버튼을 클릭합니다. 그러면 자체 머티리얼 엘리먼트가 할당되어 있는 스켈레탈 메시의 여러 파트를 선택할 수 있습니다.

  1. 클로스로 사용하고자 하는 메시 파트를 좌클릭 으로 선택합니다. 그 후 우클릭 으로 컨텍스트 메뉴를 열어 클로스 애셋을 생성합니다.

    이미지를 클릭하면 원본을 확인합니다.

  1. 컨텍스트 메뉴 중 Create Cloth Asset from Selection (선택에서 클로스 애셋 생성)을 선택한 뒤 메뉴 다음 부분을 채웁니다:
    CreateClothContextMenu.png

    • Asset Name 애셋 이름 - 나중에 쉽게 찾을 수 있도록 애셋이 이름을 짓습니다.

    • Remove from Mesh 메시에서 제거 - 클로스에 할당하려는 별도의 지오메트리 메시 조각이 있는 경우, 이 옵션을 켜면 됩니다. 없으면 빈 박스로 놔둬도 됩니다.

    • Physics Asset 피직스 애셋 - 이 클로스 애셋이 캐릭터용인 경우, 그 피직스 애셋을 사용하여 클로스 시뮬레이션에 적합한 콜리전을 구합니다.

    세팅이 마음에 들면, 생성 버튼을 클릭합니다.
    CreateClothButton.png

  2. 섹션에 다시 한 번 우클릭 하여 컨텍스트 메뉴를 띄우고 Apply Clothing Asset (클로딩 애셋 적용)에 커서를 올린 뒤 사용가능한 클로딩 애셋을 선택하여 적용합니다. 그러면 생성된 클로딩 애셋이 선택한 섹션에 할당됩니다.
    ClothSectionAssignment.png

클로스에 페인트

클로스에 칠할 준비가 되었으면, 다음과 같은 조작법으로 선택한 클로스 애셋에 칠합니다.

  • 칠하기 - 좌클릭

  • 지우기 - Shift + 좌클릭

  • 클로스 프리뷰 - H

NVIDIA 의 PhysX DCC 플러그인을 사용해서 3DS Max 또는 Maya 용 클로딩을 만든 적이 있다면, 또는 다른 프로그램의 비슷한 페인팅 툴을 사용한 적이 있다면, 이 작업이 익숙하게 느껴질 것입니다.

  1. 스켈레탈 메시 에디터에서, 파일 메뉴로 가 을 선택한 뒤 목록에서 Clothing (클로딩)을 선택합니다.
    Painting_Step1-1.png
    그러면 Clothing (클로딩) 패널이 열립니다.
    Painting_Step1B-1.png

    툴바의 Activate Cloth Paint (클로스 페인트 활성화) 버튼을 클릭하여 선택된 클로스 애셋을 칠하는 데 사용할 수 있는 프로퍼티를 활성화시킵니다.
    Painting_Step1C-2.png

  2. 클로딩 패널에서 Clothing Data (클로딩 데이터) 리스트에서 할당한 클로스 애셋 을 선택합니다.
    Painting_Step2.png

  3. Cloth Painting (클로스 페인팅) 섹션에서 사용할 페인트 툴 유형을 선택한 다음 Paint Value (페인트 값)을 설정합니다 (기본적으로 브러시 페인트 툴이 사용됩니다). 그런 다음 메시 표면을 클릭하고 드래그하면 페인트가 시작됩니다.

    H 키보드 단축키를 누르면 칠한 클로스를 미리볼 수 있습니다.

페인트 툴

PaintToolSelection.png

Tool (툴) 선택에서 페인트 클로스에 사용할 수 있는 브러시를 선택할 수 있습니다.

브러시

Brush (브러시) 툴은 클로스 애셋을 드래그하면서 클로스에 반경과 세기 값을 칠할 수 있습니다.

Brush.png

Paint Value (페인트 값)으로 클로스에 칠할 때의 브러시 세기를 조절합니다. 이 값은 칠한 영역의 얼마만큼이 클로스처럼 반응할지를 조절합니다. 값이 0 이면 스킨을 입힌 버텍스가 움직일 수 없으며, 100 이면 스킨을 입힌 버텍스가 원래 위치에서 1 미터 움직일 수 있다는 뜻입니다.

Paint_Brush.png

이 툴과 프로퍼티 관련 부가 정보는 프러시 프로퍼티 문서를 참고하세요.

그레이디언트

Gradient (그레이디언트) 툴은 선택된 클로스 값 세트들끼리 점차 블렌딩되는 그레이디언트를 칠할 수 있습니다.

Gradient.png

그레이디언트를 칠하는 방법은 다음과 같습니다:

  1. 좌클릭 으로 Gradient Start Value (그레이디언트 시작 값)을 칠합니다. 칠한 버텍스 위의 초록 점으로 나타납니다.

  1. Ctrl + 좌클릭 으로 Gradient End Value (그레이디언트 끝 값)을 칠합니다. 칠한 버텍스 위의 빨강 점으로 나타납니다.

  1. 다 됐으면 Enter 키를 눌러 그레이디언트를 칠합니다.

Gradient Example.png

이 툴 및 그 프로퍼티 관련 부가 정보는, 그레이디언트 프로퍼티 레퍼런스를 확인하세요.

스무드

Smooth (스무드) 툴은 칠한 클로스 값 사이 대비를 부드럽게 만들어주는 블러를 적용합니다.

Smooth.png

Strength (세기) 값을 사용하여 칠해진 영역 사이에 서서히 변해가는 블러 이펙트를 얼마나 세게 할 것인지 정합니다.

Paint_Smooth.png

이 툴과 그 프로퍼티 관련 부가 정보는 스무드 프로퍼티 레퍼런스를 확인하세요.

채우기

Fill (채우기) 툴은 값이 비슷한 지역을 다른 값으로 대체합니다.

Fill.png

Fill Value (채우기 값)을 사용하여 영역의 버텍스를 채울 값을 설정합니다. Threshold (한계치)로 대체할 버텍스 샘플링을 할 때 채우기 작업에 사용할 값을 설정합니다.

칠한 영역 (하양)

채우기 값 1.0 을 사용하여 칠한 영역

이 툴과 그 프로퍼티 관련 부가 정보는 채우기 프로퍼티 레퍼런스를 확인하세요.

클로스 프로퍼티

Cloth Config (클로스 환경설정) 프로퍼티로 클로스에 삼베, 고무, 기타 다양한 천 재질 유형을 시뮬레이션할 수 있습니다.

ClothConfig.png

클로딩용 환경설정 프로퍼티 관련 부가 정보는 클로스 환경설정 프로퍼티 를 참고하시기 바랍니다.

마스크

Mask (마스크)는 클로딩 애셋에 교체할 수 있는 파라미터 세트입니다.

Masks.png

이 파라미터 세트는 다음 타깃 (또는 파라미터 세트)을 나타냅니다:

  • Max Distance (최대 거리)는 클로스 상의 한 점이 그 애니메이션 위치에서 이동할 수 있는 최대 거리입니다.

  • Backstop Distance (백스탑 거리)는 클로스 상의 한 점에서 Max Distance 거리 내 이동을 제한시키는 데 사용되는 오프셋입니다.

  • Backstop Radius (백스탑 반경)은 Max Distance 와 교차시킨 구체 반경을 사용하여 클로스 상에 칠한 점이 그 구역 안으로 들어가지 못하도록 막습니다.

  • Anim Drive Multiplier (애님 드라이브 배율)은 클로딩을 애니메이션 적용 위치로 끌어 오는 스프링을 구동하므로, 시네마틱 또는 애니메이션 구동 씬을 제어할 수 있습니다.

    • 런타임에 블루프린트가 스켈레탈 메시 컴포넌트에서 액세스할 수 있는 인터랙터 오브젝트를 사용해서 구동할 수도 있습니다.

    • 런타임에 설정되는 값은 페인트된 값과 곱하기 방식으로 최종 스프링 및 댐퍼 세기를 구합니다.

타깃 각각은 여러 개 있을 수 있지만, 한 번에 오직 하나만 할당할 수 있습니다. 덕분에 여러가지 다양한 환경설정을 파괴적이지 않은 방식으로 매우 빠르게 테스트할 수 있습니다.

마스크를 생성하여 타깃에 할당하는 단계입니다.

  1. 더하기 (+) 버튼을 클릭하여 빈 마스크를 새로 생성합니다.
    Masks01.png

  2. 새 마스크에 우클릭하고 타깃 설정 에 커서를 올려 사용할 수 있는 타깃 리스트 중에서 선택합니다.
    Masks_Step 2.png

  3. 마스크 창에, 선택한 타깃이 클로스 애셋에 대한 활성 타깃으로 나열될 것입니다.

    Masks_Step 3.png

  1. 창의 기본 이름을 클릭하고 새 이름을 입력해서 마스크 이름을 변경할 수도 있습니다.
    Masks_Step 4.png

컨텍스트 메뉴를 통해 스켈레탈 메시 버텍스 컬러를 선택된 클로딩 파라미터 마스크에 복사할 수도 있습니다:

CopyFromVertexColor.png

마스크 관련 부가 정보는 마스크 프로퍼티 를 참고하세요.

스켈레탈 메시에서 클로딩 복사

비슷한 유형의 스켈레탈 메시가 여럿인 경우, 예를 들면 캐릭터의 망토에 Copy Clothing from SkeletalMesh (스켈레탈 메시에서 클로딩 복사) 옵션을 사용하여 클로스 구성에 정의한 세팅을 복사하여 다른 곳에 임포트하면, 처음부터 모든 파라미터를 구성해야 하는 시간을 절약할 수 있습니다.

CopyClothing.png

Clothing Data (클로딩 데이터) 아래 Copy Clothing from SkeletalMesh (스켈레탈 메시에서 클로딩 복사)를 선택하고 클로딩 데이터를 복사해 올 스켈레탈 메시를 선택하면 됩니다.

APEX (레거시) 애셋

3DS Max 또는 Maya 용으로 NVIDIA 가 제공하는 APEX 클로딩 툴을 사용하여 클로딩 애셋을 생성한 경우, 이 작업방식을 그대로 사용할 수 있습니다. APEX 클로스 (.apx 또는 .apb) 파일을 에디터에 임포트하는 방법은 두 가지입니다.

스켈레탈 메시 에디터에서 애셋 디테일 창의 Clothing (클로딩) 섹션 아래 Add APEX clothing file... (APEX 클로딩 파일 추가...) 버튼을 사용합니다.

APEXLegacyImport.png

다른 방법으로는, 에디터 내 클로딩 툴을 활성화시키고, 클로딩 창의 Assets (애셋) 섹션 아래 더하기 (+) 버튼을 사용하여 APEX 파일을 임포트합니다.

ImportAPEX.png

이 방식을 선택하면, APEX 클로스 애셋이 에디터 내 툴로 변환되어 적절히 렌더 메시에 생성 및 할당되며, Max DistanceBackstop 같은 여러 파라미터에 대한 마스크도 같이 생성됩니다.

태그
Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼