Gaussian Splatting seems to not work since version 8

Thank You!

8.4.1 was just taken out of the oven. Should be available on npm :slight_smile:

2 Likes

Updating now, thanks again!

1 Like

Hi All,

maybe I missed something…I suspect there is still an issue related to 3dGS model rotation.
I tested the dragon model on sandbox 8.4.1:


and compared it with supersplat:

As you can see on sandbox is upsidedown …
The same happends with my application where all my 3dgs models are now rotated of 180 degrees on x axis.

Thank you a lot!!!

cc @Cedric (please bear with us as he is on vacation for now)

cc @docEdub

I’m looking into this while Cedric is on vacation. I’m currently trying to understand why the inversions were implemented.

Are the screenshots using the MardiGrasDragon_1M.splat model? …or one of the other formats (.spz or .ply)?

1 Like

Hey – I can help here.

It seems both ply, compressed ply and spz are inverted when the have spherical harmonics. Before .ply supported spherical harmonics, the .ply files loaded in the correct orientation. Similarly, .splat files (no SH support) also come in the correct way.

FYI, you can just invert the y scale to fix this – I have buttons for users to do this in StorySplat because there is no standardization.

For easy conversion, you can use my file menu in StorySplat if you do not have another option, it can convert between .splat, .spz. compressed ply and ply.

I also have a document going here with everything we should test - Notes on Babylon JS Splat File Types - Google Docs

2 Likes

Thank you @SonnyC56, the model is the one used for test in the various playground above: https://firebasestorage.googleapis.com/v0/b/story-splat.firebasestorage.app/o/users%2FmFNJrfet99Qv9mMX2OC6hewy1xC2%2Fsplats%2FMardiGrasDragon_1M.ply?alt=media&token=d1be5a6f-d733-4de5-ab83-f39eac40a995

What I’d like to highlight is that this model on other viewers (like supersplat) is correctly oriented, and with babylonjs is inverted on y axis.

Many thanks for your suggestions!

I see MardiGrasDragon_1M.ply is oriented correctly in older versions of Babylon.js until PR 16433 got merged. It’s not clear to me what the correct fix is, and Cedric says earlier in this thread that he’s not sure how to fix it, yet.

I can back that PR out to go back to the previous behavior, but it would probably be better to wait for @Cedric’s input when he gets back.

1 Like

.ply gained sphereical harmonics support and once it did it is inverted like the spz is with SH

Please do not kill SH support for plys haha - It might be a good idea to try just inverting when we detect SH in the splat

No worries we wont :wink: We will wait for Cedric to see how he wants to handle it

1 Like

Hi All,

just to recall that the issue still persist in 8.13.
Simple test:

load the dragon with supersplat and you see it correctly oriented.

Load the same file with Babylonjs sand box and you’ll see it upside down.

Thank you.

cc @Cedric

Thanks @xipherx
It’s still on my radar and I hope to fix it asap.

Should be fixed : GS SH View Direction by CedricGuillemet · Pull Request #16804 · BabylonJS/Babylon.js · GitHub

Please test the PR snapshot in case I missed something!

3 Likes

Many thanks @Cedric !!!

Sorry Guys… on 8.14 the dragon is still upside down…