AI-generated 3D models for WebXR and Three.js
Generato is itself a WebXR app built on Three.js, and every model it makes is a Gaussian splat that renders in the browser. Generate an asset from text or a photo, download the PLY, and drop it into your own web or XR project with a splat renderer.
Generate an asset for your scene — free
Load a Generato splat in Three.js
Generato renders its models with the open-source @mkkellogg/gaussian-splats-3d library. Its DropInViewer is a Three.js Group, so a downloaded splat can sit in an existing scene next to your meshes:
import * as THREE from 'three';
import * as GaussianSplats3D from '@mkkellogg/gaussian-splats-3d';
const splat = new GaussianSplats3D.DropInViewer();
splat.addSplatScene('/models/lamp.ply');
splat.rotation.x = Math.PI; // TripoSplat PLYs are Y-down, like most 3DGS files
scene.add(splat);
The same library has a WebXR mode for VR and AR sessions. Other Three.js splat renderers, such as Spark, also read PLY splats.
Engines that can load the PLY
Three.js
Via a splat renderer such as @mkkellogg/gaussian-splats-3d or Spark.
PlayCanvas
Native Gaussian splat support, plus the SuperSplat editor for cropping and compression.
Babylon.js
Built-in Gaussian splatting meshes that load PLY files.
Unity and Unreal
Through a third-party Gaussian splatting plugin.
Tips for splats in WebXR
- Mind the splat count. Each Generato model has 262,144 Gaussians. One or two look great on Meta Quest; a room full of them will cost frame rate, because splats are sorted every frame.
- Compress for the web. Re-export the PLY in a compressed format from an editor such as SuperSplat to cut download time.
- Lighting is baked in. A splat keeps the colours it was generated with. It does not react to scene lights or cast shadows on its own.
- Want it without code? Generato already shows every model in mixed reality on Meta Quest and over a phone camera.
When you need a mesh instead
Generato does not produce GLB, glTF or OBJ meshes. If your project needs physics colliders, real-time relighting, UV-mapped textures, rigging or 3D printing, a polygon mesh is the right format and a splat is not. For photoreal props, product previews and showpieces that people look at and walk around, a splat often looks better than a mesh of the same size. Start from a prompt or a photo.
Frequently asked questions
Can I use Generato models in Three.js?
Yes. Download the PLY and load it with a Three.js Gaussian splat renderer such as @mkkellogg/gaussian-splats-3d, which is what Generato uses itself, or Spark.
Do you export GLB or glTF?
No. Every model is a 3D Gaussian splat downloaded as a PLY file. Generato does not create polygon meshes.
Will the splat work in a WebXR session on Meta Quest?
Yes, with a splat renderer that supports WebXR. Keep the number of splats in view modest so the headset holds its frame rate.
Why does my splat appear upside down?
Like most 3D Gaussian splatting files, TripoSplat PLYs use a Y-down orientation. Rotate the object 180° around the X axis.
Can I use the models in a commercial project?
Commercial use depends on your plan. See the Terms & Conditions and the pricing options inside the app for details.
More from Generato
Generate an asset for your scene
Start with free credits. No subscription, no install — it runs in your browser and on Meta Quest.
Open Generato