Unity 6.3
0 онлайн 78 гостей 3 в системе
Вход

LightProbes.needsRetetrahedralization

Описание

Событие, вызванное при изменении числа находящихся в настоящее время в загрузке светочувствительных зондов в результате аддитивной загрузки или разгрузки сцены.

Для GameObjects, рендируемых с использованием данных светового зонда, Unity использует тетраэдральное пространственное отображение для вычисления, какие световые зонды использовать при рендеринге каждого GameObject на основе положения объекта.

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

Это событие needsRetetrahedralization запускается при добавочной загрузке или выгрузке сцен, содержащих данные светового зонда, что позволяет решить, когда следует вызвать LightProbes.Tetrahedralize или LightProbes.TetrahedralizeAsync для повторной тетраэдральной обработки данных светового зонда.

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

Таким образом, если вы загружаете или выгружаете сцены, которые содержат данные светового зонда, вы должны использовать это событие, чтобы определить, когда следует рететраэдрировать, а не полагаться на событие SceneManager.sceneLoaded, потому что при вызове события sceneLoaded новые данные светового зонда могут еще не быть обновлены.

Кроме того, если вы загружаете несколько сцен, каждая из которых содержит дополнительные данные светового зонда, вы должны подождать соответствующее число событий needsRetetrahedralization перед рететраэдризацией данных светового зонда, потому что перерасчет после каждого события будет занимать много времени и не нужен. Например, если вы добавочно загружаете пять сцен, каждая из которых содержит данные светового зонда, вы должны подождать всех пять событий needsRetetrahedralization перед вызовом событий LightProbes.Tetrahedralize или LightProbes.TetrahedralizeAsync.