BakeProgressState.SetTotalWorkSteps
Declaration
public void SetTotalWorkSteps(ulong total);Параметры
| Параметр | Описание |
|---|---|
| Итого | Общее количество рабочих шагов. |
Описание
Задаёт общее количество рабочих шагов для состояния прогресса. Количество завершённых шагов увеличивается методом IncrementCompletedWorkSteps.
Настраивает общую ожидаемую работу для расчета прогресса. Это значение используется в качестве знаменателя при расчете процента прогресса. Общая сумма должна представлять значимые единицы работы для выполняемой операции.
Руководство по установке общих шагов:
— Используйте последовательные единицы (e.g., количество обработанных зондов). — Оценка должна быть консервативной, чтобы избежать обратного прогресса. — Рассмотрите возможность разделения больших операций на подоперации с их собственными суммами. — Установите общую сумму перед началом работы и избегайте изменения ее во время выполнения.
// Configure progress for different operation types using var progress = new BakeProgressState();
// For probe integration: total = number of probes int probeCount = 256; progress.SetTotalWorkSteps((ulong)probeCount); integrator.SetProgressReporter(progress);
// For world population: estimate based on scene complexity int estimatedSteps = input.bakeInput.instanceCount + input.bakeInput.meshCount * 10; progress.SetTotalWorkSteps((ulong)estimatedSteps); InputExtraction.PopulateWorld(input, progress, context, world);
// For custom operations: use logical work units int totalTextures = materials.Length; progress.SetTotalWorkSteps((ulong)totalTextures); foreach (var material in materials) { ProcessMaterialTextures(material); progress.IncrementCompletedWorkSteps(1); }