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.environmentSettingsor EnvironmentSettings.lerp instead of this directly. - EnvironmentSettings.fromScene(Scene scene)
-
Reads the current look of
sceneinto 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
atobbyt(0 =a, 1 =b). See the class doc for which fields blend and which switch.