Skip to content

User Interface

Davor Bokun edited this page Feb 8, 2020 · 6 revisions

Planetesimal Component

Core component for setting up the atmospheric scattering effect properties.


Planetesimal Cache Actions

Broadcast Cached Parameters

Broadcasts cached material parameters to linked Planetesimal Material Components and calls raw update functions.

Recalculate Maps

Recalculate rho map and phase curves for the Planetesimal (reads rho map from cache if available). Can be used to update atmospheric compounds database changes.

Store Rho Map Cache

Store optical density map (rho map) cache as asset for fast loading. Map are stored as texture assets in directory defined by Maps Cache Directory in the Project Settings for the Planetesimal plugin.

Rho Map Source

Read-only property indicating whether the optical density map (rho map) has been stored as an asset for fast reloading or not.

Planetesimal

Manually Update Slow

Handle OnMaterialSlowParametersChange manually and call BroadcastSlowParamsUpdate to propagate the change. See ManualUpdatesAndAnimations for more.

Manually Update Fast

Handle OnMaterialFastParametersChange manually and call BroadcastFastParamsUpdate to propagate the change. See ManualUpdatesAndAnimations for more.

Star Map

Default Star Map used by material dispatchers bound to this planetesimal.

Atmosphere

Atmosphere geometry and content essentials defined as real world physical properties.

Mean Temperature [K]

Mean temperature of the atmosphere. Together with surface gravity affects the extent of the exponential layer containing atmospheric gases.

Surface Pressure [kPa]

Mean atmospheric pressure on the surface of the planetesimal. Surface pressure defines the overall density of atmospheric gases which correlates directly to the amount of atmospheric light scattering.

Surface Density [g/cm^3] - READ ONLY

Calculated density of atmospheric gases on the planetesimal surface.

Atmosphere Thickness [km] - READ ONLY

Calculated thickness of the exponential atmospheric gases layer.

Atmosphere Extent [km] - READ ONLY

Total extent of the visible atmosphere including additional user defined troposphere and airglow layers.

Tropopause Altitude [km]

Altitude of the tropopause layer. Also defines the troposphere layer thickness.

Tropopause Thickness [km]

Tropopause layer thickness. Also defines the troposphere layer falloff.

Airglow Altitude [km]

Altitude of the airglow layer.

Airglow Thickness [km]

Airglow layer thickness.

Atmosphere Composition
  • Gases - Fraction of each Atmospheric Component
  • Aerosol - Distribution of each Aerosol Component over atmospheric layers (troposphere, tropopause, airglow, gases)
  • Emissive - Distribution of each Emissive Component over atmospheric layers (troposphere, tropopause, airglow, gases)
Derived Optical Properties - READ ONLY

Summary of derived atmosphere optical properties mainly for analytic and debug purposes.

Atmosphere Rendering

Planetesimal Stencil

Planetesimal stencil ID used with Custom Depth Stencil for advanced sorting implementation. See ResolvingDoubleIntensity for more information.

E Range Method

E-range calculation method. Can be one of the following:

  • Average - Calculate by averaging absorption spectrum components
  • Min - Calculate by using min of all absorption spectrum components
  • Max - Calculate by using max of all absorption spectrum components
E Range Extinction Threshold

E-range calculation extinction threshold.

D Line Method

D-line calculation method. Can be one of the following:

  • Average - Calculate by averaging absorption spectrum components
  • Min - Calculate by using min of all absorption spectrum components
  • Max - Calculate by using max of all absorption spectrum components
D Line Extinction Threshold

D-line calculation extinction threshold.

D Line Altitude [km] - READ ONLY

Calculated D-line altitude.

Atmosphere Shadow

Shadow Color

Shadow color, i.e. surface illumination dimming modifier.

Shadow Softness

Shadow falloff softness.

Shadow Offset [km]

Shadow radial offset from the planetesimal surface (can be negative to lower the shadow).

Body Translucency

Planetesimal body translucency for all raycasts.

Atmosphere Database

Atmospheric Gases Database

Atmospheric gas components database asset.

Aerosol Components Database

Aerosol components database asset.

Emissive Components Database

Emissive components database asset.

World

This section defines how the planetesimal physical geometric properties relate to Unreal Engine Units. For convenience the relation is defined by specifying the mesh size and what the referent Earth size would be rather than scale ratio. These setting drive the values provided by OnPlanetScaleChanged and OnAtmosphereScaleChanged interface function calls.

Referent Earth Size [UU]

Referent Earth size in Unreal units.

Planetesimal Mesh Size [UU]

Planetesimal mesh default size in Unreal units.

Cached Data

These settings define the properties of precalculated optical density map and phase curves texture associated with this planetesimal.

Rho Map Resolution

