헤어 렌더링 및 시뮬레이션

UE4의 스트랜드(Strand) 기반 헤어 불러오기, 렌더링 그리고 시뮬레이션에 대한 개요입니다.

Windows
MacOS
Linux

전통적으로는 실시간 내 헤어는 카드 기반 렌더링 또는 기타 근사치를 사용해 생성했습니다. 카드 기반 워크플로에서는 소수의 대형 평면 시트를 사용해 가닥 수가 훨씬 더 많은 헤어의 대략적인 모양과 모션을 구현했습니다. 새로운 헤어 렌더링 및 시뮬레이션 기능을 사용하면 헤어를 한 가닥씩 렌더링할 수 있습니다. 헤어를 한 가닥씩 렌더링하면 시뮬레이션된 실시간 헤어의 시각적 충실도를 크게 높일 수 있습니다.

현재는 헤어 그룸(Hair Grooms)에서 표준 파일 형식은 존재하지 않지만, 이 업데이트를 통해 DDC 툴에서 익스포트한 그룸 데이터를 소화할 때 얼렘빅(Alembic) 파일을 사용하기 위한 명명 규칙 기반 계획을 제공하고 있습니다. 또한 이 업데이트는 단일 얼렘빅 파일 내 여러 헤어 그룹(예: 머리카락, 솜털, 턱수염, 속눈썹, 눈썹), 최신 헤어 셰이더 및 렌더링 시스템, 그리고

[Niagara](엔진/나이아가라)
를 사용한 다이내믹 통합 등을 지원합니다.

이 업데이트를 통해 가닥 기반 헤어 임포트, 렌더링 및 시뮬레이션을 최소 수준 이상으로 구현할 수 있습니다. 이 업데이트에서 헤어 그루밍 솔루션은 제공하지 않습니다. 헤어 셰이핑 또는 그루밍은 마야(Maya) 내의 XGen , Ornatrix , Yeti , Shave and a Haircut , Houdini 등과 같은 외부 DCC 툴에서 수행해야 합니다.

HairWorks 사용자

NVIDIA는 HairWorks라는 헤어 솔루션을 제공합니다. HairWorks는 DCC 툴 통합, 실시간 렌더링 및 헤어용 시뮬레이션으로 구성됩니다. UE4에서는 4.16 이후로 HairWorks를 지원하지 않습니다. 현재 HairWorks 통합을 사용 중인 사용자들에게는 새로운 헤어 렌더링 및 시뮬레이션 기능을 위한 장기적 계획에 따라 이주 경로를 제공할 예정입니다. NVIDIA의 마지막 UE4용 HairWorks 공식 버전은 4.16입니다. 비록 공식적으로 지원되지는 않지만, 다양한 패치 및 업그레이드가 온라인으로 제공되고 있습니다.

이 구현 방식으로는 HairWorks를 바로 대체할 수 없습니다. 하지만, 외부 DCC 툴에서 그루밍한 헤어의 렌더링 및 시뮬레이션을 위한 유일한 임시 솔루션입니다.

프로젝트 내 헤어 활성화

프로젝트 내에서 헤어를 사용하려면 다음 설정과 플러그인을 활성화해야 합니다.

프로젝트 세팅

편집 > 프로젝트 세팅 으로 이동해 프로젝트 세팅을 엽니다. 다음 섹션에서 해당 설정을 활성화합니다.

  • 렌더링 > 최적화에서 컴퓨트 스킨캐시 지원 활성화

  • 애니메이션 > 성능에서 스켈레탈 메시 초기화 시 애니메이션 시작 비활성화

이 설정이 적용되려면 에디터를 재시작해야 합니다.

플러그인 브라우저

편집 > 플러그인 으로 이동하여 플러그인 브라우저 창을 엽니다. 지오메트리 카테고리 아래에서 다음 플러그인을 활성화합니다.

  • 알렘빅 그룸 임포터

  • 그룸

이 플러그인이 적용되려면 에디터를 재시작해야 합니다.

기본 워크플로

아래의 플로차트는 사용자의 헤어 그룸을 UE4 안으로 가져온 후, 애니메이션화할 수 있는 스켈레탈 메시 캐릭터에 연결하는 개괄적인 프로세스를 보여 줍니다.

HairBasicFlow.png

  1. 원하는 DCC 애플리케이션에서 헤어 그룸을 생성합니다.

  2. 헤어 그룸을 얼렘빅(*.abc) 파일로 익스포트합니다.

  3. 얼렘빅 그룸 파일을 UE4 안으로 임포트합니다.

  4. 그룸 애셋을 월드 안에 액터로 또는 블루프린트 안에 배치합니다.

  5. 그룸 컴포넌트(액터)를 트랜스퍼 스키닝을 통해 스켈레탈 메시 소켓에 연결합니다.

  6. 헤어 머티리얼을 구성 및 할당합니다.

  7. 나이아가라 GroomAssetSystem을 그룸 컴포넌트의 자손으로 할당합니다.

[Hair Rendering and Simulation Quick Start](엔진/헤어 렌더링/퀵스타트)
가이드에 따라 이러한 모든 단계를 더 세부적으로 수행합니다.

