Is there currently a way to import 3D Gaussian Splatting data into Reality Composer Pro?

Hello,

As far as I understand, RealityKit now supports 3D Gaussian Splatting through GaussianSplatComponent.

I would like to ask whether there is currently a way to use 3D Gaussian Splatting data directly in Reality Composer Pro, for example by importing a .ply file containing Gaussian splats.

More specifically:

  1. Can Reality Composer Pro import a 3D Gaussian Splatting .ply file?

  2. Is there a way to create or assign a GaussianSplatComponent to an entity directly within Reality Composer Pro?

  3. If this is not currently supported, is there any recommended workflow for creating a .usdz containing Gaussian Splatting data that can be opened in the Preview app on iPhone/iPad and displayed as an AR object?

I tried opening the sample plant.usdz on an iPhone using the Preview app. However, the AR preview appears to be empty, so it seems that the Preview app may not currently support rendering the Gaussian Splatting content contained in that USDZ.

My desired workflow would be:

Gaussian Splatting .ply → Reality Composer Pro / USDZ → iPhone Preview → AR

Is this workflow currently possible?

If not, is there an official or recommended way to package a GaussianSplatComponent and its associated Gaussian splat data into a USD/USDZ file for AR preview on iOS?

If the above functionality is not currently supported, does the development team have any plans to add or improve support for these features in future versions of Reality Composer Pro or the Preview app?

Any clarification regarding the current capabilities, limitations, or future plans would be greatly appreciated.

Thank you!

Hello @LING_RIXU , thank you for your question!

If you are using macOS 27, Preview.app can export .ply data as USD data (File > Export... > save your asset with a .usdz file extension). Note that if you do not see your splat rendering correctly, you can try setting the rendering backend to "Storm" (View > 3D Rendering > OpenUSD Storm). Also keep in mind that converting from PLY to USD isn't a standardized process, and you may see data loss.

An alternative method is to build your own app that can load PLY files into a GaussianSplatResource.BufferResource that can then be displayed on an Entity with a GaussianSplatComponent and saved to a Reality File using write(to:). This is documented in the Gaussian splats on visionOS sample (Gaussian splat APIs are also available on macOS and iOS).

Let me know if that helps! Thank you!

Is there currently a way to import 3D Gaussian Splatting data into Reality Composer Pro?
 
 
Q