EnvironmentSettings class Lighting and environment

A copyable, interpolatable snapshot of a Scene's scene-wide look.

Read one with Scene.environmentSettings and apply one by assigning it back. lerp blends two snapshots: continuous fields (exposure, intensities, color-grading and post-effect parameters) interpolate; discrete fields (the image-based-lighting environment, skybox, sky lighting, sun light, tone mapping operator, and each effect's enabled flag) switch at the halfway point so the endpoints reproduce the inputs exactly. To cross-fade an effect on or off smoothly, animate its amount (e.g. bloom intensity) rather than relying on the flag.

A typical scripted transition drives t from an animation each frame:

scene.environmentSettings = EnvironmentSettings.lerp(dayLook, nightLook, t);

Constructors

EnvironmentSettings({EnvironmentMap? environment, Matrix3? environmentTransform, Skybox? skybox, SkyEnvironment? skyEnvironment, SunLight? sunLight, ToneMappingMode toneMapping = ToneMappingMode.pbrNeutral, double agxWhite = 16.29, double agxContrast = 1.25, double environmentIntensity = 1.0, double exposure = 1.0, bool colorGradingEnabled = false, double brightness = 1.0, double contrast = 1.0, double saturation = 1.0, double temperature = 0.0, double tint = 0.0, Vector3? lift, Vector3? gamma, Vector3? gain, ColorLut? colorGradingLut, double colorGradingLutBlend = 1.0, bool bloomEnabled = false, double bloomThreshold = 1.0, double bloomIntensity = 0.15, double bloomScatter = 0.7, bool vignetteEnabled = false, double vignetteIntensity = 0.5, double vignetteRadius = 0.75, double vignetteSmoothness = 0.5, bool chromaticAberrationEnabled = false, double chromaticAberrationIntensity = 0.2, bool filmGrainEnabled = false, double filmGrainIntensity = 0.3, bool ambientOcclusionEnabled = false, AmbientOcclusionMethod ambientOcclusionMethod = AmbientOcclusionMethod.obscurance, double ambientOcclusionRadius = 0.33, double ambientOcclusionIntensity = 1.0, double ambientOcclusionBias = 0.07, double ambientOcclusionPower = 1.5, double ambientOcclusionDetail = 0.5, double ambientOcclusionHorizonAngle = 0.06, double ambientOcclusionDirectLightAffect = 0.0, double ambientOcclusionMultiBounce = 0.0, int ambientOcclusionSampleCount = 16, int ambientOcclusionSliceCount = 3, int ambientOcclusionStepsPerSlice = 3, bool ambientOcclusionVisibilityBitmask = false, double ambientOcclusionThickness = 0.5, double ambientOcclusionThicknessHeuristic = 0.004, bool ambientOcclusionBentNormals = false, double ambientOcclusionIndirectLight = 0.0, bool ambientOcclusionHalfResolution = true, bool ambientOcclusionDepthMipChain = false, SpecularAmbientOcclusionMode ambientOcclusionSpecularMode = SpecularAmbientOcclusionMode.none, bool screenSpaceReflectionsEnabled = false, double screenSpaceReflectionsIntensity = 1.0, double screenSpaceReflectionsMaxDistance = 24.4, double screenSpaceReflectionsThickness = 0.46, double screenSpaceReflectionsStride = 9.0, int screenSpaceReflectionsMaxSteps = 90, double screenSpaceReflectionsBlur = 0.3, double screenSpaceReflectionsDistanceFadeStart = 0.0, double screenSpaceReflectionsResolutionScale = 1.0, bool fogEnabled = false, FogMode fogMode = FogMode.exponential, Vector3? fogColor, double fogSkyColorInfluence = 0.0, double fogDensity = 0.02, double fogStart = 0.0, double fogEnd = 200.0, double fogMaxOpacity = 1.0, double fogCutoffDistance = 0.0, double fogHeight = 0.0, double fogHeightFalloff = 0.0, double fogSunInScatter = 0.0, double fogSunInScatterExponent = 8.0, bool godRaysEnabled = false, double godRaysIntensity = 1.0, double godRaysDensity = 0.5, double godRaysAnisotropy = 0.7, int godRaysStepCount = 24, double godRaysMaxDistance = 200.0, double godRaysJitter = 1.0, Vector3? godRaysColor, bool depthOfFieldEnabled = false, double depthOfFieldFocusDistance = 10.0, double depthOfFieldFStop = 2.8, double depthOfFieldFocalLength = 0.0, double depthOfFieldSensorHeight = 0.024, double depthOfFieldBlurScale = 1.0, double depthOfFieldMaxForegroundBlur = 24.0, double depthOfFieldMaxBackgroundBlur = 32.0, int depthOfFieldBladeCount = 0, double depthOfFieldBladeRotation = 0.0, double depthOfFieldBladeCurvature = 0.0, DepthOfFieldQuality depthOfFieldQuality = DepthOfFieldQuality.medium, bool autoExposureEnabled = false, double autoExposureStrength = 0.55, double autoExposureCompensation = 0.0, double autoExposureMinEv = -4.0, double autoExposureMaxEv = 4.0, double autoExposureSpeedUp = 3.0, double autoExposureSpeedDown = 1.0})
Creates a settings snapshot. Most callers use Scene.environmentSettings or EnvironmentSettings.lerp instead of this directly.
EnvironmentSettings.fromScene(Scene scene)
Reads the current look of scene into a snapshot. The IBL/sky references are shared (not deep-copied); the scalar look is captured by value.
factory

Properties

agxContrast double
getter/setter pair
agxWhite double
getter/setter pair
ambientOcclusionBentNormals bool
getter/setter pair
ambientOcclusionBias double
getter/setter pair
ambientOcclusionDepthMipChain bool
getter/setter pair
ambientOcclusionDetail double
getter/setter pair
ambientOcclusionDirectLightAffect double
getter/setter pair
ambientOcclusionEnabled bool
getter/setter pair
ambientOcclusionHalfResolution bool
getter/setter pair
ambientOcclusionHorizonAngle double
getter/setter pair
ambientOcclusionIndirectLight double
getter/setter pair
ambientOcclusionIntensity double
getter/setter pair
ambientOcclusionMethod AmbientOcclusionMethod
getter/setter pair
ambientOcclusionMultiBounce double
getter/setter pair
ambientOcclusionPower double
getter/setter pair
ambientOcclusionRadius double
getter/setter pair
ambientOcclusionSampleCount int
getter/setter pair
ambientOcclusionSliceCount int
getter/setter pair
ambientOcclusionSpecularMode SpecularAmbientOcclusionMode
getter/setter pair
ambientOcclusionStepsPerSlice int
getter/setter pair
ambientOcclusionThickness double
getter/setter pair
ambientOcclusionThicknessHeuristic double
getter/setter pair
ambientOcclusionVisibilityBitmask bool
getter/setter pair
autoExposureCompensation double
getter/setter pair
autoExposureEnabled bool
getter/setter pair
autoExposureMaxEv double
getter/setter pair
autoExposureMinEv double
getter/setter pair
autoExposureSpeedDown double
getter/setter pair
autoExposureSpeedUp double
getter/setter pair
autoExposureStrength double
getter/setter pair
bloomEnabled bool
getter/setter pair
bloomIntensity double
getter/setter pair
bloomScatter double
getter/setter pair
bloomThreshold double
getter/setter pair
brightness double
getter/setter pair
chromaticAberrationEnabled bool
getter/setter pair
chromaticAberrationIntensity double
getter/setter pair
colorGradingEnabled bool
getter/setter pair
colorGradingLut ColorLut?
getter/setter pair
colorGradingLutBlend double
getter/setter pair
contrast double
getter/setter pair
depthOfFieldBladeCount int
getter/setter pair
depthOfFieldBladeCurvature double
getter/setter pair
depthOfFieldBladeRotation double
getter/setter pair
depthOfFieldBlurScale double
getter/setter pair
depthOfFieldEnabled bool
getter/setter pair
depthOfFieldFocalLength double
getter/setter pair
depthOfFieldFocusDistance double
getter/setter pair
depthOfFieldFStop double
getter/setter pair
depthOfFieldMaxBackgroundBlur double
getter/setter pair
depthOfFieldMaxForegroundBlur double
getter/setter pair
depthOfFieldQuality DepthOfFieldQuality
getter/setter pair
depthOfFieldSensorHeight double
getter/setter pair
environment EnvironmentMap?
getter/setter pair
environmentIntensity double
getter/setter pair
environmentTransform ↔ Matrix3
getter/setter pair
exposure double
getter/setter pair
filmGrainEnabled bool
getter/setter pair
filmGrainIntensity double
getter/setter pair
fogColor ↔ Vector3
getter/setter pair
fogCutoffDistance double
getter/setter pair
fogDensity double
getter/setter pair
fogEnabled bool
getter/setter pair
fogEnd double
getter/setter pair
fogHeight double
getter/setter pair
fogHeightFalloff double
getter/setter pair
fogMaxOpacity double
getter/setter pair
fogMode FogMode
getter/setter pair
fogSkyColorInfluence double
getter/setter pair
fogStart double
getter/setter pair
fogSunInScatter double
getter/setter pair
fogSunInScatterExponent double
getter/setter pair
gain ↔ Vector3
getter/setter pair
gamma ↔ Vector3
getter/setter pair
godRaysAnisotropy double
getter/setter pair
godRaysColor ↔ Vector3
getter/setter pair
godRaysDensity double
getter/setter pair
godRaysEnabled bool
getter/setter pair
godRaysIntensity double
getter/setter pair
godRaysJitter double
getter/setter pair
godRaysMaxDistance double
getter/setter pair
godRaysStepCount int
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
lift ↔ Vector3
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
saturation double
getter/setter pair
screenSpaceReflectionsBlur double
getter/setter pair
screenSpaceReflectionsDistanceFadeStart double
getter/setter pair
screenSpaceReflectionsEnabled bool
getter/setter pair
screenSpaceReflectionsIntensity double
getter/setter pair
screenSpaceReflectionsMaxDistance double
getter/setter pair
screenSpaceReflectionsMaxSteps int
getter/setter pair
screenSpaceReflectionsResolutionScale double
getter/setter pair
screenSpaceReflectionsStride double
getter/setter pair
screenSpaceReflectionsThickness double
getter/setter pair
skybox Skybox?
getter/setter pair
skyEnvironment SkyEnvironment?
getter/setter pair
sunLight SunLight?
getter/setter pair
temperature double
getter/setter pair
tint double
getter/setter pair
toneMapping ToneMappingMode
getter/setter pair
vignetteEnabled bool
getter/setter pair
vignetteIntensity double
getter/setter pair
vignetteRadius double
getter/setter pair
vignetteSmoothness double
getter/setter pair

Methods

applyLookTo(Scene scene) → void
Applies the environment, sky, exposure, and tone mapping to scene.
applyTo(Scene scene) → void
Applies this snapshot to scene, mutating its live look fields.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

lerp(EnvironmentSettings a, EnvironmentSettings b, double t) EnvironmentSettings
Interpolates from a to b by t (0 = a, 1 = b). See the class doc for which fields blend and which switch.