Your scenes just got even more detailed and photorealistic thanks to 3D Gaussian splatting in Corona! Now, you can make use of this rendering technique, which uses millions of tiny, translucent ellipsoids, known as “Gaussian splats,” that blend seamlessly to replicate the original subject with amazing quality.
While traditional methods rely on heavy polygons or complex neural networks, Gaussian splatting is different. Each splat carries information about its position, color, size, and transparency, yet the technique requires significantly less storage and computational power. Due to its streamlined data and smart rendering, Gaussian splatting delivers real-time performance, making it perfect for interactive 3D scenes.
In this brief tutorial, we dive into how to generate our own splat scene for 3ds Max users.
In this tutorial, we’ll be recreating the historic old town of Prague.
Prepare the scene
We’ll begin by generating our splat scene in Postshot. First, upload your sequence of images.
After selecting your images, fine tune the settings by selecting Use Best Images, and reducing the Max. Image Count to around 150. In the Advanced section, increase the Max Splat Count and the Stop Training after number, which will ensure that the finest details are captured.
After this, the scene is prepared and we can export the splats by going to File → Export Scene Rdnc Field.
Open the scene in 3ds Max
To load the scene into 3ds Max, go to Geometry → Corona → CGaussianSplats and draw the Gaussian splats in the scene.
Then, load the file exported from Postshot. The axis orientation can vary, so choose from the Flip frame menu if you need to correct this.
Finally, you need to enlarge the splats for the proper Scale within the scene, and for better visual representation within the viewport, increase the Point Cloud number to 10 for better clarity.
From here, you can launch the Corona Interactive Rendering to preview the scene. As a note, the project is set up to use the gamma workflow. The splats are a little bit dark as a result of the ACES output transform (ACES OT) clamping any values higher than one, and therefore preventing the full display of our splat’s high dynamic range.
To fix this, go to the Tone Mapping stack, unselect ACES OT box, and then Delete the operator from the list entirely. You’ll see that we achieve the desired result, and you can remove the camera element entirely by clicking X and moving on.
Integrating 3D objects and slicing
With the environment correctly configured, we can move onto integrating our 3D object with the Gaussian splats.
Let's select our pre-made object which will act as a slicer after we create a slicer material. The Slicer material is the tool that allows our 3D building to "cut into" the splat data, ensuring the geometry sits naturally within the environment rather than simply overlapping it.
→ Read more about Corona Slicer: How The Boundary Reimagined the BBC’s Iconic Television Centre with Chaos Corona
Within these settings, ensure you choose the Include option and then add the Gaussian splats we loaded earlier. This way we will limit our slicer to only affect the splats.
After assigning the material to our object and looking at the interactive rendering you can see a portion of the trees have been sliced, creating a flat surface for us, so we can turn on our Building layer.
Lighting and environment setup
With the Building layer turned on, the building is clearly visible even though the scene currently has no active light. This is due to the baked-in lighting within the Gaussian splats.
To properly illuminate our 3D model, let's add a Corona sun by simply dragging and adjusting the height.
Also, add a Corona sky environment from the modify tab to our environment settings.
At the moment, the scene is too bright, and any attempts to fix this by lowering the exposure in the VFB causes the Gaussian splats to become too dark.
To match the environment and object correctly, you must decouple the splat's brightness from the global exposure. The solution is to uncheck the relevant options in the Shading properties of the Gaussian splat. This crucial step will prevent the splats from being affected by the VFB tone mapping, maintaining their correct brightness while we can still adjust the scene's exposure.
Now our environment and object match correctly.
Fine-tuning and post-processing
Corona provides separate tone mapping controls for your splats, allowing you to fine-tune their appearance. You can achieve custom looks by applying lookup tables (LUT) or by using color correction tools such as tint adjustments, contrast modifications, brightness controls, or color saturation shifts.
In this specific tutorial, we will hold off on applying any tone mapping. But you can see where example modifications were added in the screenshot above.
Adding vegetation and blending
The next step is to reintroduce some greenery by adding vegetation from Chaos Cosmos, starting with a Field Elm tree and carefully placing these elements around the building to ensure our 3D objects blend seamlessly with the Gaussian splats.
Now, let's turn on the layer containing the extra trees and bushes that were imported previously. These objects are included specifically to add more detail and life, making our building feel like a truly livable and integrated place within the environment.
Shadow catchers and ground planes
with this added greenery. But there's one more step to truly level up the result. Start by drawing on a plane and fitting it directly beneath our building to act as a ground plane.
Now let's duplicate this plane and move the copy into position so it simulates the immediate background wall. By placing this second plane vertically behind the building will create a necessary surface to capture the shadows that are being cast.
After selecting both the ground and the wall planes, we'll assign a Shadow Catcher material to them.
Now let's switch to a more compelling viewing angle and open the Corona interactive render to check out the results. The addition of the shadow catchers significantly improves the blending process of our building into the environment.
Animation and final workflow
As a last touch, we are going to set up an animation. Start by selecting Create Corona Camera from view and simply activate the auto key feature so we can add key frames as we go. Next, we’ll find a better point of view for our end frame.
See the final animation at the 5:39 mark:
With Gaussian splats, you can easily add realistic reflections and shadows directly into your scene, dramatically speeding up your workflow.
