라이트맵 UV 생성

언리얼 엔진 4 에서 별도의 라이트맵 UV 를 생성하는 법에 대한 개요입니다.

Windows
MacOS
Linux

라이트맵용 UV 언래핑 은 시간이 오래 걸리는 작업이며, 한 가지 대안은 언리얼 엔진 4 (UE4)의 자동 생성 툴을 사용하여 임포트 시 또는 스태틱 메시 에디터를 통해 기존 텍스처 UV 에서 라이트맵 UV 를 생성하는 것입니다.

주의 및 고려 사항

기본적으로 자동 생성 라이트맵 UV 는 스태틱 메시의 첫 번째 UV (UE4 에서는 UV 채널 0)에서 기존 UV 차트를 리패킹합니다. 이 UV 는 흔히 텍스처 UV 로도 사용되므로, UE4 의 자동 생성 툴을 사용해도 라이트맵 UV 에 적합하지 않은 레이아웃 또는 구성 방식의 UV 차트가 나올 수 있습니다.

자동 생성 라이트맵 UV 를 만들 때 고려할 사항은 다음과 같습니다.

  • 생성되는 라이트맵 UV 는 기존 소스 UV 리패킹이 필요하며, 그 프로세스 결과물의 한계는 사용된 UV 에 달려 있습니다. 즉 UV 차트가 나뉘어 있지 않거나 레이아웃이 올바르지 않은 경우, 제대로 된 리패킹이 불가능하다는 뜻입니다.

  • 리패킹 도중, UE4 는 UV 차트 에지를 분할하여 별도의 UV 아일랜드를 만들지 않습니다. 소스 UV 인덱스의 기존 UV 차트를 리패킹할 뿐입니다.

  • UV 차트는 생성할 때 정규화되며, 차트를 독립적으로 스케일 적용 또는 늘여서 UV 공간의 커버 범위를 극대화합니다.

임포트 옵션 세팅

Generate Lightmap UVs (라이트맵 UV 생성) 옵션이 활성화되면 기본적으로 임포트 도중 모든 스태틱 메시에 대해 라이트맵 UV 를 생성합니다. 라이트맵 UV 는 스태틱 메시의 UV 인덱스 1 (UE4 의 UV 채널 0)에서 생성하여 Lightmap Coordinate Index (라이트맵 좌표 인덱스) 1 에 할당합니다.

이미지를 클릭하면 원본을 확인합니다.

스태틱 메시 에디터에서 생성된 라이트맵 UV 를 조사할 수 있습니다. 자세한 정보는 라이트맵용 UV 언래핑 문서를 참고하세요.

라이트맵 생성 세팅

스태틱 메시 에디터의 Build Settings (빌드 세팅)에는 라이트맵 UV 생성 및 리패킹을 위한 세팅이 들어 있습니다. 이 옵션을 사용하면 임포트 도중에 생성하거나 임포트 이후 생성된 라이트맵 UV 를 수정할 필요 없이 라이트맵 UV 를 생성할 수 있습니다.

이미지를 클릭하면 원본을 확인합니다.

Generate Lightmap UVs (라이트맵 UV 생성) 옵션을 활성화하면 아래 표와 같은 옵션을 사용하여 라이트맵 UV 생성 및 리패킹 방식을 제어할 수 있습니다.

GenerateLightmapUVs.png

프로퍼티

설명

Min Lightmap Resolution

최소 라이트맵 해상도 - UV 를 패킹할 때 UV 차트에 필요한 최소 패딩을 지정합니다. 이 목표 값은 패킹의 최소 라이트맵 해상도까지 텍셀 단위 정확도를 유지합니다. Lightmap Resolution 값이 이 값보다 낮을 때 발생할 수 있는 빛과 그림자가 새는 현상이 제한됩니다.

Source Lightmap Index

소스 라이트맵 인덱스 - 라이트맵 UV 를 생성할 때 사용할 UV 채널을 선택합니다.

Destination Lightmap Index

대상 라이트맵 인덱스 - 생성된 라이트맵 UV 를 저장할 UV 채널을 설정합니다.

라이트맵 UV 생성

스태틱 메시 에디터에서 라이트맵 UV 를 새로 생성하는 프로세스에 대한 단계별 안내입니다.

  1. 스태틱 메시 에디터 를 열고 디테일 패널에서 LOD0Build Settings (빌드 세팅)으로 이동합니다.

    이미지를 클릭하면 원본을 확인합니다.

  2. 다음과 같은 세팅으로 라이트맵 UV 를 생성합니다.

    GenerateLightmapSettings.png

    • Generate Lightmap UVs (라이트맵 UV 생성) 을 활성화합니다.

    • Min Lightmap Resolution (최소 라이트맵 해상도)를 이상적인 2 제곱수로 설정합니다. 이 메시가 사용할 라이트맵의 절대 최저 해상도여야 합니다. UV 차트에 영향받는 빛과 그림자 부작용이 줄어듭니다.

    • 일반적으로 Source Lightmap Index (소스 라이트맵 인덱스)는 0 으로 놔두거나 라이트맵 UV 를 생성할 때 사용할 기존 UV 채널로 설정해야 합니다. 사용할 수 있는 UV 채널 중에서만 선택할 수 있습니다.

    • Destination Lightmap Index (대상 라이트맵 인덱스)는 라이트맵 UV 를 생성 또는 저장할 UV 채널을 설정합니다. 어떤 값에든 (이 스태틱 메시에 대한 현재 UV 채널 실제 수를 나타내는 값)에 1 을 더하면 됩니다.

  3. Apply Changes (변경사항 적용)을 클릭합니다.

  4. 디테일 패널에서 General Settings (일반 세팅) 아래 다음과 같이 설정합니다.

    GeneralSettings.png

    • Lightmap Resolution (라이트맵 해상도)는 이 메시의 인스턴스를 레벨에 배치할 때 사용할 기본값입니다. Build Settings (빌드 세팅)에서 라이트맵 UV 생성에 사용할 Min Lightmap Resolution (최소 라이트맵 해상도)보다 높은 값을 입력해야 합니다.

    • Lightmap Coordinate Index (라이트맵 좌표 인덱스)를 라이트맵 UV 에 사용 중인 UV 채널로 설정합니다. 일반적으로 Build Settings (빌드 세팅)에서 라이트맵 UV 생성에 사용되는 Destination Lightmap Index (대상 라이트맵 인덱스)에 일치해야 합니다. 이 UV 채널은 라이팅 빌드 도중 라이트맵 텍스처 생성 시 사용되는 UV 채널을 지정합니다.

