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

InputExtraction.ExtractFromScene

Declaration

public static bool ExtractFromScene(out LightTransport.InputExtraction.BakeInput bakeInput, bool probesOnly);
public static bool ExtractFromScene(out LightTransport.InputExtraction.BakeInput bakeInput);

Параметры

Параметр Описание
bakeInput Выходной параметр, который получает извлеченные данные сцены.
probesOnly Извлекать ли только данные, необходимые для тестирования печенья. Установка в false пропустит упаковку карт.

Возвращаемое значение

логическое True, если извлечение завершено успешно, false, если возникли ошибки.

Описание

Извлечение всех соответствующих данных сцены для расчетов легких транспортных средств из текущих открытых сцен.

Этот метод сканирует все открытые сцены и извлекает объекты, которые влияют на расчеты глобального освещения.

Геометрия: - MeshRenderer компоненты со статическими флагами или с включённым «Contribute GI». — Terrain объекты с печеным освещением, включая деревья. — Ассоциированные Material свойства и текстуры.

Освещение: - Light - настройки освещения окружающей среды и системы " skybox ". — группы световых зондов (LightProbeGroup).

Выходные данные: Полученный результат BakeInput содержит предварительно обработанные данные, готовые для PopulateWorld. Объекты, не помеченные как статические или не влияющие на GI, исключаются автоматически.

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

// Extract scene data for baking
bool extractionSuccess = InputExtraction.ExtractFromScene(out var bakeInput);
if (!extractionSuccess)
{
    Debug.LogError("Failed to extract scene data for light baking");
    return;
}

// Proceed with context creation and world population using var context = new RadeonRaysContext(); context.Initialize(); var world = new RadeonRaysWorld(); using var progress = new BakeProgressState();

bool populateSuccess = InputExtraction.PopulateWorld(bakeInput, progress, context, world); Assert.IsTrue(populateSuccess);