Resolution of a two-dimensional precalculated optical density map (rho map). Calculation time increases with the square of the resolution. This value should always be a power of two and typical values usually do not excede 1024 although the hard limit is set to 4096. The indication for low rho map resolution issues is banding of colors with respect to height within the atmospheric cloud.

Rho Integration Steps

Number of light path integration steps for optical density map. Calculation time increases linearly with respect to number of integration steps. Indication for increasing this number is missing thin optical layer (tropopause or airglow layer) and/or color banding issues concentric with respect to planetesimal's radial vector. Meaning that the thin atmospheric layer is not adequately sampled during integration process and shows aliasing issues as the ray angle varies.

Phase Curves Resolution

Resolution of scattering phase function curves. Increasing this value does not affect rho map calculation time but rather phase curves texture rendering time. The dependence is linear but the effect might be significant if manual update of slow parameters is performed (see ManualUpdatesAndAnimations for more). Indication of phase curves resolution issues is banding around the Sun location.

Body

These properties are inherited from Planetesimal Body Component which serves not only for defining atmospheric properties but orbital motion and stellar map rendering as well. All of the properties in this section are tightly interconnected and recalculate in a meaningful and intuitive way when any one of them changes. However, only Mean Radius and Surface Gravity are relevant to the atmosphere rendering. The rest are included for completeness.

Mean Radius [km]

Mean radius of the celestial body.

Surface Gravity [m/s^2]

Gravity at the surface of the planetesimal.

Planetesimal Cached Parameters

Read-only derived material parameters passed to dynamic material instances directly or through dispatching Planetesimal Material Component. Cached parameters are grouped into structures based on recommended update frequency.

Cached Parameters Sun

Sun Color and Location.

Cached Parameters Persistent

Precalculated optical density (rho) map not intended to be changed very often since updating, loading or recalculating it can be slow.

Cached Parameters Slow

Phase curves texture and related material parameters which can be recalculated real-time but cost performance and should be updated wisely.

Cached Parameters Fast

Simple derived material parameters which can be updated real-time without noticeable performance impact. These values can be copy/pasted and used in ManualUpdatesAndAnimations to animate the atmosphere.

Planetesimal Material Component

Utility component for setting up dynamic material instances in both the editor and in game.

NOTE: Use of this component is optional. The atmospheric scattering effect can be set up without it.


Planetesimal

A reference to an actor containing a single Planetesimal Component which defines the atmosphere properties. Can be changed in run-time via blueprints to transition an object from one planetesimal to another.

MaterialRegistrationMethod

A method used for automatized dynamic material instances generation. Can be one of the following:

  • RegisterAll - All materials found in all actor's components will be instanced as dynamic
  • ByComponentTags - All materials found in tagged components will be instanced as dynamic and registered. Recognized tags are "PlanetesimalATM" for atmosphere and "PlanetesimalSRF" * for surface mesh
  • UseMaterialsList - Materials listed in the Material Selection List from any of the actor's components will be instanced as dynamic
  • UseMaterialsListByTags - Materials from tagged components and listed in the Material Selection List will be instanced as dynamic
  • **FullyManual **[default] - Manually register dynamic material instances via the Register Material Instance method

NOTE: The default value (FullyManual) must be selected in the blueprint class. Only level instances should use other values otherwise unpredictable behavior can occur.

MaterialSelecionList

List of Planetesimal materials to look for and replace with dynamic instances in the actor.

ManualMaterialsCache

List of manually registered dynamic material instances.

AutoMaterialsCache

List of automatically created dynamic material instances.

ReconstructCache

Original materials cache keyed by component Path Name relative to the Owner actor. Used for automatically reverting materials to original state.

Planetesimal Plugin Settings

Project wide settings for Planetesimal Plugin.


Maps Cache Directory [Name=/Game/Planetesimal/Cache]

Project content directory for storing cached Planetesimal rho maps.

Atmospheric Constituents Database

Atmospheric Constituents Database is a collection of optical properties for various gases and particles that can be found in planet atmospheres. It consists of Data Table assets with three types of Data Table Row Structures: AtmosphericGas, Aerosol, and EmissiveComponent.

Planetesimal Plugin comes with a default database in form of three predefined Data Table assets, one for each atmospheric constituent type, but they can be freely expanded, edited or replaced to produce a different visual style.

Atmospheric Gases Database

Data Table asset based on AtmosphericGas row structure. Optical properties include Absorption Spectrum and Scattering Function Components, while the Molar Mass enables the Planetesimal Component to calculate physically correct atmosphere extent and gradient (based on average Molar Mass of atmospheric gases together with Mean Temperature and Surface Gravity).

Aerosols Database

Data Table asset based on Aerosol row structure. Optical properties include Absorption Spectrum and Scattering Function Components.

Emissive (Ionized) Gases Database

Data Table asset based on EmissiveComponent row structure. The simplest of the three with only Emissive Spectrum defining it's optical properties.

Clone this wiki locally