클로딩 툴

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

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. 스켈레탈 메시 에디터에서, 메인 툴바의 섹션 선택(Section Selection) 버튼을 클릭합니다. 그러면 자체 머티리얼 엘리먼트가 할당되어 있는 스켈레탈 메시의 여러 부위를 선택할 수 있습니다.

  1. 클로스로 사용할 메시 부위를 좌클릭으로 선택합니다. 그 후 우클릭으로 컨텍스트 메뉴를 열어 클로스 에셋을 생성합니다.

    전체 크기로 보려면 이미지를 클릭하세요.

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

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

    • 메시에서 제거(Remove from Mesh) - 클로스로 이용할 별도의 지오메트리 메시 조각이 있는 경우, 이 옵션을 활성화합니다. 없는 경우에는 빈 박스로 놔둡니다.

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

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

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

클로스에 페인팅하기

클로스에 페인팅할 준비가 되었으면, 다음과 같은 조작법을 사용하여 선택한 클로스 에셋에 페인팅합니다.

  • 칠하기 - 좌클릭

  • 지우기 - Shift + 좌클릭

  • 클로스 프리뷰 - H

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

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

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

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

  4. 클로스 페인트(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) 는 클로스의 한 점에서 최대 거리 이내의 움직임을 제한하는 오프셋입니다.

  • 백스탑 반경(Backstop Radius) 은 구체 반경이 최대 거리와 교차되는 경우 클로스에 페인팅한 점이 그 교차 구역 안으로 들어가지 못하도록 막습니다.

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

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

    • 런타임 때 설정되는 값으로, 페인트된 값에 곱해져 최종 스프링 및 댐퍼 세기를 구합니다.

이러한 **타깃**을 각각 여러 개 가질 수도 있지만, 한 번에 오직 하나만 할당할 수 있습니다. 덕분에 여러 가지 환경설정을 원본 손상 없이 매우 빠르게 테스트할 수 있습니다.

마스크를 생성하여 타깃에 할당하려면 다음 단계를 따릅니다:

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

  2. 새 마스크에 우클릭하고 타깃 설정(Set Target) 에 커서를 올려 놓은 후 사용 가능한 타깃(Targets) 리스트 중에서 선택합니다.
    Masks_Step 2.png

  3. 마스크 창에, 선택한 타깃이 클로스 에셋의 활성 타깃으로 나열되는 것이 보입니다.

    Masks_Step 3.png

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

    Masks_Step 4.png

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

CopyFromVertexColor.png

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

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

캐릭터의 망토처럼 비슷한 유형의 스켈레탈 메시가 여러 개 있는 경우, 스켈레탈 메시에서 클로딩 복사(Copy Clothing from Skeletal Mesh) 옵션으로 클로스 설정에 정의한 세팅을 복사하고 다른 곳에 임포트하세요. 그러면 처음부터 모든 파라미터를 구성하지 않아도 되므로 시간이 절약됩니다.

CopyClothing.png

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

APEX (레거시) 에셋

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

스켈레탈 메시 에디터(Skeletal Mesh Editor)에서 에셋 디테일(Asset Details) 창의 클로딩(Clothing) 섹션 아래에 있는 APEX 클로딩 파일 추가...(Add APEX clothing file...) 버튼을 사용할 수 있습니다.

APEXLegacyImport.png

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

ImportAPEX.png

이 방식을 선택하면, APEX 클로스 에셋이 에디터 내 툴로 변환되어 적절하게 생성된 후 렌더 메시에 할당되며, 최대 거리백스탑 같은 다른 파라미터의 마스크도 같이 생성됩니다.

태그
Select Skin
Light
Dark
언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
건너뛰기

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

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

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

네이버 카페
공식 포럼