Version: 2021.1
라이트 프로브와 메시 렌더러
라이트 프로브 프록시 볼륨 컴포넌트

라이트 프로브 및 씬 로딩

Unity는 씬의 로드 및 언로드 방식에 따라 라이트 프로브 데이터를 다르게 업데이트합니다.

Unity는 LightProbes C# 오브젝트를 사용하여 현재 로드된 모든 씬에 대한 라이트 프로브 데이터를 저장합니다. LightProbes 오브젝트에는 사면체화된 테셀레이션이라는 내부 데이터 구조가 들어 있습니다. Unity는 사면체화된 테셀레이션을 사용하여 라이트 프로브가 게임 오브젝트에 조명을 비추는 방식을 결정하기 위한 계산을 수행합니다.

씬을 로드하거나 언로드하면 Unity는 현재 로드된 모든 씬의 모든 라이트 프로브에 대한 포지션과 계수를 포함하도록 LightProbes 오브젝트를 자동으로 업데이트합니다. 하지만 Unity가 사면체화된 테셀레이션을 업데이트하는지 여부는 씬의 로드 또는 언로드 방식에 따라 다릅니다.

LoadSceneMode.Single을 사용하여 씬을 로드하면 Unity는 로드 프로세스의 일부로 사면체화된 테셀레이션을 자동으로 업데이트합니다. LoadSceneMode.Additive를 사용하여 씬을 로드하거나 UnloadSceneAsync를 사용하여 씬을 언로드하면 Unity는 사면체화된 테셀레이션을 업데이트하지 않습니다.

If Unity performs calculations using an out-of-date tetrahedral tessellation, the results do not take into account any newly loaded or unloaded Light Probes. This means that Light Probes might not light GameObjects as expected, and calls to LightProbes.CalculateInterpolatedLightAndOcclusionProbes() or LightProbes.GetInterpolatedProbe() might return unexpected results.

To force Unity to update the tetrahedral tessellation, you can call LightProbes.Tetrahedralize or LightProbes.TetrahedralizeAsync(). These functions cause Unity to update the tetrahedral tessellation with data from all Light Probes for all currently loaded Scenes.

사면체화된 테셀레이션을 업데이트하는 작업은 CPU 부하가 높으며, 라이트 프로브 개수가 많을수록 CPU에 미치는 영향이 증가합니다. 여러 개의 씬을 로드하거나 언로드할 때 사면체화된 테셀레이션의 업데이트로 인해 성능이 저하가 발생한다면 특정한 양의 콘텐츠를 로드하거나 언로드할 때까지 또는 CPU 부하가 애플리케이션 성능에 영향을 주지 않을 때까지 업데이트를 미루는 것이 좋습니다.

라이트 프로브와 메시 렌더러
라이트 프로브 프록시 볼륨 컴포넌트