reckfellENGINE

OmniLight3D

Omnidirectional light, such as a light bulb or a candle.

On this page
class OmniLight3DReckfellSharpInherits Light3D

Omnidirectional light, such as a light bulb or a candle.

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. Note: When using the Mobile rendering method, only 8 omni lights can be displayed on each mesh resource. Attempting to display more than 8 omni lights on a single mesh resource will result in omni lights flickering in and out as the camera moves. When using the Compatibility rendering method, only 8 omni lights can be displayed on each mesh resource by default, but this can be increased by adjusting ProjectSettings.rendering/limits/opengl/max_lights_per_object. Note: When using the Mobile or Compatibility rendering methods, omni lights will only correctly affect meshes whose visibility AABB intersects with the light's AABB. If using a shader to deform the mesh in a way that makes it go outside its AABB, GeometryInstance3D.ExtraCullMargin must be increased on the mesh. Otherwise, the light may not be visible on the mesh.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

OmniLight3DConstructor
# OmniLight3D
C#
public OmniLight3D();

Properties3

OmniAttenuationProperty
# OmniAttenuation
C#
public float OmniAttenuation { get; set; }

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.

OmniRangeProperty
# OmniRange
C#
public float OmniRange { get; set; }

Point-light influence range in world units, subject to its transform. A larger range covers more space; LightEnergy does not expand it automatically. Range 0.2 excludes surfaces lit at 8 in the example.

OmniShadowModeProperty
# OmniShadowMode
C#
public OmniLight3D.ShadowMode OmniShadowMode { get; set; }

Methods2

GetShadowModeOmniLight3D.ShadowMode
# GetShadowMode
C#
public OmniLight3D.ShadowMode GetShadowMode();
Returns OmniLight3D.ShadowMode
SetShadowModevoid
# SetShadowMode
C#
public void SetShadowMode(OmniLight3D.ShadowMode mode);
Parameters
NameTypeDefault
modeOmniLight3D.ShadowMode—

OmniLight3D.ShadowMode

ValueDescription
Cube = 1

Shadows are rendered to a cubemap. Slower than OmniLight3D.ShadowMode.DualParaboloid, but higher-quality.

DualParaboloid = 0

Shadows are rendered to a dual-paraboloid texture. Faster than OmniLight3D.ShadowMode.Cube, but lower-quality.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.