이 예제에서는 텍스처 UV 를 사용하여 새 라이트맵 UV 를 생성했습니다. 텍스처 UV 는 라이트맵 UV 리패킹에 소스로 사용되며, 레이아웃이 텍스처 공간을 낭비하지 않도록 되어 있습니다. 이렇게 하면 메시의 일부를 중요도에 따라 스케일을 크게 (또는 작게) 하여 텍스처의 공간 낭비 없이 적합한 텍스처 해상도를 얻을 수 있습니다.

UV 채널 0 | 텍스처 UV 레이아웃

UV 채널 1 | 생성된 라이트맵 UV 레이아웃

라이트맵 UV 를 생성할 때, 밀도가 똑같도록 스케일을 적용(정규화)한 다음 각 UV 차트 사이 충분한 패딩을 두고 UV 공간에 패킹해 넣어 라이트 빌드 후 빛과 그림자 부작용을 방지합니다. 여기서 생성되는 라이트맵 UV 에 낭비되는 공간이 약간 보이지만, 그 공간 활용하자고 커스텀 툴에서 UV 를 수정하는 비용에 비하면 무시할 만 합니다.

기존 라이트맵 UV 재생성

기존 라이트맵 UV 재생성 (또는 리패킹)은 스태틱 메시 에디터의 빌드 세팅 을 사용하면 됩니다. 스태틱 메시에 라이트맵 UV 를 재생성하면 다음과 같은 이점이 있습니다.

  • 메시 리임포트 없이 Min Lightmap Resolution (최소 라이트맵 해상도)를 높이거나 낮춰 UV 차트 사이 패딩을 변경할 수 있습니다. 개별 UV 차트가 많고 라이트맵 UV 에 패킹을 더욱 조밀하게 할 때 가장 적합합니다.

  • 이전에 생성된 라이트맵 UV 채널을 포함한 모든 Source Lightmap Index (소스 라이트맵 인덱스)에서 기존 라이트맵 UV 를 리패킹할 수 있습니다.

임포트한 스태틱 메시에서 커스텀 UV 를 재생성하는 방법은 다음과 같습니다.

  1. 스태틱 메시 에디터를 열고 디테일 패널의 LOD0 에 대한 Build Settings (빌드 세팅)에서 옵션을 다음과 같이 설정합니다.

    Repack_SrcDestValues-1.png

    • 선택사항 Min Lightmap Resolution (최소 라이트맵 해상도)를 높게 또는 낮게 설정합니다. UV 차트 사이 패딩 양을 조정합니다.

    • Source Lightmap Index (소스 라이트맵 인덱스)를 리패킹하려는 UV 채널로 설정합니다.

    • Destination Lightmap Index (대상 라이트맵 인덱스)를 Source Lightmap Index (소스 라이트맵 인덱스)와 같은 값으로 설정합니다.

  2. Apply Changes (변경사항 적용)을 클릭합니다.

아래는 원래 스태틱 메시와 함께 임포트한 커스텀 UV 를 비교한 것입니다. UV 차트에 적용된 스케일이 서로 불균형한 것이 보이지만, UV 가 겹치지 않는다는 기준을 충족하므로 라이트맵 UV 로는 완전 괜찮습니다. UV 를 재생성하면 모든 UV 차트가 정규화되어 고르게 분산된 빛과 그림자 굽기 결과를 얻을 수 있습니다. 각 UV 차트에는 패딩도 충분히 둬서 그림자와 빛이 새어 나오는 것을 방지합니다.

임포트한 커스텀 라이트맵 UV

리패킹한 라이트맵 | Min Lightmap Resolution 값은 256

커스텀 라이트맵 UV 는 플레이어가 더 자세히 보게 될 작은 조각을 커버하는 것에 더 중점을 둡니다. 일부 조각의 커버 범위를 늘리면 라이트맵 해상도를 낮춰도 리패킹한 라이트맵 해상도와 같은 결과를 얻을 수 있습니다. 특정 애셋에 대해 이런 문제를 UE4 외부에서 해결할지는 직접 판단하면 됩니다.

Select Skin
Light
Dark

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

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

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

네이버 카페
공식 포럼