Image to 3D: object generators and scene generators are not the same tool
By Atlas World Model EditorialUpdated 6 min read
Independent article. Not affiliated with any vendor on this page.
Key facts
| The question | Do you want a thing, or the place the thing sits in? Different tools, different file types(as of 2026-09-07) |
|---|---|
| Object generators return | A single mesh with UVs and textures, typically .glb, .obj or .fbx(as of 2026-09-07) |
| Scene generators return | A whole space, usually as a Gaussian splat and sometimes a mesh(as of 2026-09-07) |
| Object-level examples | Tripo and Meshy both market image-to-3D model generation(as of 2026-09-07)source |
| Scene-level example you can call | Marble World API exports .spz and .ply splats, a mesh and a video(as of 2026-09-07)source |
| Scene-level, not yet public | Atlas outputs point clouds and Gaussian splats; early access only(as of 2026-09-07)source |
| Photos needed | World Labs says Atlas reconstructs from as few as two or three images; classical splat capture usually wants dozens(as of 2026-09-07)source |
| Why it matters downstream | A mesh carries surface geometry for collision and materials; a splat is a render-first representation(as of 2026-09-07) |
Search “image to 3D” and you will meet two categories of tool wearing nearly identical marketing. Upload a photo to one and you get a model of the thing in the photo. Upload a photo to the other and you get the place the photo was taken. Both are accurate descriptions of “image to 3D.” Only one of them is what you wanted. Product names below are used only to identify the tools; this page describes what each category returns rather than benchmarking output.
Thirty seconds: which one do you need?
Three questions settle it almost every time.
- Does the camera go inside it? Inside means scene. Around the outside means object.
- Is there one subject, or a place with many things in it? One subject means object.
- Does anything have to collide with it, be picked up, or be animated? That needs clean surface geometry, which points to object-level output — even if the surroundings come from a scene tool.
If the answers split — you need a room and a chair you can pick up — that is not a contradiction. It is the normal case, and the section on mixing both covers it.
Object generators: one thing, as a mesh
This is the larger and older category, and it owns most of the “image to 3D” search results. Tools such as Tripo and Meshy take a photo or a text prompt describing a single subject and return a mesh: triangles, UV coordinates and texture maps, usually as .glb, .obj or .fbx. Tencent’s Hunyuan3D and Meta’s SAM 3D work at the same level.
What makes this category coherent is the deliverable. A mesh is what game engines, DCC tools and 3D printers all expect. It has a pivot point you can rotate around, a surface you can attach a physics collider to, and a material you can retexture. You can drop it into a scene somebody else built and it behaves like every other asset there.
The boundary of the category is equally clear: these tools model one closed surface, seen from outside. That assumption is what makes them good at chairs, helmets, characters and product shots — and what makes them fail at rooms.
Scene generators: a place, usually as a splat
The other category generates or reconstructs a space. Marble from World Labs takes text, a single image, multiple images, a 360° panorama or video and returns a navigable world, exporting Gaussian splats as .spz or .ply alongside a mesh and a fly-through video (Radiance Fields). Atlas, the newer World Labs model, outputs point clouds and Gaussian splats but is limited to early-access partners (Dealroom).
Capture tools such as Polycam and Luma sit in the same category from the user’s point of view: photos in, a space out. The difference is that they reconstruct what was actually there, while generative scene models invent the parts you did not photograph. World Labs says Atlas can work from as few as two or three reference images (The Decoder), where classical splat capture normally wants dozens of overlapping shots. That claim is self-reported and has not been independently reproduced.
The signature of this category is that the camera belongs inside the result. You are not orbiting a subject; you are standing somewhere.
Side by side
| Object generators | Scene generators | |
|---|---|---|
| Typical input | One photo or prompt of one subject | Photos, video, a panorama, or text describing a place |
| What comes back | One mesh | A whole space |
| Common formats | .glb, .obj, .fbx | .ply, .spz splats; sometimes a mesh |
| Camera position | Outside, looking in | Inside, looking around |
| Collision and physics | Straightforward | Needs a mesh export or a proxy |
| Retexture and animate | Designed for it | Not really |
| Photoreal environment | No | Yes, this is the strength |
| Examples | Tripo, Meshy, Hunyuan3D, SAM 3D | Marble, Atlas, Polycam, Luma |
The format difference is the real difference
Everything above follows from what the two output formats actually are.
A mesh is a description of surfaces. Triangles have a front and a back, UVs map an image onto them, and a material says how light behaves at each point. Every game engine has been built around this representation for thirty years, so a mesh arrives ready to be lit, collided with, skinned and animated.
A Gaussian splat is a description of appearance. It stores millions of coloured, oriented, semi-transparent blobs positioned in space, which together reproduce what a camera would have seen. It can look startlingly photoreal, especially for a real place, because it never had to commit to where the surfaces are. That is also its limitation: there is no surface, so there is nothing to collide with, nothing to retexture, and no clean way to separate one object from its neighbour. The formats themselves are covered in PLY vs SPZ explained, and the trade-offs against the older NeRF approach in Gaussian splatting vs NeRF.
The practical summary: meshes are for interacting with, splats are for looking at. A splat also needs a renderer that understands it — a plugin, or a runtime such as the MIT-licensed Spark renderer, which is what powers the splat viewer on this site. A mesh needs nothing special.
This is why scene tools that also export a mesh are easier to fit into an existing pipeline, even when the mesh is rougher than the splat. It gives you something to stand on.
What going wrong looks like
Room from an object generator. You get a room-shaped object. From outside it reads correctly. Move the camera in and you are looking at the back of every surface: no interior detail, lighting that makes no sense, and geometry that was only ever solved for an exterior view. No amount of prompting fixes this, because the model was built for closed subjects seen from outside.
Prop from a scene generator. You get your prop embedded in its surroundings, in a representation with no boundaries between objects. Cutting the chair out of a splat of the room is not a selection operation; there is no chair, only the blobs that happen to look like one from where you stood.
Splat straight into an engine, expecting an asset. It renders — if you installed something that can render it — and then nothing else works. The player walks through walls, nothing casts a shadow onto it, and no material can be swapped. It was never geometry.
Mixing both is the normal answer
Most real pipelines use the two categories for what each is good at:
- Environment from a scene tool. Photoreal, fast to produce, and never touched by physics — a backdrop, a skybox replacement, a location plate.
- Interactive elements from an object generator. Anything picked up, opened, driven, shot at or animated needs a mesh with a collider, so it is authored or generated as an object.
- A collision proxy for the environment. A rough mesh — either the scene tool’s own mesh export or a hand-built box-and-plane approximation — sits invisibly inside the splat so the player has floors and walls. This is the step most often skipped, and it is what makes a splat environment playable rather than decorative.
The game development use case on this site works through how these pieces land in Unity and Unreal.
Where to go next
- What is a world model? — the category scene generators belong to, and the two other things that share the name
- Image to 3D world — this site’s page on the scene-level workflow
- Marble API guide — the scene-level API you can call today
- Free splat viewer — open a
.plyor.spzin the browser and see what a splat is - PLY vs SPZ explained — picking a splat format
Sources
Frequently asked questions
What does "image to 3D" usually mean in search results?
Most of the time it means object generation: upload a photo of one thing and get a mesh of that thing. Scene generation, where a photo becomes a space you can move through, is a smaller and newer category that often uses the phrase "3D world" or "3D environment" instead. If the results you are getting look wrong for your task, that mismatch is usually why.
Can I use an object generator to make a room?
You can, and the result is usually a room-shaped object rather than a room. It looks correct from outside, but walk the camera inside and you meet back-faces and no interior detail, because the model was built to produce one closed surface seen from outside.
Can I use a scene generator to make a single prop?
Poorly. You get the prop plus whatever surrounded it, in a representation that is hard to cut cleanly. If the deliverable is one asset with its own pivot, UVs and collision, an object generator is the right tool.
What is the difference between a mesh and a Gaussian splat?
A mesh describes surfaces: triangles, UVs, materials. Game engines can light it, collide with it and animate it. A Gaussian splat describes appearance: millions of coloured, oriented blobs that look photoreal when rendered but carry no surface to collide with. Meshes are for interacting; splats are for looking.
Which one works in Unity or Unreal?
Meshes work natively in both. Gaussian splats need a renderer built for them, either a plugin or a runtime such as the open-source Spark renderer. That is one reason scene tools that also export a mesh are easier to fit into an existing pipeline.
Is Marble an image-to-3D tool?
Marble is image-to-3D-scene. Give it a photo, text or video and it produces a navigable space, exporting Gaussian splats as .spz or .ply plus a mesh and a video. It is not the tool for generating a single product model from a catalogue photo.
Do most projects need both?
Frequently, yes. A common split is a captured or generated scene for the environment and object-level assets for anything the player or camera interacts with, because those are the parts that need clean geometry.
Related guides
- What is a world model? The three kinds, and the one question that separates them
- Gaussian splat tools explained: what each one actually does in the pipeline
- Image to 3D World Generator
- 3D Gaussian splatting vs NeRF
- Gaussian splat file formats: .ply, .spz, .splat and .ksplat
- Free Online Gaussian Splat Viewer
- Marble World API explained: endpoints, code examples and exports (independent guide)
- Atlas World Model for game development: from prompt to Unity and Unreal
- What is the Atlas world model? World Labs’ omni world model explained