/SplatVFX

3D Gaussian Splatting with Unity VFX Graph

Primary LanguageC#

SplatVFX

gif gif

SplatVFX is an experimental implementation of 3D Gaussian Splatting with Unity VFX Graph.

FAQ

Is it ready for use?

No. I made many compromises to implement it with VFX Graph. I recommend trying other solutions like UnityGaussianSplatting.

How to try the samples.

  • Download the sample .splat file (bicycle.splat) and put it in the URP/Assets directory.
  • Open URP/Assets/Test.unity and start Play Mode.

How to create a .splat file.

.splat is an ad-hoc file format used in antimatter15's WebGL Gaussian Splat Viewer. You can convert a .ply file into .splat by dragging and dropping it into a viewer window.

How to increase the capacity.

The default VFX Graph (Splat.vfx) supports up to 8 million points. You must increase the capacity when your .splat file has more points. Duplicate Splat.vfx into your project and edit it to change the capacity value in the Initialize Particle context.

capacity

You can check how many points are in a .splat file on Inspector.

count

Limitations

  • Typically, .splat files are trained with the reference rasterizer running on the sRGB color space. It causes artifacts when using the Linear Lighting Mode in Unity. You can remedy it by grading in post-processing, but it's impossible to get perfect results with manual tweaks.

  • The Gaussian projection algorithm used in the VFX Graph is far from perfect. It causes many artifacts, including sudden pops with camera motion.