헤어 렌더링

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

Windows
MacOS
Linux

기존에는 리얼타임 엔진에서 사용하기 위해 생성된 헤어의 경우 카드 기반 기법 또는 기타 유사한 방법으로 생성했습니다. 카드 기반 워크플로에서는 다수의 평면 시트(또는 카드)를 사용해 가닥 수가 훨씬 더 많은 헤어의 대략적인 모양과 모션을 구현했습니다. 언리얼 엔진의 그룸 시스템과 툴을 사용하면 각 헤어 스트랜드를 렌더할 수 있어, 리얼타임 헤어 시뮬레이션 시 비주얼 퀄리티가 향상됩니다.

현재는 헤어 그룸의 표준 형식은 존재하지 않지만, 그룸 시스템에는 모델링 애플리케이션에서 익스포트한 데이터를 수용하기 위해 얼렘빅(Alembic) 파일을 사용하는 명명 규칙 기반 체계가 존재합니다. 하나의 파일에서 여러 헤어 그루핑을 지원합니다. 예를 들면 머리, 솜털, 눈꺼풀, 눈썹, 헤어 셰이더 및 렌더링 시스템, 나이아가라 에 의한 다이내믹 피직스 통합 등이 가능합니다.

그룸 시스템은 스트랜드 기반 헤어 임포트, 에디터, 렌더링, 시뮬레이션을 실행합니다. 이 시스템은 헤어 그루밍 솔루션은 제공하지 않습니다. 헤어 셰이핑 또는 그루밍은 외부 모델링 애플리케이션으로 진행해야 합니다. 예를 들어 Maya의 XGen , Ornatrix , Yeti 또는 Houdini 등이 있습니다.

프로젝트 내 헤어 활성화

다음과 같은 플러그인 및 세팅을 활성화해야 프로젝트에서 헤어 그룸을 사용할 수 있습니다.

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

프로젝트 세팅

편집 > 프로젝트 세팅 으로 이동해 프로젝트 세팅을 엽니다. 렌더링 > 최적화 에서 스킨 캐시 연산 지원 을 활성화합니다.

HairProjectSettings.png

플러그인 브라우저

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

GroomPlugins.png

  • 알렘빅 그룸 임포터

  • 그룸

기본 워크플로

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

HairBasicFlow.png

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

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

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

  4. (선택사항) 콘텐츠 브라우저에서 스켈레탈 메시의 바인딩 에셋을 생성합니다.

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

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

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

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

[헤어 렌더링 및 시뮬레이션 퀵스타트](엔진/헤어 렌더링/퀵스타트)
가이드에 따라 이러한 모든 단계를 더 세부적으로 수행합니다.

UE4 내에서 익스포트 및 임포트하기 위해 헤어 그룸을 구성하는 자세한 방법은 UE4에서 그룸 직접 임포트를 지원하는 스키마를 다루는 그룸용 얼렘빅 세부사항 레퍼런스 페이지를 참조하시기 바랍니다.

그룸 에셋

그룸 에셋은 임포트한 얼렘빅(.abc) 파일의 헤어 그룸을 나타내며, 콘텐츠 브라우저에 저장됩니다. 그룸 에셋을 더블 클릭하면 그룸 에셋 에디터 가 열립니다.

GroomAssetEditor.png

그룸 에셋 에디터를 통해 그룸의 일부를 관리 및 편집할 수 있습니다. 다음 작업이 가능합니다.

  • 머티리얼 할당

  • 스트랜드, 카드 또는 메시를 나타내는 LOD 메시 생성

  • 피직스 세팅 활성화 및 환경설정

  • 서로 다른 뷰 모드로 그룸 디버깅

콘텐츠 브라우저에서 그룸 에셋을 오른쪽 클릭하면 이용할 수 있는 추가적인 그룸 액션 을 통해 다음 작업이 가능합니다.

GroomAsset_ContextMenu.png

  • 그룸 임포트 옵션에서 선택한 그룸의 빌드 세팅을 리빌드 할 수 있습니다.

  • 그룸을 스켈레탈 메시에 어태치하는데 사용할 수 있는 바인딩 에셋을 바인딩 생성 으로 만들 수 있습니다.

  • 선택한 그룸을 사용하여 모낭 및 스트랜드 텍스처 생성 이 가능합니다.

