How to Use KIRI Engine to Create a 3D Model of Your Dish
What KIRI Engine actually does
KIRI Engine is a free photogrammetry app for iPhone and Android. You walk around a subject taking overlapping photos (or a short video) from every angle, and the app's cloud pipeline reconstructs a 3D mesh from those images. It matches the same points across frames to figure out the shape, then wraps the original photos back onto that shape as a texture.
For ART, the subject is a plated dish. The output you need is a `.ply` file: a raw 3D point cloud/mesh with color. You upload that `.ply` straight into your ART owner console, and ART's own cloud pipeline takes it from there, compressing it and converting it into the lightweight `.glb` (and `.usdz` for iPhone) that actually gets shown to diners in WebAR. You never touch a 3D modelling tool; KIRI Engine's only job is the scan.
Before you open the app: set up the shot
Photogrammetry lives or dies on the quality of the source photos, not on any setting inside the app. Get these four things right and the scan will almost always come out clean.
- Use a matte, opaque plate. Glossy porcelain and dark plates create reflections that confuse the point-matching. A plain matte plate, off-white or neutral, works best.
- Avoid glass, clear liquids and mirror-finish cutlery in the shot. Transparent and highly reflective surfaces don't have a consistent "shape" the algorithm can lock onto.
- Light it with soft, even daylight or diffused studio light, never direct sun or a single hard spot light. Hard shadows get baked permanently into the model's texture, so a shadow that looked fine at 2pm will look wrong on the menu at 8pm.
- Add a garnish or texture the dish naturally lacks (a herb sprig, a drizzle, sesame seeds). Perfectly smooth, uniform surfaces, like a plain scoop of rice or a flat sauce, give the app very few distinct points to track between frames.
Step 1: Capture the scan
Open KIRI Engine, start a new "Object/Food" scan, and place the dish on a table with room to walk all the way around it. Keep the background reasonably plain and static. Moving people or shifting light in the background can throw off tracking.
- Start about waist height and walk a slow, complete circle around the dish, keeping it centered in the frame the whole time.
- Do at least two passes at different heights, one roughly level with the plate and one from higher up looking down, so the app captures the sides and the top.
- Move slowly and keep the phone steady. Overlap each shot heavily with the last one; photogrammetry needs the same points visible across many frames, not a handful of wide-angle shots.
- If the dish has an interesting profile (a tall dessert, a stacked burger), add a close third pass focused on that detail.
- Finish by capturing the empty plate rim and table edge around the dish for 1–2 seconds. It gives the app clean reference geometry to anchor the scale and base of the model.
Step 2: Let KIRI Engine process it
Once capture is done, KIRI Engine uploads the frames and processes them in the cloud. This typically takes a few minutes depending on frame count and your connection. You'll get a rough preview first, then a higher-detail pass.
Check the preview before you accept it. Rotate it around on your phone and look for the failure signs below. It's much faster to redo the walk-around now than to discover a hole in the model after it's live on a table.
- Holes or missing chunks, usually on the underside of the plate or wherever the camera never pointed.
- A "melted" or smeared look on glossy or reflective areas, a sign the surface confused the tracking.
- Warped edges around the rim of the plate, often from moving too fast during capture.
Step 3: Export the .ply file
When the model looks clean, export it from KIRI Engine as a `.ply` file (not `.obj` or `.glb`, because ART's console expects the raw `.ply`). Save it somewhere you can find it on the device or computer you'll use to log into your ART owner console.
Step 4: Upload to your ART console
Log in at your ART owner console, open the dish you're adding or editing, and upload the `.ply` file. From there you fill in the dish name, price, description and any dietary tags, and ART's automated cloud pipeline takes over: compressing the mesh and converting it into a mobile-optimized `.glb`, plus a `.usdz` for iOS Quick Look.
This conversion is fully automatic. There's no manual 3D modelling or retouching step. Once it finishes, the dish is live and calibrated to true physical scale, so a 24 cm plate genuinely measures 24 cm when a diner views it in AR on their table.
Common mistakes that ruin a scan
In order of how often they actually happen:
- Scanning under a single overhead light, which bakes a hard shadow onto one side of the dish permanently.
- Moving the phone too fast, which causes motion blur in individual frames and gaps in the final mesh.
- Scanning a completely smooth, single-color dish with no reference points for the algorithm to track. Add a garnish first.
- Only capturing one height level, which leaves the top or underside of the dish poorly reconstructed.
- Letting people or other movement into the background during capture, which can distract the tracking algorithm.
Good habits once you're doing this regularly
If you're scanning a full menu, set up a fixed "scan corner" in the kitchen, with the same table, background and light, so every dish is consistent and you're not rebuilding the setup each time.
Scan a couple of test dishes first, including one you expect to be difficult (something glossy or dark-plated), and check the results before committing to a full menu photography day. It's much cheaper to learn the failure modes on two dishes than on forty.
