An Omnidirectional light is a type of Light3D that emits light in all directions. The light is attenuated by distance and this attenuation can be configured by changing its energy, radius, and attenuation parameters.
SHADOW_DUAL_PARABOLOID = 0
Shadows are rendered to a dual-paraboloid texture. Faster than SHADOW_CUBE, but lower-quality.
SHADOW_CUBE = 1
Shadows are rendered to a cubemap. Slower than SHADOW_DUAL_PARABOLOID, but higher-quality.
Controls the distance attenuation function for omnilights.
A value of 0.0
will maintain a constant brightness through most of the range, but smoothly attenuate the light at the edge of the range. Use a value of 2.0
for physically accurate lights as it results in the proper inverse square attenutation.
Note: Setting attenuation to 2.0
or higher may result in distant objects receiving minimal light, even within range. For example, with a range of 4096
, an object at 100
units is attenuated by a factor of 0.0001
. With a default brightness of 1
, the light would not be visible at that distance.
Note: Using negative or values higher than 10.0
may lead to unexpected results.
The light's radius. Note that the effectively lit area may appear to be smaller depending on the omni_attenuation in use. No matter the omni_attenuation in use, the light will never reach anything outside this radius.
Note: omni_range is not affected by Node3D.scale (the light's scale or its parent's scale).
See ShadowMode.