Low Poly Models for AR

Placing a low poly model in someone's living room through their phone camera is a completely different constraint set from a game engine, and the single biggest mistake creators make is exporting the same file they would use in Unity and expecting it to work in AR Quick Look or Scene Viewer without changes.

Generate this in 3DCreate a custom low-poly model from text or an image in seconds.

Matching downloadable assets

Start with these seed models, then generate variants in the same low-poly direction.

Members unlock protected STL access

Use the free OBJ to test the shape. Subscribe for protected STL downloads now; GLB, FBX, USDZ and Unity are shown as production export targets, not direct library downloads yet.

Commercial licenseProtected STL downloads nowMonthly AI credits included
View member plans

Highlights

  • glTF/GLB units are meters; scale the model to real-world size before export, not an arbitrary "1 unit"
  • iOS AR Quick Look requires USDZ specifically; Android Scene Viewer and model-viewer read GLB
  • USDZ supports only a single looping clip or static pose, not an interactive animation state machine
  • Keep tabletop AR figures under ~20,000 triangles and one 1024px atlas for a fast tap-to-place load
  • Keep the whole AR file (GLB or USDZ) to a few MB for cellular-speed first load
  • ARKit/ARCore apply automatic lighting estimation, so avoid baking hard directional shadows into textures
  • Add a soft baked shadow-catcher plane beneath the model to ground it on a real floor
  • AI-generated models are yours to use commercially in AR demos, no attribution required

Real-world scale is the one thing a game export almost never has to think about, and AR cares about nothing else more. ARKit and ARCore both trust the units embedded directly in the file to size the model against a room tracked through the camera via SLAM, so a model authored as a generic "1 unit tall" will either appear as a tiny tabletop miniature or tower over the furniture depending on the export scale factor. glTF and GLB specify meters as their one native unit unambiguously, so a model meant to sit on a real desk should measure roughly 0.1 to 0.3 real meters, and a full-size prop like a chair needs to be modeled and exported at true human scale rather than a stylized arbitrary size. Get this wrong and no amount of pretty shading saves the demo; the model floats through the floor or dwarfs the room the instant it is placed.

Two platforms genuinely need two different files. iOS AR Quick Look, reachable through Safari, Files and Messages, requires USDZ specifically and will not open a GLB or FBX directly. Android's Scene Viewer and Google's model-viewer web component, which layers both platforms under one HTML tag, read GLB directly and hand off to ARCore. A properly cross-platform AR page therefore usually ships a GLB and a USDZ side by side, generated from the same source mesh, since no common tool losslessly transcodes one into the other automatically; Apple's Reality Converter or Blender's USD exporter are the usual bridges, though animation and material fidelity can shift slightly in the process.

USDZ inside AR Quick Look is deliberately limited: it reliably supports only a single looping animation clip or a static pose, with no runtime scripting and no interaction beyond the built-in tap-to-place, pinch-to-scale and rotate gestures Apple provides. Skinned mesh animation is technically permitted in the USDZ spec, but support is inconsistent across iOS versions, so the safest AR export is a static model or one simple looping clip rather than a multi-clip game rig, which will not behave predictably once it reaches a phone.

Polycount and texture budget for AR sit tighter than a typical mobile game budget, because the phone is running SLAM tracking, camera passthrough compositing and model rendering simultaneously, on top of a cold-load requirement that often happens over a cellular connection rather than Wi-Fi. A tabletop AR figure should stay under roughly 20,000 triangles with a single 1024px atlas; anything heavier noticeably delays the tap-to-place moment, which is the exact instant a visitor decides whether the demo feels premium or broken. Keep the whole GLB or USDZ file itself down to a few megabytes so that first load stays fast.

Lighting behaves differently in AR than in an engine you fully control. Because your model gets composited into a live camera feed under unpredictable real-world lighting, ARKit and ARCore both apply automatic lighting estimation to relight the model to roughly match the room, so hard directional shadows baked into your textures will look visibly wrong once the device's real-time relighting is layered on top. Instead, add a simple flat shadow-catcher plane beneath the model, a transparent disc carrying a soft baked blob shadow, which is the standard trick that makes an AR object feel grounded on a real floor or tabletop rather than floating just above it.

Every model you generate here, exported as GLB or bridged to USDZ, is yours to use commercially with no attribution required, so a product-preview AR page, a furniture-placement demo for a shopping site, or a novelty AR figurine app can all ship the same generated asset without any licensing question standing between the model and the phone screen.

Get the AR pipeline right

Frequently asked questions

Do I need both a GLB and a USDZ file for AR?

Yes, for full cross-platform coverage. iOS AR Quick Look requires USDZ, while Android Scene Viewer and the model-viewer web component read GLB directly. Generate both from the same source mesh.

Why does my AR model appear the wrong size?

ARKit and ARCore trust the real-world units embedded in the file. glTF/GLB is authored in meters, so a model scaled as an arbitrary "1 unit" tall will render at the wrong physical size. Scale the mesh to true real-world dimensions before export.

Can an AR model be animated?

USDZ in AR Quick Look reliably supports a single looping animation clip or a static pose, but not a full interactive animation state machine. Keep AR-bound exports to one simple clip rather than a multi-clip game rig.

Why does my model float instead of sitting on the floor?

Add a soft, baked shadow-catcher plane beneath the model. Because ARKit/ARCore relight your model with automatic lighting estimation rather than your baked shadows, a flat shadow disc under the object is what visually grounds it in the real scene.

Can I use AR models commercially?

Yes. Every model generated here is yours to use commercially with no attribution required, including in product-preview AR pages, real estate placement demos or novelty AR apps.

Related

Browse all

Need a custom low-poly model?

Generate one from a text prompt or reference image, then export GLB, FBX, OBJ or STL.

Open the generator