조명 설정 에셋은 베이크된 전역 조명과 인라이튼 실시간 전역 조명 시스템에 대한 데이터를 저장하는 LightingSettings 클래스에 저장된 인스턴스를 나타냅니다. Unity 에디터는 이 시스템 중 하나 또는 둘 모두를 사용하는 씬에 대해 조명 데이터를 사전 계산할 때 이 데이터를 사용합니다.
동일한 조명 설정 에셋 또는 LightingSettings
클래스의 인스턴스를 두 개 이상의 씬에 할당할 수 있으므로 여러 씬에서 전역 조명 시스템 설정을 간편하게 공유할 수 있습니다.
Unity 에디터에서 조명 설정 에셋을 생성하는 방법에는 두 가지가 있습니다.
프로젝트 뷰에서 조명 설정 에셋을 생성하려면 다음 단계를 따르십시오.
라이팅 창에서 조명 설정 에셋을 생성하고 자동으로 할당하려면 다음 단계를 따르십시오.
스크립트에서 조명 설정 에셋을 생성할 수도 있습니다. 이렇게 하려면 LightingSettings 클래스의 인스턴스를 생성한 후 디스크에 저장하거나, 씬에 할당한 후 해당 씬을 저장하십시오. 자세한 내용과 코드 예제는 LightingSettings API 문서를 참조하십시오.
Unity 에디터에서 조명 설정 에셋을 씬에 할당하려면 다음 단계를 따르십시오.
스크립트에서 조명 설정 에셋을 활성 씬에 할당할 수도 있습니다. 이렇게 하려면 조명 설정 에셋을 로드한 후 LightingSettings
클래스의 인스턴스를 가져온 후 Lightmapping.lightingSettings
API를 사용하여 해당 LightingSettings
인스턴스를 활성 씬에 할당하십시오. 자세한 내용과 코드 예제는 LightingSettings API 문서를 참조하십시오.
Unity 에디터의 다음 두 위치에서 조명 설정 에셋의 프로퍼티를 확인하고 편집할 수 있습니다.
스크립트에서 조명 설정 에셋의 프로퍼티를 읽거나 조명 설정 에셋의 프로퍼티에 쓸 수 있습니다. 이렇게 하려면 조명 설정 에셋을 로드하고, LightingSettings
클래스의 인스턴스를 가져온 후 해당 프로퍼티에 액세스하십시오. 자세한 내용과 코드 예제는 LightingSettings API 문서를 참조하십시오.
씬에 조명 설정 에셋이 할당되지 않은 경우 Unity는 해당 씬에 기본 LightingSettings
오브젝트를 사용합니다. 기본 LightingSettings
오브젝트는 LightingSettings
클래스의 읽기 전용 내부 인스턴스입니다.
기본 ’LightingSettings’를 사용하는 씬의 ‘LightingSettings’ 데이터는 변경할 수 없지만, Unity는 해당 설정을 사용하여 베이크를 수행할 수 있습니다.
씬의 LightingSettings
데이터를 변경하려면 Unity 에디터를 사용하여 조명 설정 에셋을 생성 및 할당하거나, 스크립트를 사용하여 LightingSettings
오브젝트를 생성, 설정 및 할당해야 합니다. 자세한 내용과 코드 예제는 LightingSettings API 문서를 참조하십시오.
Unity는 자동으로 앰비언트 프로브 및 기본 반사 프로브를 생성하여 환경 조명이 기본적으로 씬과 그 안의 게임 오브젝트에 영향을 미치도록 합니다. 이 기능에 대한 자세한 내용은 SkyManager를 참조하십시오.
인스펙터 또는 라이팅 창에서 조명 설정 에셋을 확인하는 경우 확인하거나 편집할 수 있는 프로퍼티는 다음 섹션으로 이루어져 있습니다.
이 섹션에는 인라이튼 실시간 전역 조명 시스템과 관련된 설정이 포함되어 있습니다.
프로퍼티 | 기능 |
---|---|
Realtime Global Illumination | Enable this property to use the Enlighten Realtime Global Illumination system in Scenes that use this Lighting Settings Asset. |
Realtime Environment Lighting | 인라이튼 실시간 전역 조명 시스템을 사용하여 주변광을 실시간으로 계산하고 업데이트하려면 이 프로퍼티를 활성화합니다. 이 프로퍼티는 씬에서 인라이튼 실시간 전역 조명 및 베이크된 전역 조명이 모두 활성화된 경우에만 사용할 수 있습니다. |
Indirect Resolution | Specifies the number of texels per unit to use for realtime lightmaps. Increasing this value improves lightmap quality, but also increases render time. This property is only available if you enable Realtime Global Illumination. |
이 섹션에는 조명 설정 에셋을 사용하는 씬 내 베이크된 광원 및 혼합 광원의 동작에 영향을 주는 설정이 나와 있습니다.
프로퍼티: | 기능: | |
---|---|---|
Baked Global Illumination | 이 설정을 활성화하면 Unity는 이 조명 설정 에셋을 사용하는 씬에 대해 베이크된 전역 조명 시스템을 활성화합니다. 이 설정을 비활성화하면 Unity는 이 조명 설정 에셋을 사용하는 씬에 대해 베이크된 전역 조명 시스템을 비활성화합니다. 베이크된 전역 조명 시스템을 활성화하면 Unity는 라이트매핑의 경우에만 씬에서 베이크된 광원을 사용하고, 혼합 광원은 Lighting Mode 설정에 따라 동작합니다. 베이크된 전역 조명 시스템을 비활성화하면 Unity는 씬의 모든 베이크된 광원과 혼합 광원이 실시간 광원처럼 동작하도록 강제로 지정합니다. |
|
Lighting Mode | Unity가 이 조명 설정 에셋을 사용하는 씬 내 모든 혼합 광원에 사용할 조명 모드를 지정합니다. 조명 모드를 변경하면 이 조명 설정 에셋을 사용하는 씬의 조명 데이터를 다시 베이크해야 합니다. |
|
Baked Indirect | 이 조명 설정 에셋을 사용하는 씬 내 모든 혼합 광원에 Baked Indirect 조명 모드를 사용합니다. | |
Subtractive | 이 조명 설정 애셋을 사용하는 씬의 모든 혼합 조명에 대해 서브트랙티브 조명 모드를 사용합니다. |
|
Shadowmask | 이 조명 설정 애셋을 사용하는 씬의 모든 혼합 조명에 대해 섀도우 마스크 조명 모드를 사용합니다. |
프로퍼티 | 기능 |
---|---|
Lightmap Resolution | 라이트맵에 사용할 단위당 텍셀 수를 지정합니다. 이 값을 높게 설정하면 라이트맵 품질이 개선되지만 베이크 시간도 늘어납니다. 이 값을 두 배로 늘리면 라이트맵의 높이와 너비가 모두 2배가 되기 때문에 텍셀 수는 4배로 증가합니다. 조명 창의 통계 영역에서 Occupied texels 수를 확인할 수 있습니다. |
Lightmap Padding | 베이크된 라이트맵의 개별 셰이프 간 간격을 텍셀 단위로 결정합니다. 기본값은 2입니다. |
Max Lightmap Size | 개별로 포함된 게임 오브젝트 영역을 통합하는 전체 라이트맵 텍스처의 크기(픽셀 단위)를 지정합니다. 기본값은 1024입니다. |
Lightmap compression | 에디터가 라이트맵에 사용하는 압축 수준입니다. - None: 라이트맵을 압축하지 않습니다. - Low Quality: 보통 품질보다 메모리와 저장 공간을 덜 사용하지만 시각적 결함이 발생할 수도 있습니다. - Normal Quality: 메모리 사용량과 화질 사이의 균형을 유지합니다. - High Quality: 보통 품질보다 더 많은 메모리와 저장 공간이 필요하지만 더 나은 시각적 결과를 제공합니다. |
Ambient Occlusion | 베이크된 앰비언트 오클루전에서 상대 표면 밝기를 제어할 수 있습니다. 이것은 조명을 베이크하는데 사용하는 라이트매퍼에 의해 계산된 간접 조명에만 적용됩니다. 기본적으로 활성화되어 있습니다. 앰비언트 오클루전이 활성화되면 최대 거리, 간접 조정, 직접 조정의 세 가지 설정이 노출됩니다. 세 가지 설정 모두 값이 높을수록 오클루전된 영역과 조명을 완전히 받은 영역 간의 콘트라스트가 더욱 증가합니다. |
Max Distance | 오브젝트에 오클루전을 적용할지 결정하기 위해 조명 시스템에서 광선을 투사하는 거리를 지정합니다. 값이 높을수록 더 긴 광선이 생성되고 라이트맵에 그림자가 더 많이 추가되는 한편, 값이 낮을수록 오브젝트가 서로 매우 가까이에 있는 경우에만 그림자를 추가하는 더 짧은 광선이 생성됩니다. 값을 0으로 설정하면 최대 거리가 없는 무한하게 긴 광선이 투사됩니다. 기본값은 1입니다. |
Indirect Contribution | 최종 라이트맵의 오브젝트에서 바운스되고 방출되는 간접 주변광의 밝기를 스케일합니다. 0과 10 사이의 값으로 기본값은 1입니다. 값이 1보다 작으면 강도가 감소하고 값이 1보다 크면 증가합니다. |
Direct Contribution | 직접광의 밝기를 스케일합니다. 0과 10사이의 값으로 기본값은 0입니다. 값이 높을수록 에디터가 직접 조명에 적용하는 콘트라스트가 증가합니다. |
Directional Mode | 오브젝트 표면의 각 포인트에서 가장 우세하게 비추는 광원의 특성에 관한 정보를 저장할 수 있는 라이트맵을 활성화합니다. 자세한 내용은 방향성 라이트매핑을 참조하십시오. 기본 모드는 Directional입니다. |
Directional | Directional 모드에서 Unity는 광원에서 비추는 우세한 방향을 저장하는 두 번째 라이트맵을 생성합니다. 이를 통해 디퓨즈 노멀 매핑된 머티리얼을 전역 조명 시스템과 연동할 수 있습니다. 셰이더는 렌더링하는 동안 두 개의 라이트맵 텍스처를 샘플링합니다. 결과적으로 방향성 모드는 추가 라이트맵 데이터를 위해 비방향성 모드보다 약 2배의 비디오 메모리를 필요로 합니다. 추가 방향성 텍스처를 생성하면 베이킹 성능에 영향을 줍니다. 방향 라이트맵은 SM2.0 하드웨어에서 또는 GLES2.0을 사용할 때 디코드할 수 없습니다. |
Non-directional | Non-directional 모드 라이트맵에는하나의 텍스처만 포함됩니다. 결과적으로 방향 라이트맵보다 비디오 메모리와 저장 공간이 적게 필요하며 셰이더에서 더 빠르게 디코드할 수 있습니다. 이러한 최적화는 화질을 저하합니다. |
Indirect Intensity | 실시간 및 베이크된 라이트맵에 저장되는 간접광의 밝기를 결정합니다. 0과 5 사이의 값입니다. 값을 1보다 크게 설정하면 간접광의 강도가 증가하고, 값을 1보다 작게 설정하면 간접광의 강도가 감소합니다. 기본값은 1입니다. |
Albedo Boost | Unity가 표면 사이에서 바운스하는 광원의 양을 지정합니다. 이 값은 1에서 10 사이입니다. 이 값을 높게 설정할수록 간접광 계산을 위해 알베도 값을 흰색으로 끌어옵니다. 기본값은 1이며 물리적으로 정확합니다. |
Lightmap Parameters | 라이트맵 파라미터 에셋은 베이크된 전역 조명과 관련된 설정 값을 저장합니다. 에디터는 선택할 수 있는 몇 가지 기본 라이트맵 파라미터 에셋을 제공하지만 Create New 옵션을 사용하여 자체 라이트맵 파라미터 파일을 만들 수도 있습니다. 자세한 내용은 라이트맵 파라미터를 참조하십시오. 기본값은 Default-Medium입니다. 옵션은 Default-Medium, Default-HighResolution, Default-LowResolution 및 Default-VeryLowResolution입니다. |
일부 설정은 특정 라이트매퍼 백엔드에 한정됩니다. 해당 설정을 보려면 관련 라이트매퍼 페이지를 방문하십시오.
인스펙터에서 조명 설정 에셋을 확인하는 경우 이 프로퍼티는 인스펙터 상단에 표시됩니다. 라이팅 창에서 조명 설정 에셋을 확인하는 경우 이 프로퍼티는 라이팅 창 하단의 Generate Lighting 버튼 옆에 표시됩니다.
프로퍼티 | 기능: |
---|---|
Auto Generate | If Auto Generate is enabled, Unity precomputes lighting data automatically when you make changes to the Scene. This data includes lightmaps for the Baked Global Illumination system, data for the Enlighten Realtime Global Illumination system, Light Probes, and Reflection Probes. Unity usually begins the bake a few seconds after you make a change to the Scene. If Auto Generate is disabled, you must manually invoke a bake yourself, using the Generate Lighting button in the Lighting window, or the Lightmapping.Bake or Lightmapping.BakeAsync APIs. Note that when you precompute lighting data using Auto Generate, the precomputed lighting data is not stored as Assets in your Project. It is instead stored in memory, and serialized as part of the Scene. |