In my initial concepts I planned to have the Houdini Gaussian Splat transition into particles, then have those transition into a deconstructed version of the landscape within Unreal Engine.

I created a simple previs of the environment so I can use it as reference for what I need my last shot to transition into. But as the main portion of this project is more challenging than I anticipated for this will only be further developed if there is enough time to allow for it.

Moving back to Houdini I started to tackle the challenge of rendering the Gaussian Splat. Gaussian Splats can be rendered in a variety of ways, some of these can even be fast enough to view entire scenes on a web page. All the lighting, colour and other required data has been packed into the points, so all of the heavy rendering is done when training the cloud. However I wanted to relight my scene and add effects.
The first method I tried was the default plug and play rendering with Houdini 21, This didn’t look very visually pleasing though, and I decided to Downgrade to Houdini 20.5 and use the GSOPs plugin and use custom renders.
To render with raytracing in Houdini’s Karma I got a sphere primitive and instanced it on every point.

With this sphere I could then apply a material. This material uses the same mathematical functions that make up the core rendering of Gaussian Splats in other applications.

This looked better than the default Houdini 21 Render but still left areas for improvement and didn’t give me the effect I wanted.

I also did a quick test within blended using custom plugins, but yielded the same results.

For my next render test I found a custom plugin for Redshift in Houdini. I saw some promising results of this but it didn’t work well for my application. After some more research on this renderer I found that people have said I can achieve good results, but only in very specific conditions and lighting.

Finally I did some research in the GSOPs discord server. Here there are lots of people developing and experimenting with this technology every day. I found one person that has been doing a lot of renders with Octane. Their work looked amazing and was exactly the style I was going for, so after talking with them for a while and asking questions and getting help setting the renderer up I could finally lock in my renderer choice and start progressing the LookDev aspect of the project.

The latest version of Octane has a dedicated Gaussian Splat object setting, just by enabling this I already had a render I liked the aesthetics of more than any other I explored. The next step was to get the particle rendering side developed.

As my base for the particles I just wanted them to inherit the base colour from their respective points. I did this by stripping all of the Gaussian Splat related data and just passed the particles Cd colour attribute into the material. Octane does this by packing all the data into a UV map then reading that inside the material.

With the colours working I could then focus on developing the look of the particle size, lighting and PBR elements.

Next I needed to test if the renderer could handle the animation of the Gaussian Splat and particles transitioning. When testing this I encountered an issue that wouldn’t render more than 1 frame. After spending a while trying to fix this, I went back to the person that showed me Octane, and they said that this was because Gaussian Splat and particle rendering within Octane does work work well when motion blur is enabled, so I turned this off and will add it back in post by adding an AOV motion vector layer.

With this done I could then render out a motion test.

The next stage was relighting the scene. One of the many benefits of Gaussian Splatting is its ability to be relit with relative ease, so all I needed to do was as a light source and edit the scene as I would with any other 3D asset.

With the lighting, materials and animations working, I could then tweak my camera settings.
