Tutorial: 3D model quality in Blender (photogrammetry)

Prerequisites: this site has limitation to 10 images. So, I cannot show all screenshorts at this page. You can download screenshorts and texured model here.

At recent time I tried to add photogrammetry model in Defold. Firstly it doesn’t work in HTML5, but later I got an error.

The reason of it that the model had bad quality. But Defold requires good quality of model.
I did find the way how to improve photogrammetry model. And this tutorial is about it.

You can download free photogrammetry model from Scketchfab.
If you prefer fully manual retopology, you can watch this video.
You can use Blender’s addon for retopology from Blender Market, or some external app. I use Instant Meshes.
You can create your own photogrammetry via Meshroom.

Your model needs to accord to all standard requirements like as:

  1. one edge can be connected only to one or two faces (but not thee or more)
  2. any face can have only 3 or 4 sides (but no more) etc.

Also you need to clean rubbish geometry.
Also you can make some parts of you geometry more flat or smooth and so on, or paint some elements (I don’t show it here).

Then you download or generate RAW photogrammetry, you get really bad topology:


Same models have 1 or 2 millions of faces and have about 200 Mb on hard drive.

First step: we need to delete looping geometry by simple voxel remesh. The more little size of voxel the sharper edges and the bigger number of details you save. Also, you can triangulate this mesh.

In edit mode set mouse cursor above main geometry, press “L”, use “Select-Invert” and delete rubbish geometry.


Use Instant Meshes or another retopology tools or apps. (Choose “Target vertex count”, press borth “Solve” and “Extract mesh”).


“Select Non-Manifold” in edit mode for Vertices and Edges is the main tool for checking trouble of geometry. You can leave only “Boundaries” checkpoint if your mesh is not closed. May be another retopology addons or external apps makes better result than Instant Meshes.


For “Multiple Faces” you need to split according edges. Press “L” and “Select-Invert” and “Delete” to remove faces, that was third at the edge.

Make same thing with wrong vertices.

Triangulate faces and quadify them again to avoid 5 sides polygons.

Use “Merge by Distance”, against invisible holes. Select visible holes by “Select Non-Manifold-Boundaries” and press “F” to fill.

It highly possible, that some little parts you need to repair manually.

If “Select Non-Manifold” doesn’t select anything, your mesh is clean. But it is not the end.

You need to recalculate normals. Also, it is additional test for quality of your model. If model is broken, this tool would work incorrectly. This model is interior, so, I use “Inside” option.


Normals must be merged, and Shading must be smoothed.

You can use “Smart UV Project” and “Pack Islands” or addons or external apps for UV-unwrap (for texture). Also generate new image in Blender (4096x4096) for texture baking. Also, you can make unwrap manually.

Use any place in UV quad. You can add some seems for UV unwrap for cutting long details.


Upload high-poly RAW photogrammetry model, set Cycles-Render and other settings as on the screenshort and bake the diffuse texture from high-poly to low-poly.

If final model has bugs, it is not be shown in HTML5 (here I didn’t add Shade Smooth and Normals Merge).


If model is clean, it works in HTML5, Debug mod and Windows Bundle.

P.S.: It is just a test project, so I made this middle-poly model roughly. For more beauty result you can use additional tweak tools, like as sculpting.

6 Likes

Maybe @britzl would like to convert this into a blog post or a tutorial.

Its spam with backlink

Are you sure?

Could you please share the Defold project? Perhaps as a repo on GitHub so that we can try it ourselves?

I would like to be wrong, but new user and link https://alicevision.org/

It’s still related and tutorial goes through all of the steps :smiley: I don’t think it’s spam :smiley:

@IgraYuchi thank you very much for this! If it’s working in HTML5, I’m also working on extensions simplifying AR, I see a lot of potential here! :heart_eyes:

2 Likes