FalloffType
перечисление
Описание
Модели падения для использования для легкой запекания backend.
Модель падения освещенности описывает, как интенсивность света уменьшается (падает) с расстоянием от источника.
Это перечисление позволяет SRPs или пользовательским реализациям освещения четко указать, как должны вести себя огни, когда они обрабатываются глобальной иллюминацией light baking backends.
В приведенном ниже примере используется FalloffType в делегировании для использования с Lightmapping.SetDelegate. Делегатор заставляет все дисковые огни в сцене быть запеченными с моделью падения InverseSquared.
using Unity.Collections; using UnityEngine; using UnityEngine.Experimental.GlobalIllumination;
internal static class MyLightBakingUtils { public static Lightmapping.RequestLightsDelegate BakeFalloffInverseSquaredDelegate = (Light[] requests, NativeArray<LightDataGI> lightsOutput) => { LightDataGI lightData = new ();
// Iterate over all lights in the scene for (int i = 0; i < requests.Length; i++) { Light light = requests[i];
switch (light.type) { case UnityEngine.LightType.Disc: DiscLight discLight = new DiscLight(); LightmapperUtils.Extract(light, ref discLight); discLight.mode = LightMode.Baked; lightData.Init(ref discLight); break; case UnityEngine.LightType.Spot: case UnityEngine.LightType.Directional: case UnityEngine.LightType.Point: case UnityEngine.LightType.Rectangle: case UnityEngine.LightType.Pyramid: case UnityEngine.LightType.Box: case UnityEngine.LightType.Tube: default: lightData.InitNoBake(light.GetEntityId()); break; }
lightData.falloff = FalloffType.InverseSquared; lightsOutput[i] = lightData; } }; }
Свойства
| Свойство | Описание |
|---|---|
| InverseSquared | Модель падения с использованием обратного квадрата расстояния. |
| InverseSquaredNoRangeAttenuation | Модель падения расстояния с обратным квадратом (без плавного ослабления диапазона). |
| Linear | Модель линейного падения. |
| Legacy | Квадратическая модель падения. |
| Undefined | Модель падения не определена. |