SplatVFX is an experimental implementation of 3D Gaussian Splatting with Unity VFX Graph.
No. I made many compromises to implement it with VFX Graph. I recommend trying other solutions like UnityGaussianSplatting.
- Download the sample
.splatfile (bicycle.splat) and put it in theURP/Assetsdirectory. - Open
URP/Assets/Test.unityand start Play Mode.
.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.
- Download the github repo.
- Follow the instructions above to create your own
.splatfile. - Rename the
.splatfile tobicycle.splat. - Drag & drop it in the VFX/Asset folder (where you will also see the
bicycle.splat.metafile. - Open the folder "VFX" via the Unity Hub to open the right project.
- Open the "VFX" scene (present in the 'Assets' folder).
- Enter play mode.
- Optional: Depending on your splat, you might want to try this for better results: In the 'VFX' scene, unroll the "Camera Pivot" object hierarchy and move the "Direction" game object around to modify the camera position. You can also edit the 'Camera' object's FOV via the inspector (Try to keep it between 45 and 90 degrees for best results).
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.
You can check how many points are in a .splat file on Inspector.
-
Typically,
.splatfiles 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.