스트랜드 텍스처 생성

그룸 에셋을 이용하면, 임포트된 그룸의 스트랜드 데이터를 기반으로 한 텍스처를 생성할 수 있습니다. 스켈레탈 메시의 모낭 마스크를 생성하여 메시 표면과 헤어의 블렌딩을 개선할 수 있습니다. 헤어 메시나 헤어 카드 생성에 사용할 수 있는 여러 스트랜드 텍스처를 생성할 수도 있습니다.

그룸은 메시에 적용 가능한 텍스처를 생성하는 데 사용할 수 있습니다.

DepthTextureOutput.png

TangentTextureOutput.png

HairMeshResult.png

뎁스 텍스처

탄젠트 텍스처

생성한 텍스처로 구성한 헤어 메시

자세한 정보는 그룸 텍스처 생성 을 확인해주세요.

헤어 머티리얼 셋업

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

Material_Settings.png

또한 사용 카테고리의 헤어 스트랜드와 함께 사용 도 활성화해야 합니다. 처음으로 그룸에 적용되는 경우 자동 활성화되는데, 활성화되지 않은 경우 수동으로 활성화할 수 있습니다.

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

Material_HairExample.png

에셋 바인딩

에셋 바인딩 은 그룸 컴포넌트를 스켈레탈 메시 컴포넌트로 어태치하거나 스키닝할 때 사용합니다. 스켈레탈 메시에 그룸을 할당하고, 동일한 토폴로지를 공유하는 대상에 할당하는 방법 중 하나입니다.

BindingAsset.png

콘텐츠 브라우저에서 그룸 에셋 을 오른쪽 클릭하고 컨텍스트 메뉴에서 바인딩 생성 을 선택하여 바인딩 에셋을 생성할 수 있습니다. 그룸 바인딩 옵션 창을 사용하여 타깃 스켈레탈 메시소스 스켈레탈 메시 를 할당하여 바인딩을 생성할 수 있습니다.

바인딩 에셋을 생성하려면 타깃 스켈레탈 메시 를 지정해야 합니다. 그렇지 않으면, 위 과정에서 바인딩이 생성되지 않습니다.

피직스 시뮬레이션 활성화

그룸 에셋 에디터 를 열고 피직스 패널에서 솔버 세팅 아래에 있는 시뮬레이션 활성화 옆의 박스에 체크하면 그룸에 피직스를 활성화할 수 있습니다.

HairPhysicsGroomSettings.png

활성화하면 그룸 컴포넌트에 영향을 주는 다양한 피직스 세팅을 확인할 수 있습니다. 각 프로퍼티에 대한 자세한 정보는 헤어 프로퍼티 레퍼런스 를 확인해주세요.

헤어 디버깅

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

콘솔 변수

설명

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의 휴먼 그룸의 경우 RTX-2080Ti에 30Hz 이상의 프레임 속도를 예상할 수 있습니다. 퀄리티 세팅을 더 높이면 퍼포먼스가 현저하게 저하됩니다.

  • 그룸은 아직 미리 연산된 (스태틱/스테이셔너리) 라이팅을 지원하지 않습니다.

  • 뎁스 오브 필드는 지원하지만 아티팩트가 일부 표시될 수 있습니다.

HairWorks 사용자

NVIDIA의 헤어 솔루션인 HairWorks 는 리얼타임 헤어 렌더링 및 헤어 시뮬레이션을 위한 DCC 툴의 통합 버전입니다. 언리얼 엔진은 4.16 버전부터 HairWorks 지원을 중단했습니다. 그룸 시스템 기능을 통해 HairWorks 통합 툴을 사용하시는 분들을 대상으로 마이그레이션 경로를 제공하는 장기적인 계획을 수립했습니다.

GitHub 브랜치를 통해 NVIDIA의 마지막 공식 HairWorks 버전을 사용할 수 있는 UE4 버전은 4.16으로 온라인 상에 다양한 패치 및 업그레이드가 있지만 공식 지원은 되지 않습니다.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback