Show HN: Turning a Gaussian Splat into a videogame

4 days ago (blog.playcanvas.com)

Plays decently smooth on my M4 Max. It's probably still a long way from being a production-ready replacement for meshed environments, but I could imagine a hybrid mode where certain elements like grass and shrubbery are drawn with gaussians, perhaps with support for basic procedural animation. Great work with the playable demo!

  • Endless fields of grass and other things where you can make copies of a single base thing and just argue in some parameters like position, color, type etc are cheap to render. Making them sway or react to a body also isn't a problem.

  • It runs kinda well on the best computer in the world, yeah? :)

    I have another data point: my ten year old ThinkPad. I get about 10 FPS. Lowering the quality doesn't seem to increase performance.

    But I am amazed by what I am seeing, and amazed it runs at all!

    I think it won't be long before the whole world is mapped, and "playable".

    • > I think it won't be long before the whole world is mapped, and "playable".

      People already don't want to use VR, why would they get into/allow scanning with even less immediate value?

      I agree with the sprit though, I just think rendering the world is gonna happen from a few generations of iteration on world modeling tech like World Labs/Marble.

    • tbh I haven't yet approached optimisation for this, i am pretty sure it's possible to improve it further. It runs on my 2020 iphone, but not super smooth though

  • For me, the biggest issue this solves is the blank canvas paralysis problem. Artists are visual thinkers and need a little nudge in the right (art) direction. This is a great way to fill that blank sheet of paper with something that they can take and run with.

    • Editing Gaussian Splats is still a pain in the ass in the artist's perspective. Even if you can create a good-enough first try using scanned data or generative AI, you just end up with a rough draft that you cannot polish in any way. Existing mesh-based tools allow you to edit the geometry relatively easily, since they are in a higher level discrete representation rather than just a point cloud data structure.

      5 replies →

    • I mean... Just take a source photo and over paint it? Splats don't really get you closer to a workable model than concept art.

  • > but I could imagine a hybrid mode where certain elements like grass and shrubbery are drawn with gaussians

    Those tend to move in the wind. Animations don't work well with splats. Or with any data structure except polygon meshes.

    Edit:

    Responding in the parent because HN says I'm "posting too fast" and should "slow down".

    > Have you seen https://www.4dv.ai/

    Yeah, but this seems to be just a 3D GS video (captured from several different camera angles), similar to how an ordinary 2D video is just a series of still frames. For 3D games this would be unsuitable since animations often have to be generated on the fly based on game physics. Even for pre-baked animations the memory cost of loading each frame individually would be too inefficient. For polygon meshes you have just a single static mesh that is deformed over time.

    > Dreams managed to animate splats on the PS4. Admittedly, not quite the same type of splats, but there is probably a middle ground here where it can be made to work

    I'm pretty sure Dreams only allowed animations as translations and rotations, not something that approximates soft skeletal animations. And even translations and rotations would be problematic since 3D GS scenes rely on baked lighting which would then result in objects no longer fitting the scene.

I’m trying to understand from the video why this is better, it looks like a normal high resolution textures with precooked shadow maps.

It has no dynamic lighting or effects, which makes the video look like a high quality game from 2006.

Playing in brave on my Moto g power 2024 was low fps, but as soon as i pressed the shoot button my whole screen went purple pixel distortion lines and I had to restart my phone.

Question for those making Splats...how do you get such large environments? I've been playing around with them a bit and I'm finding I'm running out of memory with surprisingly little built even on an RTX6000. Any tips or ideas would be awesome!

  • I saw a comment by the author that they did it as 9 scans with Reality Capture which presumably then were combined with some post-processing.

Sort of unfortunate that one ends up putting normal meshed characters that clash with the photorealistic splat environment