헤어 렌더링 및 시뮬레이션 퀵스타트

프로젝트의 캐릭터에 헤어 렌더링 및 시뮬레이션을 사용하는 방법에 대한 가이드입니다.

Windows
MacOS
Linux

헤어 렌더링 및 시뮬레이션 가이드의 핵심은 언리얼 엔진 4(UE4)에서 스킨을 입힌 메시에 대해 헤어 그룸을 사용하는 기본적인 방법을 다루어 보는것 입니다.

본 튜토리얼을 통해 다음과 같은 내용을 이해할 수 있습니다.

  • 프로젝트에서 헤어 렌더링 및 시뮬레이션을 구성하는 방법

  • 애니메이션이 적용된 스켈레탈 메시와 함께 사용할 그룸을 구성하는 방법

  • 간단한 "헤어" 머티리얼을 구성하는 방법

  • 나이아가라를 사용하여 헤어 피직스를 시뮬레이션 및 제어하는 방법

1 - 필수 단계

  1. 3인칭 템플릿 프로젝트와 언리얼 프로젝트 브라우저 를 사용하여 새 프로젝트를 생성합니다.

  2. 에디터에서 기본 메뉴로 이동하고 편집 > 프로젝트 세팅**을 선택해 프로젝트 세팅 창을 엽니다. 렌더링 > 최적화 카테고리에서 스킨 캐시 연산 지원** 을 활성화합니다.

    1_1_ProjectSettings.png

    다음 단계에서도 에디터를 재시작해야 하므로, 지금은 에디터 창의 오른쪽 아래에 나타나는 지금 재시작 버튼을 무시해도 됩니다.

  3. 기본 메뉴로 이동하고 편집 > **플러그인**을 선택해 플러그인 브라우저 창을 엽니다.

    1_2_Plugins_a.png

    검색 바에서 "그룸"을 검색하거나 왼쪽 패널에서 지오메트리 카테고리를 선택한 후 다음 플러그인을 활성화합니다.

    • 얼렘빅 그룸 임포터

    • 그룸

  4. 프로젝트 세팅 및 플러그인의 변경 사항이 적용되도록 에디터를 재시작합니다.

    1_3_Restart.png

2 - 그룸 생성 및 임포트

한 캐릭터의 단순한 그룸에도 머리카락, 턱수염, 눈썹 등 다양한 유형의 헤어가 포함될 수 있습니다. 이러한 각 헤어 유형에는 자체의 머티리얼 및 피직스 설정이 적용될 수 있습니다. 각 그룹 내에는 시뮬레이션 중에 사용되는 헤어와 같은 여러 가지 유형의 헤어가 있습니다. 이러한 정보는 DCC에서 그루밍하면서 정의될 수 있으며 UE4는 해당 정보를 참고해 지침을 정의합니다.

  1. 원하는 DCC 애플리케이션에서 그룸을 만든 다음 얼렘빅(.abc) 파일 형식으로 내보냅니다.

    그룸(Grooms)용 얼렘빅 세부사항 을 사용해 적절한 명명 규칙으로 UE4에서 사용할 그룸을 준비합니다.

  2. 콘텐츠 브라우저에서 임포트 버튼을 클릭하거나, 콘텐츠 브라우저에 얼렘빅 파일을 드래그 앤 드롭하여 그룸과 함께 얼렘빅 파일을 임포트합니다.

    2_2_ImportGroom.png

  3. 그룸 임포트 옵션 창에서 다음과 같은 옵션을 고려합니다.

    2_3_GroomImportOptions.png

    • 그룸에 베이크되는 초기 회전을 수정하여 런타임을 절약합니다.

    • 오버라이드 가이드 체크박스를 사용하여 임포트된 스트랜드에서 선택한 일련의 스트랜드로 임포트된 가이드를 대체합니다. 헤어 가이드 전환 밀도 값에 의존하는 가이드 수입니다.

    • 보간 퀄리티와 보간 거리를 사용하여 가이드 모션 전송 시 가이드와 스트랜드간 페어링 제어 방식을 수정합니다.

    • 랜덤화 가이드 및 고유 가이드 체크박스는 가이드가 스트랜드에 미치는 영향을 제어하는 방식과 관련된 것입니다. 스트랜드에 하나 또는 여러 가이드가 영향을 미치는지 여부입니다.

  4. 임포트 를 클릭합니다.

