Blog devupdate
Development Update – 2019 Review
December 23, 2019
Blog Contupdate
Content Update – New Models
May 25, 2020

Development Update – Engine Upgrade and Major Code Refactoring

April 30, 2020

Infinite Studio team have implemented a plethora of updates in preparation for the 3.8.0 release.

Engine Upgrade

With the next release of Infinite Studio, the engine will be upgraded to Unreal Engine 4.24. This update includes some exciting improvements to Ray Tracing which will further enhance our particle systems.

For a full breakdown of what that engine upgrade includes, please see the Unreal Engine website.

MODTRAN Upgrade

Infinite Studio now supports MODTRAN version 6.0.2. We also included some code refactoring to reduce memory usage when generating atmospheres.

Camera Refactor

We’ve identified a number of improvements to be made on our existing camera model, which have now been implemented as part of our camera refactor. This led to us researching to better understand the processing of a digital camera and come up with an alternate model. We wanted to ensure a flexible approach to the model where different noise types can be easily inserted into the pipeline. 

The below diagram show the processing steps of the model.  Each block is configurable, allowing the user to define parameters such as:

  • Radiance To Photons
    • Shutter Speed
    • Aperture
    • Pixel Pitch
  • Digital Level
    • ADC Gain (e-/ADU)
    • Offset (e-)
    • ADC Bits
  • Photons to Electrons:
    • Quantum efficiency (mean + stdev, or supply your own map)
    • Well Capacity
    • Dark Current (e-/sec)
    • Read Noise (e-)

image2020 5 21 12 7 40

Processing steps of our new camera model

Wake Development

We have now implemented low fidelity, high performance wakes within Infinite Studio. The wake patterns implemented are Turbulent and Kelvin and below are multiple screenshots demonstrating their implementation.

For the Kelvin Wake system, the approach taken was to use a decal to paint normals onto the ocean surface, giving the appearance of waves. The Turbulent Wake system uses a ribbon particle system with a texture applied as this was found to be the least performance intensive method, whilst still looking realistic.

image2020 5 13 12 53 9image2020 5 13 12 53 9
These four screenshots from Infinite Studio show various ships and submarines with high performance Turbulent wakes and Kelvin wakes applied.

Ocean Update – Code and Transparency

There have been multiple updates to our Infinite Ocean. We have improved the code and performance of the ocean grid, and also have converted the ocean Blueprint to a C++ class.

image2020 5 13 12 48 14image2020 5 13 12 48 14
A compiled screenshot from Infinite Studio showing how to access the Infinite Ocean Actor from the Modes window, as well as its top level detail panel.

Additionally, work was completed to successfully implement a transparent ocean, and create realistic look silhouettes of submerged objects.

image2020 5 13 12 59 34image2020 5 13 12 59 34
The above screenshots capture the silhouetting capability of the transparent ocean in Infinite Studio

Vehicle Changes

A large update is coming soon with our vehicle system which aims to improve how the vehicles work in a High Tick multi-player networking environment.

Each component of the drive train is being reconfigured into an individual asset to allow for higher customisation of vehicles. This will allow the user for example, to add an Engine asset to their blueprint and simply edit the inputs to match the specifications of the vehicle being modelled.

There will also be an option integrated to allow for an Automatic transmission if driving a Manual transmission vehicle is not for you!