UE4 내에서 익스포트 및 임포트하기 위해 헤어 그룸을 구성하는 자세한 방법은 UE4에서 그룸 직접 임포트를 지원하는 스키마를 다루는 [Alembic for Grooms Specification]() 레퍼런스 페이지를 참조하시기 바랍니다.

이러한 단계를 모두 완료하면 연결된 애니메이션화 스켈레탈 메시에서 사용할 수 있는 인터랙티브 그룸을 확보하게 됩니다.

헤어 어트리뷰트 머티리얼 표현식 예

헤어 지오메트리를 올바르게 렌더링하려면 셰이딩 모델헤어 로 설정된 머티리얼이 할당되어야 합니다.

Material_Settings.png

또한 용도 카테고리 아래에서 헤어 가닥 사용 이 활성화되어 있어야 합니다. 이 옵션은 그룸에 적용할 때 자동으로 활성화되어야 하지만, 그렇지 않은 경우에는 수동으로 활성화할 수 있습니다.

다음은 헤어 어트리뷰트 표현식을 사용하는 헤어 머티리얼의 예입니다.

Material_HairExample.png

나이아가라를 사용한 헤어 피직스

그룸 시스템에서 피직스를 사용하려면 나이아가라 시스템을 레벨 내의 액터의 디테일 패널에서 그룸 컴포넌트의 자손 컴포넌트로 연결하거나, 블루프린트 컴포넌트 패널에서 그룸 컴포넌트의 자손 컴포넌트로 연결해야 합니다

UE4 그룸 시스템에는 GroomAssetSystem 이라고 하는 그룸 컴포넌트와 함께 사용할 수 있는 자체의 나이아가라 파티클 시스템이 기본으로 포함되어 있습니다. 이 시스템은 나이아가라 컴포넌트를 통해 나이아가라 시스템을 할당할 때 액세스할 수 있습니다.

AssignNiagaraGroomAsset.png

  1. 나이아가라 컴포넌트를 그룸 컴포넌트의 자손으로 구성합니다.

  2. 나이아가라 시스템 할당 상자를 사용해 나이아가라 파티클 시스템을 선택합니다.

  3. 드롭다운 메뉴에서 GroomAssetSystem 을 선택합니다.

나이아가라 GroomAssetSystem 은 그룸 시스템의 플러그인에 속하며 Content Plugins 폴더에 포함되어 있습니다. 그룸 플러그인을 활성화한 후에도 목록에서 이 항목이 보이지 않으면 드롭다운 메뉴를 사용해 뷰 옵션 을 선택하고 플러그인 콘텐츠 표시 를 활성화합니다.

ViewOptionsNote.png

헤어 디버깅

다음 콘솔 변수를 사용하여 프로젝트에서 헤어를 디버깅할 수 있습니다.

Console Variable

Description

r.HairStrands.DebugMode

다음 명령 모드 중 하나를 활성화해 헤어 렌더링에 대한 다양한 통계 및 디버깅 정보를 화면에 표시합니다.

  • 0 - 해제

  • 1 - 클러스터 정보

  • 2 - 모든 DOM 라이트 바운드

  • 3 - 스크린 투영 클러스터

  • 4 - 짙은 오파시티 맵

  • 5 - 서브 픽셀 샘플 카운트

  • 6 - TAA 리졸브 유형(일반형/반응형)

  • 7 - 헤어 커버리지 유형

  • 8 - 헤어 밀도 볼륨

  • 9 - 헤어 탄젠트 볼륨

  • 10 - 헤어 베이스 색 볼륨

  • 11 - 헤어 러프니스 볼륨

  • 12 - 헤어 메시 투영

  • 13 - 헤어 커버리지

r.HairStrands.StrandMode

이 명령을 활성화해 씬 안의 헤어 가닥에 대해 선택된 디버깅 모드를 렌더합니다.

  • 0 - 해제

  • 1 - 시뮬레이션 가닥

  • 2 - 렌더링 가닥 인플루언스

  • 3 - 루트 UV

  • 4 - 루트 UV UDIM 텍스처 인덱스

  • 5 - 헤어 UV

  • 6 - 헤어 시드

  • 7 - 헤어 차원

  • 8 - 헤어 반경 베리에이션

  • 9 - 헤어 버텍스 색

  • 10 - 헤어 버텍스 러프니스

잘 알려진 제한 사항

  • 거리 기반 데시메이션은 아직 구현되지 않았습니다.

  • 프레임 속도는 그룸 크기, 해상도, 실행되고 있는 기반 하드웨어 등에 따라 달라집니다. 예를 들어, 1080p의 휴먼 그룸의 경우 2080Ti에 30Hz 이상의 프레임 속도를 예상할 수 있습니다.

  • 뷰 모드는 헤어에서 아직 지원되지 않습니다.

  • 멀티 뷰(여러 개 열린 창에서 헤어 표시)는 아직 지원되지 않으며, 지원되더라도 아티팩트가 나타날 수 있습니다.

Select Skin
Light
Dark

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

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

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

네이버 카페
공식 포럼