임포트 중에 그룸 시스템은

[그룸용 얼렘빅](엔진/헤어 렌더링/그룸용 얼렘빅)
세부사항 페이지에 요약된 얼렘빅 명명 규칙에 맞는 어트리뷰트와 그룹을 찾은 후 새로운 그룸 에셋으로 임포트합니다. 이러한 어트리뷰트 중에서 RootUV 어트리뷰트는 피부 표면과 같은 밑에 있는 표면의 UV를 가져옵니다. 이를 통해 그룸 전반에 공간 베리에이션을 생성할 수 있습니다.

3 - 스켈레탈 메시에 그룸 어태치

그룸 컴포넌트를 사용하면 그룸 에셋을 어태치하고, 그룸을 스켈레탈 메시의 표면에 바인딩할 수 있습니다. 선택사항 바인딩 에셋이 스켈레탈 메시에 투영된 그룸 데이터를 캐싱합니다. 이를 통해 GPO 비용이 생성되거나 할당되지 않은 시작 시점에서 작업에 소요되는 GPU 비용을 절약할 수 있습니다.

그룸 컴포넌트 셋업

이 구성을 위해 Third Person 템플릿에 있는 `SK_Mannequin'을 사용합니다. 이 템플릿이 없으면 콘텐츠 브라우저에서 **새로 추가** > **기능 또는 콘텐츠 팩 추가**를 클릭하고 **Third Person** 템플릿을 선택해 프로젝트에 추가합니다.

캐릭터 블루프린트 내에서도 동일한 설정을 적용할 수 있습니다.

  1. 콘텐츠 브라우저마네킹 > 캐릭터 > 메시 폴더에서 SK_Mannequin 스켈레탈 메시를 찾아 씬 안으로 드래그 앤 드롭합니다.

  2. 스켈레탈 메시를 선택한 상태에서 디테일 패널의 컴포넌트 추가 버튼을 클릭하고 그룸 컴포넌트를 추가합니다. 3_2_AddGroomComponent.png

  3. 그룸 컴포넌트를 선택하고 그룸 에셋 슬롯을 사용하여, 임포트된 그룸을 이 스켈레탈 메시에 할당합니다. 3_3_AssignGroomToSkelMesh.png

  4. 그룸을 스켈레탈 메시에 바인딩 을 활성화합니다. 이를 통해 그룸 위치는 그룸이 할당된 스켈레탈 메시의 이동에 따라 달라지게 됩니다. 3_4_EnableBindingToSkelMesh.png

    이 프로퍼티를 활성화하려면 **스킨 캐시 연산 지원**의 프로젝트 세팅을 활성화해야 합니다. 이외의 경우, 이 프로퍼티는 회색으로 비활성화됩니다.

그룸을 스켈레탈 메시에 바인딩 플래그 설정 시 그룸과 스켈레탈 메시 간 바인딩 정보를 연산합니다. 이 연산 진행 시 일시적인 멈춤 현상이 일어날 수 있습니다. 이러한 문제가 일어나지 않도록 하려면 바인딩 에셋을 생성하세요. (아래 참조)

바인딩 에셋 생성

  1. 콘텐츠 브라우저에서 그룸 에셋을 찾습니다. 그룸을 오른쪽 클릭하고 컨텍스트 메뉴를 사용하여 바인딩 생성 을 선택합니다.

    3A_1_MenuCreateBinding.png

  2. 그룸 바인딩 옵션 창이 열립니다. 에셋을 생성하려면 타깃 스켈레탈 메시 를 할당해야 합니다. ,타깃 스켈레탈 메시와 유사한 토폴로지를 공유하는 소스 스켈레탈 메시 를 지정할 수 있습니다. 이러한 슬롯을 할당한 후 **생성**을 클릭합니다.

    3A_2_GroomBindingOptions.png

  3. 레벨에서 스켈레탈 메시를 선택합니다. 디테일 패널을 사용하여 컴포넌트 패널의 그룸 컴포넌트를 선택합니다. 그룸 항목에서 그룸을 스켈레탈 메시에 바인딩 플래그가 활성화되었는지 확인하고, 생성한 바인딩 에셋을 바인딩 에셋 슬롯으로 할당합니다.

    3A_3_AssignBindingAsset.png

바인딩 에셋이 그룸 컴포넌트로 할당된 경우 그룸을 스켈레탈 메시에 바인딩 플래그는 자동 설정되고, 바인딩 에셋이 배치된 경우 플래그를 비활성화할 수 없습니다.

4 - 헤어 머티리얼 구성

기본적으로 UE4에는 간단한 헤어 머티리얼인 'HairDefaultMaterial'이 포함되어 있습니다.

UE4에는 기본 "헤어" 머티리얼이 포함되므로 아래 단계는 선택 사항입니다. 하지만 헤어 머티리얼을 구성한 적이 없다면, 아래 단계에 따라 해당 작업에 필요한 프로퍼티와 설정을 터득할 수 있습니다.

  1. 콘텐츠 브라우저에서 새로 추가 버튼을 클릭하고 드롭다운 메뉴에서 **머티리얼**을 선택한 다음 에셋의 이름을 지정합니다.

    4_1_AddNewMaterial.png

  2. 머티리얼 에디터의 디테일 패널에서 다음을 설정합니다.

    4_2_MatShadingModel1.png

    • 셰이딩 모델: 헤어

    헤어 가닥 사용**도 활성화해야 합니다. 그룸 컴포넌트에 머티리얼이 적용되어 있을 경우 이 체크박스는 자동으로 활성화되어 머티리얼이 다시 컴파일됩니다. 그렇지 않으면 머티리얼 에디터의 디테일 패널에 있는 용도** 카테고리에서 이를 활성화할 수 있습니다.

  3. 머티리얼 그래프에서 기본 헤어 머티리얼에 대한 다음 노드 구성을 사용합니다.

    4_3_MatGraphSetup.png

    베이스 색에 대한 Constant4Vector**와 Constant**를 사용하여 러프니스를 제어합니다.

    비교적 더 복잡한 헤어 머티리얼을 구성할 경우 머티리얼 그래프에서 HairAttribute 표현식을 사용하여 UV, 차원, RootUV, 시드 등과 같은 헤어 어트리뷰트에 액세스합니다.

  4. 머티리얼 에디터를 저장 및 종료**합니다. 머티리얼 에디터를 저장 및 종료**합니다.

  5. 헤어 머티리얼은 두 가지 방법 중 하나를 사용하여 적용할 수 있습니다. 즉, 디테일 패널의 레벨 또는 블루프린트에서 그룸 에셋 컴포넌트에서 직접, 또는 콘텐츠 브라우저에서 그룸 에셋을 열어 적용할 수 있습니다. 헤어 머티리얼을 머티리얼 엘리먼트 슬롯에 할당합니다.

    4_5b_MatGroomActor.png

    4_5a_MatGroomActor.png

    그룸 에셋 액터(디테일 패널)

    그룸 에셋(콘텐츠 브라우저)

5 - 헤어 피직스 구성

다음 단계에서는 그룸 에셋에 피직스 시뮬레이션을 활성화해보겠습니다.

  1. 콘텐츠 브라우저에서 그룸 에셋을 찾아 더블 클릭하여 프로퍼티 에디터를 엽니다.

  2. 헤어 피직스 카테고리에서 시뮬레이션 활성화 옆의 박스를 체크합니다.

    HairPhysicsGroomSettings.png

활성화하면 헤어 피직스 카테고리의 프로퍼티를 사용해 헤어의 피직스 프로퍼티를 제어할 수 있습니다.

그룸 에셋 프로퍼티에 대한 자세한 정보는 헤어 렌더링 및 시뮬레이션 세팅 레퍼런스 페이지를 확인해주세요.

활성화하면 에디터에서 작업 시, 에디터에서 플레이(PIE) 시 또는 에디터에서 시뮬레이트 모드에서 헤어에 피직스가 적용된 모습을 확인할 수 있습니다.

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

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

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

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

네이버 카페
공식 포럼