Choose your operating system:
Windows
macOS
Linux
언리얼 엔진 4.16 버전에서 APEX Cloth가 NVIDIA의 NvCloth 솔버로 대체되었으며, 이는 부드러운 천을 표현하는 파티클을 시뮬레이션하는 로우 레벨 클로딩 솔버입니다. 이 클로딩 솔버를 통해 시뮬레이션 데이터에 직접 접근할 수 있게 되었으므로 매우 가볍고 확장성 높은 통합이 가능해졌습니다.
이제 언리얼 엔진 개발자들은 에디터 안에서 클로딩 툴을 사용할 수 있으므로, 외부 프로그램에 의존할 필요 없이 엔진 안에서 바로 작업하는 새로운 워크플로를 사용할 수 있게 되었습니다.
APEX Cloth를 사용하는 예전 워크플로에서는 언리얼 외부에서 NVIDIA의 Clothing Tool 같은 외부 프로그램이나 3DS Max/Maya 같은 특정 소프트웨어가 필요한 DCC 플러그인을 사용해서 이러한 콘텐츠를 제작해야 했습니다. 개발 최종 단계가 되어서야 제작 콘텐츠를 언리얼로 가져와 메시에 할당할 수 있었습니다. 이 경우 뭔가 수정할 것이 있으면 외부 프로그램으로 돌아가서 에디터 외부에서 콘텐츠를 다시 제작해야 했습니다.
하지만 새로운 워크플로에서는 콘텐츠를 한 번 만들면 클로딩 관련 편집 작업을 전부 언리얼 안에서 처리할 수 있습니다. 콘텐츠의 생성이나 테스트 반복작업이 그만큼 빨라질 뿐만 아니라, 실시간으로 본 클로딩 시뮬레이션 편집 내용이 게임에서도 동일하게 나타나므로 콘텐츠를 제작한 곳과 사용된 곳에서의 차이점이 없어지게 됩니다.
클로스 페인트 워크플로
에디터 안에서 클로스를 만드는 새로운 워크플로를 사용할 때 클로스 페인트 툴을 사용해 보세요. 스켈레탈 메시의 기존 머티리얼 엘리먼트를 사용해 캐릭터의 클로딩을 빠르게 만들 수 있습니다.
-
섹션 선택 - 이 기능으로 클로스를 페인트할 머티리얼 ID를 선택합니다.
-
클로스 페인트 패널 - 이 섹션에는 클로스를 페인트할 때 사용할 수 있는 필수 툴과 프로퍼티가 전부 포함됩니다.
아래 단계를 따라하면 자체 클로딩 에셋을 만들어 캐릭터에 할당하고 렌더 메시에 페인트하는 기초 내용을 배울 수 있습니다.
클로스 에셋 생성 및 할당
클로딩 작업을 시작하려면, 먼저 레벨 오브 디테일(LOD) 섹션에서 클로딩 에셋을 만든 후 렌더 메시에 할당해서 페인트 작업을 할 수 있게 만들어야 합니다.
우선 다음과 같이 시작합니다:
-
스켈레탈 메시 에디터에서, 메인 툴바의 섹션 선택(Section Selection) 버튼을 클릭합니다. 그러면 자체 머티리얼 엘리먼트가 할당되어 있는 스켈레탈 메시의 여러 부위를 선택할 수 있습니다.
-
클로스로 사용할 메시 부위를 좌클릭으로 선택합니다. 그 후 우클릭으로 컨텍스트 메뉴를 열어 클로스 에셋을 생성합니다.
-
컨텍스트 메뉴 중 선택에서 클로스 에셋 생성(Create Cloth Asset from Selection) 을 선택한 뒤 메뉴 다음 부분을 채웁니다:
-
에셋 이름(Asset Name) - 나중에 쉽게 찾을 수 있도록 에셋의 이름을 짓습니다.
-
메시에서 제거(Remove from Mesh) - 클로스로 이용할 별도의 지오메트리 메시 조각이 있는 경우, 이 옵션을 활성화합니다. 없는 경우에는 빈 박스로 놔둡니다.
-
피직스 에셋(Physics Asset) - 이 클로스 에셋이 캐릭터용인 경우, 피직스 에셋을 사용하여 클로스 시뮬레이션에 맞는 콜리전을 구합니다.
세팅이 마음에 들면, 생성(Create) 버튼을 클릭합니다.
-
-
섹션을 다시 우클릭하여 컨텍스트 메뉴를 띄우고 클로딩 에셋 적용(Apply Clothing Asset) 에 커서를 올린 뒤 사용 가능한 클로딩 에셋을 선택하여 적용합니다. 그러면 생성된 클로딩 에셋이 선택한 섹션에 할당됩니다.
클로스에 페인팅하기
클로스에 페인팅할 준비가 되었으면, 다음과 같은 조작법을 사용하여 선택한 클로스 에셋에 페인팅합니다.
-
칠하기 - 좌클릭
-
지우기 - Shift + 좌클릭
-
클로스 프리뷰 - H
NVIDIA의 PhysX DCC 플러그인을 사용해서 3DS Max 또는 Maya의 클로딩을 만든 적이 있거나 다른 프로그램의 비슷한 페인팅 툴을 사용한 적이 있다면, 이 작업이 익숙하게 느껴질 것입니다.
-
스켈레탈 메시 에디터에서, 파일 메뉴로 가서 창(Window) 을 선택한 뒤 목록에서 클로딩(Clothing) 을 선택합니다.
그러면 클로딩(Clothing) 패널이 열립니다.
-
툴바의 클로스 페인트 활성화(Activate Cloth Paint) 버튼을 클릭하여 선택된 클로스 에셋을 페인팅하는 데 사용할 수 있는 프로퍼티를 활성화시킵니다.
-
클로딩 패널에서 클로딩 데이터(Clothing Data) 리스트에서 할당한 클로스 에셋(Cloth Asset) 을 선택합니다.
-
클로스 페인트(Cloth Painting) 섹션에서 사용할 페인트 툴 유형을 선택한 다음 페인트 값(Paint Value) 을 설정합니다. 기본적으로는 브러시 페인트 툴이 사용됩니다. 그런 다음 메시 표면을 좌클릭하고 드래그하면 페인팅이 시작됩니다.
H 키보드 단축키를 누르면 페인팅한 클로스를 미리 볼 수 있습니다.
페인트 툴
툴(Tool) 을 선택해서 페인트 클로스에 사용할 브러시를 선택할 수 있습니다.
브러시
브러시(Brush) 툴로 클로스 에셋에 드래그하면 클로스에 일정 반경으로 세기 값을 페인팅할 수 있습니다.
페인트 값(Paint Value) 으로 클로스에 페인팅할 때의 브러시 세기를 조절합니다. 이 값은 페인팅한 영역이 얼마만큼 클로스처럼 반응할지를 조절합니다. 값이 0이면 스킨을 입힌 버텍스가 움직일 수 없으며, 100이면 스킨을 입힌 버텍스가 원래 위치에서 1미터를 움직일 수 있습니다.
이 툴과 프로퍼티 관련 정보는 브러시 프로퍼티 를 참조하세요.
그레이디언트
그레이디언트(Gradient) 툴은 선택된 클로스 값 세트들끼리 점차 섞이도록 그레이디언트를 페인팅할 수 있습니다.
그레이디언트를 페인팅하는 방법은 다음과 같습니다:
-
좌클릭 으로 그레이디언트 시작 값(Gradient Start Value) 을 페인팅합니다. 이는 페인팅한 버텍스 위에 초록 점으로 나타납니다.
-
Ctrl + 좌클릭 으로 그레이디언트 끝 값(Gradient End Value) 을 페인팅합니다. 이는 페인팅한 버텍스 위에 빨간 점으로 나타납니다.
-
페인팅을 마쳤으면 Enter 키를 눌러 그레이디언트를 페인팅합니다.
이 툴과 프로퍼티 관련 정보는 그레이디언트 프로퍼티 를 참조하세요.
스무드
스무드(Smooth) 툴은 페인팅한 클로스 값들의 대비를 부드럽게 만드는 블러를 적용합니다.
세기(Strength) 값은 페인팅한 영역 사이에 서서히 변해가는 블러 이펙트를 얼마나 세게 할 것인지 정합니다.
이 툴과 프로퍼티 관련 정보는 스무드 프로퍼티 를 참조하세요.
채우기
채우기(Fill) 툴은 값이 비슷한 지역을 다른 값으로 대체합니다.
채우기 값(Fill Value) 은 영역의 버텍스를 채울 값을 설정합니다. 한계치(Threshold) 는 대체할 버텍스를 샘플링할 때 채우기에 사용할 값을 설정합니다.
이 툴과 프로퍼티 관련 정보는 채우기 프로퍼티 를 참조하세요.
클로스 프로퍼티
클로스 환경설정(Cloth Config) 프로퍼티로 클로스에 삼베, 고무 등 다양한 천 재질 유형을 시뮬레이션할 수 있습니다.
클로스 환경설정 프로퍼티 관련 정보는 클로스 환경설정 프로퍼티 를 참조하세요.
마스크
마스크(Mask) 는 클로딩 에셋에서 교체할 수 있는 파라미터 세트입니다.
이 파라미터 세트는 다음 타깃 (또는 파라미터 세트)을 나타냅니다:
-
최대 거리(Max Distance) 는 클로스의 한 점이 그 애니메이션 적용 위치에서 움직일 수 있는 최대 거리입니다.
-
백스탑 거리(Backstop Distance) 는 클로스의 한 점에서 최대 거리 이내의 움직임을 제한하는 오프셋입니다.
-
백스탑 반경(Backstop Radius) 은 구체 반경이 최대 거리와 교차되는 경우 클로스에 페인팅한 점이 그 교차 구역 안으로 들어가지 못하도록 막습니다.
-
애님 드라이브 배율(Anim Drive Multiplier) 은 클로딩을 애니메이션 적용 위치로 끌어오는 스프링을 구동하므로, 애니메이터가 이를 이용하여 시네마틱 또는 애니메이션 기반의 씬을 제어할 수 있습니다.
-
스켈레탈 메시 컴포넌트에서 블루프린트가 액세스할 수 있는 인터랙터 오브젝트를 사용해 런타임 때 구동할 수도 있습니다.
-
런타임 때 설정되는 값으로, 페인트된 값에 곱해져 최종 스프링 및 댐퍼 세기를 구합니다.
-
이러한 **타깃**을 각각 여러 개 가질 수도 있지만, 한 번에 오직 하나만 할당할 수 있습니다. 덕분에 여러 가지 환경설정을 원본 손상 없이 매우 빠르게 테스트할 수 있습니다.
마스크를 생성하여 타깃에 할당하려면 다음 단계를 따릅니다:
-
더하기(+) 버튼을 클릭하여 빈 마스크를 새로 생성합니다.
-
새 마스크에 우클릭하고 타깃 설정(Set Target) 에 커서를 올려 놓은 후 사용 가능한 타깃(Targets) 리스트 중에서 선택합니다.
-
마스크 창에, 선택한 타깃이 클로스 에셋의 활성 타깃으로 나열되는 것이 보입니다.
-
창에서 기본 이름을 클릭하고 새 이름을 입력해 마스크 이름을 변경할 수도 있습니다.
컨텍스트 메뉴를 통해 스켈레탈 메시 버텍스 컬러를 선택된 클로딩 파라미터 마스크에 복사할 수도 있습니다:
마스크 관련 정보는 마스크 프로퍼티 를 참조하세요.
스켈레탈 메시에서 클로딩 복사하기
캐릭터의 망토처럼 비슷한 유형의 스켈레탈 메시가 여러 개 있는 경우, 스켈레탈 메시에서 클로딩 복사(Copy Clothing from Skeletal Mesh) 옵션으로 클로스 설정에 정의한 세팅을 복사하고 다른 곳에 임포트하세요. 그러면 처음부터 모든 파라미터를 구성하지 않아도 되므로 시간이 절약됩니다.
클로딩 데이터(Clothing Data) 아래에 **스켈레탈 메시에서 클로딩 복사**를 선택하고 클로딩 데이터를 복사해 올 스켈레탈 메시를 선택하면 됩니다.
APEX (레거시) 에셋
NVIDIA에서 3DS Max 또는 Maya용으로 제공하는 APEX 클로딩 툴로 클로딩 에셋을 생성한 경우, 이 워크플로를 그대로 사용할 수 있습니다. APEX 클로스 파일(.apx 또는 .apb)을 에디터에 임포트하는 방법은 두 가지입니다.
스켈레탈 메시 에디터(Skeletal Mesh Editor) 에서 에셋 디테일(Asset Details) 창의 클로딩(Clothing) 섹션 아래에 있는 APEX 클로딩 파일 추가...(Add APEX clothing file...) 버튼을 사용할 수 있습니다.
다른 방법으로는, 에디터 내 클로딩 툴을 활성화시키고, 클로딩 창의 에셋 섹션 아래에 있는 더하기 (+) 버튼을 사용하여 APEX 파일을 임포트할 수 있습니다.
이 방식을 선택하면, APEX 클로스 에셋이 에디터 내 툴로 변환되어 적절하게 생성된 후 렌더 메시에 할당되며, 최대 거리 나 백스탑 같은 다른 파라미터의 마스크도 같이 생성됩니다.