GaussianSplatResource - any support for spz and sog formats soon?

While loading PLY and USDZ is nice, it would be great to support more compressed formats like SPZ and SOG: https://www.nianticspatial.com/en/blog/spz4

Is this something that might be in the works? Or if Apple releases their own compression, that could work also. PLY tends to be quite large for models of any size.

Thanks for the post.

The Apple engineers here on the forums can’t talk about The Future™. If you’d like Apple to make a specific change, feel free to explain that in an enhancement request. And if you do file an ER, please post your bug number, just for the record.

https://developer.apple.com/forums/thread/712889

Also I would suggest to review Apple's Unsolicited Idea Submission Policy. https://www.apple.com/legal/intellectual-property/policies/ideas.html

Albert  WWDR

@DTS Engineer Ok will do.

The other request I have with regard to GaussianSplatResource is some example code demonstrating how to chunk files so that we can load and navigate larger immersive scenes on demand. The current implementation uses very low level code with regard to buffer resources, so some examples of how to dynamically load PLYs that exceed the 200k splat limit would be super helpful.

Thanks!

@Mecha3Dinosaur

Chunking is a process that would need to occur at the time the splat is authored. There is no RealityKit API to do this automatically. "Chunking" in this context refers to breaking down a splat asset into physically smaller assets. This is useful when your asset has concave spaces, like the interior of a room, because otherwise "going inside" the splat asset causes the asset to fade away.

The splat limit you are referring to is the limit for the number of splats that can be rendered on an individual asset. This is a hard limit imposed by the system, and there is no way around this. However, if you break up an asset with more splats than this limit, you can render them separately as individual assets.

There are two limits the system enforces: a limit on the number of GaussianSplatComponent entities that will be rendered at one time, and a limit on the the number of splats that can be loaded into an individual BufferResource.

However, if you break up an asset with more splats than this limit, you can render them separately as individual assets.

@Vision Pro Engineer Yes, exactly. If you have a room to navigate, chunking out and lazy loading the assets on would be super helpful In not exceeding the splat limits. It’s not immediately obvious how to accomplish something like this out of the box, so example code from Apple would be helpful.

GaussianSplatResource - any support for spz and sog formats soon?
 
 
Q