Radiometry

  • Infinite Studio has multiple custom nodes that have been programmed to allow the integration of Spectral Materials into the existing Unreal Engine material system

  • Infinite Studio provides a large Spectral Material Library sourced from publicly available databases such as ECOsystem Spaceborne Thermal Radiometer Experiment on Space Station (ECOSTRESS) Spectral Library, which encompasses the Advanced Spaceborne Thermal Emission Reflection Radiometer (ASTER) Spectral Library

  • Materials are defined using real data for spectral reflectivity, emissivity, transmission, and roughness
  • Infinite Studio currently supports MODTRAN for verified high-fidelity atmospheric calculations

    The following data is computed in-band:
  • Transmission and Radiance (Scatter & Thermal) lookup tables for applying to the scene in real-time

  • Solar and lunar irradiance for applying sun and moon directional light source intensities

  • Ambient sky lighting (global illumination)
  • Fully Volumetric Cloud modelling using MODTRAN to obtain transmission and path radiance values across cloud density

  • Supports lighting, transmissions and secondary effects such as cloud shadows and cloud reflections

  • User customisable Weather and Noise Maps for cloud shape

  • Adjustable coverage levels, cloud altitude, wind speed, cloud density and many other parameters in editor

  • Ability to add individual cloud volumes and control placement, as well as an overall bulk layer property
  • Ability to pre-calculate higher fidelity surface temperatures for static background objects

  • In-band thermal emissions are evaluated by spectral integration

  • Grey body and selective radiators are implemented using spectral emissivity data

  • Camera and Sensor Modelling

    Stages of the In-Band Rendering Equation Solver:

  • Render Radiance Image: Detector Spectral Response, Resolution
  • Radiance to Photons conversion: Pixel Pitch, F-Stop, Shutter Speed, Lens Transmission
  • Photons to Electrons conversion: Quantum Efficiency, Full Well Capacity
  • Electrons to Counts: ADC Gain & Offset, ADC Bit Depth
  • At each stage of rendering, applicable noise sources are simulated and can be customised:

  • Dark Shot Noise: Dark current flows even when no photons are incident on the camera
  • Read Noise: Electronic Signal Noise resulting from sensor design
  • Photon Shot Noise: Statistical noise associated with the arrival of photons at the pixels
  • Fixed Pattern Noise: Caused by spatial non-uniformities of the pixels
  • Aliasing occurs when the rasterization process during rendering of a scene does not apply enough samples to a target resulting in scintillation artefacts

  • Long range targets subtending few pixels could wildly vary in intensity as sample points hit and miss the target all together

  • Zoom anti-aliasing is effectively rendering a part of the sensor image, a window, at a much higher resolution and averaging the image down to the original resolution, resulting in a more accurate distribution of energy

  • The advantage of this approach is that anti-aliasing can be adaptively applied to parts of the scene where it is needed optimizing performance by not applying it where it is not
  • External Control

    Available in C++, Python, and Java, the External Control API supports full control of the simulation, via TCP/IP, including commands to::

  • Simulation Control (Begin, End, Propagate)
  • Querying available assets by path, or type
  • Open and Load levels
  • Spawn, move & destroy actor assets
  • Custom message types

    Infinite Studio provides multiple example scripts, demonstrating the most commonly used features.
  • Trajectory: Trajectory Spline Actor provides actor scripted 6-DOF motion via time referenced dynamic state data.

  • Recording Tools: Record actor and sensor image data, for single or multi-runs, useful for post run analysis in third-party tools.

  • Waypoints: An experimental waypoint capability has been added for air, land & maritime platforms and includes infantry soldiers. Waypoints can be imported from CSV files, manually entered or added at runtime. Users can specify many options covering waypoint actions, including initial speed, speed between points, and end of course behaviour.
  • Target Labelling: Rendering of scenes with target pixel (stencil) labelling for training of neural networks, machine learning or data analytics tasks

  • Loop Controller: Orbits a camera about a given target at varying ranges writing captured image data to file. Customisable loop control for changing additional scene features; such as the environment (atmosphere, time of day, sea sate, etc.)
  • Machine Learning Stencil offMachine Learning Stencil on

    Maritime-Based Physics

  • Emissions: Based on Planck’s blackbody radiation equation for a specified ocean temperature

  • Reflections: Reflectance varies directionally according to the Fresnel Law of reflection

  • Transmittance: Optional transparent material applies translucent fogging to submerged objects based on depth/view angle
  • Fully customisable FFT based wave spectrum model of time-varying ocean height fields

    Wave height and chop driven by real world parameters, e.g:
  • Wind speed and direction
  • Ocean depth
  • Fetch length

  • Additional user customisation possible ranging from simple amplitude/property scaling through to complete user generated spectrum
  • Buoyant Forces: Surface Platforms use a finite element solution to calculate buoyancy and wave motion. Forces are then consolidated to the object’s centre of buoyancy, and corresponding moments are generated to affect the platform’s motion

  • Energy Conservation/Momentum Collisions: Each element approximates the change in energy due to the collision between the object surface and the fluid element

  • Limitations: Currently the buoyancy model only imparts forces from the fluid to the object (the high fidelity wakes model generates coupled surface wave motion)
  • High Fidelity Wakes: An experimental high-fidelity volume displaced wake implementation

  • High Performance Wakes: A high performance turbulent (foam) and kelvin wake implementation, allowing hundreds of wakes rendered on screen for real-time solutions
  • Additional Content and Features

    As well as demo maps, Infinite Studio provides you with the toolset to create your own real world landscapes

  • Street Map Importer: New real word scenes have been developed, with buildings, roads, railways, vegetation as imported from OpenStreetMap and terrain height data from the Registry of Open Data on AWS Global Dataset. You can also create and import your own custom height sampler

  • Real World Maps: Urban, rural, forests, grasslands, deserts, mountains, littoral and open ocean scenes can be quickly and accurately generated using Infinite Studio
  • Infinite Studio can provide the tools to create and edit your own assets, in addition to a library of Unrestricted Assets.

  • 3D model library of aircraft, ships, vehicles, weapons, people, infrastructure & nature assets pre-configured with multispectral materials

    Learn more on the Content page:
  • Multi-player networked scenario management for human-in-the-loop real-time simulations
  • Island Locale

    Rural Locale

    Urban Locale

    Curved Earth

    The Curved Earth Plugin implements a spherical Earth model based on the WGS84 reference ellipsoid and provides accurate projections for applications that require precise Earth curvature modelling.

    Two modes of operation are supported:
  • OpenStreetMap mode – applies materials to land-use areas defined by OSM data.
  • Blue Marble mode – uses NASA’s Blue Marble satellite textures for surface rendering.

    This approach ensures optimised performance and scalable rendering of the spherical Earth model across different zoom levels and viewing angles.
  • Asset Packs

    For more video turntables of our 3D assets, click on the buttons:

    Night Sky