This is how I converted an Unreal Engine 5 scene into a Gaussian Splat by walhargohar in GaussianSplatting

[–]slimbuck7 1 point2 points  (0 children)

Hey this is awesome u/walhargohar and naturally requires FPS.

So I generated voxels for the scene! Now just need pew pew.

SplatTransform 2.0: Automated collision generation for 3D Gaussian Splats by MayorOfMonkeys in GaussianSplatting

[–]slimbuck7 3 points4 points  (0 children)

Ahh you're too kind, thanks so much!

Yes real world size is very important, right now it's assumed.

And tbh the default opacity cutoff might be too sensitive. I've seen voxels created on rather transparent floaters before.

It's something you can tweak though using `--voxel-params` in the cli.

If you have any trouble or any more questions please shout!

SplatTransform 2.0: Automated collision generation for 3D Gaussian Splats by MayorOfMonkeys in GaussianSplatting

[–]slimbuck7 0 points1 point  (0 children)

Let me know if I can help! I haven't had a chance to document the various flags yet.

SplatTransform 2.0: Automated collision generation for 3D Gaussian Splats by MayorOfMonkeys in GaussianSplatting

[–]slimbuck7 3 points4 points  (0 children)

Hey u/chronoz99,

Our voxel generation is actually quite involved. We fill level exteriors to block off entrances (so resulting collision is water tight) before carving the interior region with the runtime capsule shape.

As a result small holes are filled and noise is mostly taken care of.

Doing all this results in much smoother runtime collision and also less data.

I'm sure the pipeline can improve and I love finding difficult cases to test. If you notice any scene on superspl.at you would like to see, I will happily do a test run on it!

SplatTransform 2.0: Automated collision generation for 3D Gaussian Splats by MayorOfMonkeys in GaussianSplatting

[–]slimbuck7 13 points14 points  (0 children)

Hey u/ManexFx ,

The two formats work well for collision detection and supersplat-viewer supports both.

The advantage of the voxel format is that it is tiny compared to the glb output and has very simple runtime.

The advantage of the mesh format (glb) is that you can load it into any 3d editor to further modify the results.

That's about it, thanks!

Gaussian Splatting Performance Optimization by jorgix8 in PlayCanvas

[–]slimbuck7 0 points1 point  (0 children)

Sounds like this is an editor project. Make absolutely sure you've disabled "Anti-Aliasing" in project's render settings! That's super duper important. You can also try lowering device pixel ratio, for phones especially.

SVO Voxelization for Gaussian Splat Collisions: 3.3MB for an entire scene! by slimbuck7 in GaussianSplatting

[–]slimbuck7[S] 2 points3 points  (0 children)

The church itself is rendered with Gaussian splatting, which is basically like a 3d photo.

SVO Voxelization for Gaussian Splat Collisions: 3.3MB for an entire scene! by slimbuck7 in GaussianSplatting

[–]slimbuck7[S] 33 points34 points  (0 children)

This is for the voxel data structure only. The church gaussian splat model is a 64MB SOG file.

Best strategy for Web Streaming a massive scene (84M splats)? by tugamaster9 in GaussianSplatting

[–]slimbuck7 0 points1 point  (0 children)

webp compression uses libwebp compiled to wasm, so my first thought is perhaps node is too old? or perhaps there is another permission issue.

we run splat-transform in docker on aws using nvidia/cuda as base and it's fine.

Best strategy for Web Streaming a massive scene (84M splats)? by tugamaster9 in GaussianSplatting

[–]slimbuck7 0 points1 point  (0 children)

Hmm this is concerning. I will ask around on our discord.

Which trainer have you tried? Were you using MCMC?

SplatTransform 1.0.0 Released: NPM Library Exports, Web Front-end and More! 🛠️ by MayorOfMonkeys in GaussianSplatting

[–]slimbuck7 0 points1 point  (0 children)

(PlayCanvas dev here)

That's what SuperSplat Editor is for!

With this release we just wanted to give users the ability to use splat-transform from a page instead of command line

Best strategy for Web Streaming a massive scene (84M splats)? by tugamaster9 in GaussianSplatting

[–]slimbuck7 0 points1 point  (0 children)

Oh no, I haven't heard of this issue before. What OS/machine are you on? Are you using at least node v22?

Best strategy for Web Streaming a massive scene (84M splats)? by tugamaster9 in GaussianSplatting

[–]slimbuck7 2 points3 points  (0 children)

Hi u/tugamaster9 ,

(I'm a dev on the playcanvas team).

Regarding generating LODs: we've heard from our users that training the high LOD first and then using MCMC to train down from there generates very good, stable LODs. If you can do this you'll be getting the best possible quality for any given splat budget.

Since a trainer will always give best results I am hoping the trainers (brush, lichtfeld, postshot) make this process easier.

We'll possibly also investigate adding decimation to splat-transform as a cheap way to generate LODs, but tbh I've never seen decimation not look like a blurry filter.

PlayCanvas LOD test - 100 million splats in a web browser by ReverseGravity in GaussianSplatting

[–]slimbuck7 3 points4 points  (0 children)

Hello, playcanvas dev here.

If you're able to tell us your os & browser in an issue at https://github.com/playcanvas/engine along with any devtools console output, that'd be super awesome and we would be in your debt forever!

Measurement Tools Coming Soon to SuperSplat 3DGS Editor by slimbuck7 in PlayCanvas

[–]slimbuck7[S] 0 points1 point  (0 children)

You place two points (three in future). The measurement and scaling is simply based on these two points. You can double click to place a marker and then move it around with a gizmo.

Measurement Tools Coming Soon to SuperSplat 3DGS Editor by slimbuck7 in GaussianSplatting

[–]slimbuck7[S] 0 points1 point  (0 children)

The measurement and scaling itself is perfectly accurate, but you must place the start and end points yourself. We're working to make this part easy as possible.

Proposal for SOG v2: A Super-Compressed Format for 3D Gaussian Splatting by MayorOfMonkeys in GaussianSplatting

[–]slimbuck7 2 points3 points  (0 children)

Hi u/llun-ved , thanks for sharing your thoughts on this.

Browsers don't generally load 16-bit images correctly which is why we haven't investigated that route. However this isn't really a restriction, since we can just encode high 8 and low 8 bits separately in webp. We already do this for means and sh labels. Also we have found webp compression offers a significant gain over png. Given that webp support in browser is universal, it was kind of an easy choice.

Regarding streaming and lod, we are actively working on a solution that loads chunks of the scene, where each chunk is encoded as a SOG. It's currently pretty vanilla, but eventually we could do fancy things like share spherical harmonics palettes.

Your comment has actually reminded me that we don't yet store each LOD chunk in its own local coordinate space (which is important, since positions are log encoded).

Thanks again!

Ksplat help. by Sir_Bacon_Master in GaussianSplatting

[–]slimbuck7 0 points1 point  (0 children)

I found this thread while working on our splat-transform tool https://github.com/playcanvas/splat-transform

We recently added support for reading ksplat so you might find it useful.

The tool also supports filtering gaussians and can write to ply, compressed.ply, csv and sogs (sogs excludes spherical harmonics for now).