Light & Shadows specializes in synthetic imaging and the realization of real-time 3D solutions. We devote a significant part of our resources to research and development. Our main clients include Airbus Group, Airbus Helicopters, Alstom, ArcelorMittal, Arianespace, Dior, Dassault Aviation, Getinge, PSA, Renault, SEB, Saint Gobain, Technip, Unity, Vinci, and Zodiac Aerospace.
Check out the livestream of Arianespace’s Flight VV18 on April 28!
Partnership with Arianespace
Arianespace needs to communicate in a live show during missions, for professionals and the public, but they only have a few cameras on the floor, and very rarely onboard cameras.
Light & Shadows developed a dedicated 3D tool which is capable of reading simulation data from Arianespace, and can render photorealistic images of a mission, with real-time launcher states, position, orientation, real-time sun conditions, and real-time state of the ground stations that read the launcher data during the mission.
This tool is designed for the video director, who can reproduce a complete mission based on fully customizable virtual animated cameras. It’s a real-time application based on Unreal Engine 4 and web front technologies like React JS for the UI.
The app is used at each Arianespace mission (an average one per month) to visualize the launcher state for the Ariane 5, Vega and Soyouz missions.
So far, we’ve produced 3 launchers: Ariane 5, Vega, and Soyouz. We are also going to produce future launchers: Ariane 6 and Vega C. We used several sources like 3D models, drawings, and official pictures.
The physical aspect of the launchers, regarding geometry, textures and materials, and particle effects used to simulate engines flames and smoke were fully validated by Arianespace’s launcher experts.
We use Substance Painter for its efficiency and quality in creating high-resolution textures quickly. After some research, to texture our 3D models with as few output maps as possible, we must have two UV sheets per model to keep optimization and gain in resolution. We opted for an ID system by vertex color to be able to assign our textures very easily and quickly, so a little extra preparation on 3ds Max (Vertex Paint) is necessary because baking by material color was not conclusive, as too many small objects make the ID drool.
After the preparation of our models and a well-arranged UV board, we import the model into Substance to bake and recover the various maps – including the ID maps – and then we allocate a texture by color ID, which is very fast after this preparation. Once all the textures have been attributed to each ID, we just export the maps in the desired quality and import them into Unreal Engine 4 or Unity to work on the scene.
Substance has become the must-have to the 3D manufacturing process in the graphics industry.
When we’ve finished texturing the assets in Substance Painter, we export the texture maps with the preset “Document channels + Normal + AO” allowing us to get 7 separate maps, and so more flexibility – whereas the Unreal Engine 4 preset exports only 3 maps. In Unreal, we put the export maps from Substance into the right slots with modifications by using the “Constante + Multiply” method that lets us recover the rendering quality of Substance Painter, but in Unreal Engine.
With the intelligent analysis of the 3D model offered in Substance Painter, the texture adapts to the objects’ curves and angles. Each edge then offers a whole new creative field to the 3D designer.
Nodes that generate one model map can work with another model, and thanks to that we gain speed, quality, and efficiency.
Light in Space
Light is very specific in space. Our first step was to find a lot of pictures of real space environments to better understand the different light sources and their behavior. In our case there are two main sources: the direct light from the sun which is very white and very sharp and the indirect light of the Earth which is more diffused, and bluer. These two main sources vary a lot when you turn around the Earth, however, so we had to make a dynamic setup.
The sunlight is fully dynamic and positioned according to real-world timing. When it starts to go down behind the earth and blend with the atmosphere, it lowers its intensity and turns orange until it fully disappears, thanks to the UE4 atmospheric system. The skylight asset updates itself regularly so our ambient lighting always matches the current lighting characteristics. After this point, we should totally be in the dark as we have lost our two main sources. The sun is fully occluded, and we are on the dark side of the earth.
We decided to add a fake ambient light and reflection probe to be able to see the launcher and the satellites even in the dark. This was the hard part, because we had to make things look realistic even if we were completely cheating!
The specificities of space lighting didn’t really affect the way we worked our launchers and satellite textures with Substance. We knew that if we did great texturing work in Substance, it would work great in Unreal Engine. And that was the case. We just cheated a little bit on the smoothness values to obtain the desired specular effects, especially on the very reflective parts that tends to look black in space.
In the end, this texturing process with Substance works perfectly for all the assets that we need in the scene, except the Earth which is a totally different story regarding texturing and shading.
To date, Arianespace uses 3 kinds of launcher: Ariane 5, Vega and Soyouz. Two new launchers will soon appear: Vega C and Ariane 6.
For each mission, the goal is to put satellites on the right orbit, with the right velocity and orientation so that they can reach their final orbits.
Satellites are different for every mission, so we produce 3D models for each mission and create the right launcher configuration: the launcher itself, satellites in the right position and with the right clocking (orientation), and dedicated satellite deployers, dispensers and adapters (these are the parts where satellites are attached on the launcher before separation).
Satellites mainly come from private telecoms. Sometimes, there are scientific missions where satellites come from public space agencies: the next example for this is the James-Webb telescope, which is planned to launch on October 31, 2021
Recreating the Earth
The Earth is created from public NASA images, cleaned, and processed by our tools. There are a lot of layers to produce such renders at this level of detail:
- Ground textures
- Ice on sea textures
- Cloud textures
- Cloud shadows
- Ground elevation textures
- City lights at night textures
- Procedural noise to add details
- Procedural atmospheric scattering layer
Each texture has a resolution of 131072 x 65536 pixels! We used, of course, optimization strategies to use these kinds of textures for real-time rendering.
Earth is still in progress because we plan to add more details and volumetric clouds in the next versions. We currently do not simulate weather. Clouds are static but their shape is realistic because they come from satellite pictures of actual clouds around the Earth.
Do you have a version for the flat Earthers?
Flat Earth with correct day/night zone
And – shush, it’s a secret! – but our 3D Earth is in fact rendered as a rounded cube…