Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Световые зонды и загрузка сцены

Unity обновляет свои Light ProbeLight Probe хранят информацию о том, как свет проходит через пространство в вашей сцене. Набор световых зондов, расположенных в заданном пространстве, может улучшить освещение движущихся объектов и статических пейзажей LOD в этом пространстве. Подробнее
См. в Словарь
по-разному в зависимости от того, как вы загружаете или выгрузить СценыСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь
.

Unity использует объект C# LightProbes для хранения данных Light Probe для всех загруженных в данный момент сцен. Объект LightProbes содержит внутреннюю структуру данных, называемую тетраэдрической мозаикой. Unity использует тетраэдрическую тесселяцию в своих расчетах, чтобы определить, как Light Probes освещают GameObjectsфундаментальный объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь
.

Когда вы загружаете или выгружаете Сцену, Unity автоматически обновляет объект LightProbes, чтобы он содержал позиции и коэффициенты всех Light Probes во всех загруженных в данный момент Сценах. Однако то, обновляет ли Unity тетраэдральную мозаику, зависит от того, как вы загружаете или выгружаете сцену.

Когда вы загружаете сцену с помощью LoadSceneMode.Single, Unity автоматически обновляет тетраэдральную тесселяцию как часть процесса загрузки. Когда вы загружаете сцену с помощью LoadSceneMode.Additive или выгружаете сцену с помощью UnloadSceneAsync, Unity не обновляет тетраэдральную мозаику.

Если Unity выполняет расчеты с использованием устаревшей тетраэдрической тесселяции, в результатах не учитываются новые загруженные или выгруженные Light Probes. Это означает, что световые зонды могут не освещать игровые объекты должным образом и вызывать LightProbes.CalculateInterpolatedLightAndOcclusionProbes() или LightProbes.GetInterpolatedProbe() может возвращать неожиданные результаты.

Чтобы заставить Unity обновить тетраэдральную мозаику, вы можете вызвать LightProbes.Tetrahedralize или LightProbes.TetrahedralizeAsync(). Эти функции заставляют Unity обновлять тетраэдральную мозаику данными со всех Light Probes для всех загруженных в данный момент сцен.

Обновление тетраэдрической тесселяции сильно загружает ЦП, а нагрузка на ЦП увеличивается с увеличением количества световых зондов. Если вы загружаете и выгружаете несколько сцен и испытываете влияние на производительность при обновлении тетраэдрической тесселяции, то может быть полезно отложить обновление до тех пор, пока вы не загрузите или не выгрузите определенное количество контента, или до момента, когда влияние ЦП вряд ли повлияет на производительность вашего приложения.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3