라이트매핑 및 셰이더 메타 패스
라이트맵 UV 생성

라이트맵 UV

GI 라이트맵에는 베이크됨(Baked)실시간(Realtime) 의 두 가지 설정이 있습니다. 어떤 설정을 사용할지 정의하는 방법은 환경 조명을 사용하여 작업하는지 또는 특정 광원을 사용하여 작업하는지에 따라 다릅니다.

  • 전역 조명(환경 조명)은 Realtime 또는 Baked 로 설정할 수 있습니다. Window > Rendering > Lighting 로 이동하여 Ambient GI 드롭다운 메뉴에서 옵션을 선택합니다.

  • 광원Realtime, Baked 또는 Mixed 로 설정할 수 있습니다.

  • 머티리얼에는 실시간(Realtime) 또는 베이크됨(Baked) 으로 설정할 수 있는 이미션 제어가 있습니다. 자세한 내용은 스탠다드 셰이더 머티리얼 파라미터 이미션 문서를 참조하십시오.

라이트맵 프로퍼티
베이크된(Baked) 베이크된 라이트맵은 주로 런타임 중 변경되지 않는 광원(예: 조명이 붙은 가로등)에 유용하므로 라이트맵에 정적 렌더링으로 저장됩니다. 직접 조명, 간접 조명, 베이크된 앰비언트 오클루전 등의 기능을 포함합니다.
실시간(Realtime) 실시간 라이트맵은 주로 런타임 중 애니메이션이 적용되는 광원(예: 깜박거리는 가로등)에 유용하므로 실시간으로 렌더링해야 합니다. 기능에는 간접 조명만 포함되며 보통 저해상도로 제공됩니다. 직접광은 라이트맵에 없지만 실시간으로 렌더링됩니다.
혼합(Mixed) 혼합 모드에서 광원을 설정할 경우, 베이크된 라이트맵에 영향을 주며 비정적 오브젝트에 직접적인 실시간 조명을 제공합니다.

이 라이트맵 중 한 가지 또는 두 가지를 모두 사용하여 씬에 광원을 설정할 수 있습니다. 어떤 항목을 선택하는지에 따라 광원 기여도와 결과 전역 조명이 추가되는 라이트맵이 달라집니다.

UV 시각화

사용되는 UV를 볼 수 있는 것이 중요하며 Unity에는 이를 지원하는 시각화 툴이 있습니다. 먼저 라이팅 창(메뉴: Window > Rendering > Lighting)을 열고 하단의 Auto 체크박스를 선택합니다. 이렇게 하면 베이크 및 미리 계산이 최신 상태로 유지되고 UV를 보는 데 필요한 데이터가 출력됩니다. 프로세스가 완료될 때까지 기다리십시오. 크거나 복잡한 씬의 경우 다소 시간이 걸릴 수 있습니다.

실시간 UV 시각화

미리 계산된 실시간 GI UV를 확인하려면 다음 단계를 따르십시오.

  • 씬에서 메시 렌더러로 게임 오브젝트를 선택합니다.
  • 조명 창을 열어 오브젝트(Object) 탭을 선택합니다.
  • Preview 영역의 드롭다운에서 Charting을 선택합니다.

메시의 선택된 인스턴스의 실시간 라이트맵에 대한 UV 레이아웃을 표시합니다.

  • 차트는 미리보기에서 다른 컬러 영역으로 표시됩니다(위의 이미지는 오른쪽에 표시됨).
  • 선택된 인스턴스의 UV는 게임 오브젝트의 메시 와이어 프레임 표현으로 차트 위에 놓입니다.
  • 진회색 음영은 라이트맵의 사용되지 않는 영역을 보여 줍니다.

여러 인스턴스를 실시간 라이트맵에 포함할 수 있으므로 실제로 볼 수 있는 차트 중 일부는 다른 게임 오브젝트에 속할 수 있습니다.

참고: 실시간 라이트맵과 베이크된 라이트맵 사이의 인스턴스 그룹화에는 직접적인 대응 관계가 없습니다. 동일한 실시간 라이트맵에 있는 두 개의 인스턴스는 서로 다른 두 개의 베이크된 라이트맵에 있을 수도 있고 없을 수도 있습니다.

베이크된 UV 시각화

베이크된 UV를 확인하려면 다음 단계를 따르십시오.

  • 인스턴스 선택
  • 라이팅 창(메뉴 : Window > Rendering > Lighting)을 열고 Object 탭을 선택합니다.
  • Preview 영역의 드롭다운에서 Baked Intensity 를 선택합니다.

보시다시피 베이크된 UV는 미리 계산된 실시간 UV와는 매우 다릅니다. 이는 미리 계산된 실시간 베이크된 UV에 대한 요구 사항이 다르기 때문입니다.

실시간 UV

UV 보존(Preserve UVs) 을 선택해도 베이크된 GI에 대해 미리 계산된 실시간 GI를 위한 동일한 UV를 얻을 수 없다는 점에 유의해야 합니다.

조금만 자세히 보면 뚜렷한 앨리어싱(예: 밝거나 어두운 가장자리)이 나타납니다. 이는 실시간 라이트맵의 해상도가 의도적으로 낮아 실시간으로 업데이트하는 것이 가능하기 때문입니다. 간접 조명은 일반적으로 빈도가 낮지만(즉, 강도 또는 세부 패턴이 갑자기 변경되지 않음을 의미함) 저장하기 때문에 그래픽 품질에 영향을 주지 않습니다. 직접광과 섀도우는 표준 실시간 조명과 섀도우 맵을 사용하여 별도로 렌더링됩니다. 직접광은 일반적으로 더 높은 주파수입니다. 즉, 예리한 가장자리와 섀도우와 같은 세부적인 패턴이나 강도가 갑자기 변경되는 경우가 많으므로 이 정보를 캡처하려면 더 높은 해상도의 라이트맵이 필요합니다.

저해상도 라이트맵은 차트가 텍셀을 공유할 때 생기는 블리딩 문제가 발생할 수 있습니다. 이것은 조명의 품질에 악영향을 미치지만 UV 차트를 재포장하여 주변의 반화소 경계를 보장함으로써 해결됩니다. 이렇게 하면 쌍선형 보간을 사용해도 차트 전체(가장 상세한 밉)에서 샘플링하지 않습니다. 절반의 픽셀 경계가 보장되는 차트의 다른 이점은 차트를 서로 나란히 배치하여 라이트맵 공간을 절약할 수 있습니다.

요약하면 사전에 계산된 인라이튼 실시간 전역 조명 라이트맵용으로 사용되는 UV는 항상 재포장된다는 것입니다.

재포장은 차트 주변의 반화소 경계를 보장하기 때문에 UV는 인스턴스의 배율 및 라이트맵 해상도에 따라 달라집니다. 더 높은 해상도의 라이트맵을 얻기 위해 UV를 스케일업하면 더 이상의 반 화소 경계가 보장되지 않습니다. UV는 인스턴스의 규모와 해상도를 고려하여 개별적으로 포장됩니다. 그러므로 실시간 UV는 인스턴스 별입니다. 동일한 규모와 해상도를 가진 1,000개의 오브젝트가 있는 경우 UV를 공유한다는 것에 유의하십시오.


  • 2017–07–04 페이지 게시됨

  • 2017–07–04 문서만 업데이트되고 Unity 기능에는 변경 사항 없음


Did you find this page useful? Please give it a rating:

  • 라이트매핑 및 셰이더 메타 패스
    라이트맵 UV 생성