- Take photos, showing the object from every possible angle. Ideally, the photos should have at least a 70% overlap. Prefer an even and contrasting background, and use shadow-free, smooth lighting. Use the highest resolution possible and a large depth of field to get sharp and crisp imagery of the object. The object should fill the frame as much as possible, without being cut off.
- In ObjExImg, choose the folder containing the photos and pick the desired quality. Start the reconstruction by clicking Create 3D Model
- Preview and export the results
Taking good photos of an object is the most important prerequisite to achieving high-quality results. Since ObjExImg is a graphical interface to the photogrammetry engine of macOS, it’s highly recommended to have a look at Apple’s documentation about capturing photos for photogrammetry.
Apple also provides an introductory video, and, in case you just want to try the process first without taking your own set of photos, some example photo sets.
To get this right out of the way: Photogrammetry is no magic silver bullet, it does not work equally well for all objects, and some objects won’t produce usable results at all.
Photogrammetry reconstructs a 3D model by identifying the same points on the surface of an object in photos taken from different angles. This implies that the surface of the object must consist of uniquely identifiable landmarks, whose appearance does not change with the direction of viewing and lighting.
Good candidates are matte objects with detail-rich textures. Problematic are evenly colored and especially dark surfaces, and shiny, reflective, or translucent areas.
For best results pick Raw or Full detail level:
- Raw results in the highest resolution mesh in the terms of vertex and face count but produce only a color map. It’s the most useful option for use cases like 3D printing or CAD, where you’re most interested in the exact shape of the object (as opposed to how it looks).
- Full gives a lower resolution mesh, but in addition to the color map also generates normal, roughness, and occlusion maps (which to some degree compensate for the lower resolution mesh). This is useful for real-time rendering applications like AR, VR, and gaming, or when the overall look of the model is more important than a very detailed shape.
If the lower detail levels produce undesirable artifacts, instead of re-shooting photos try higher detail levels first.
Object Masking: For most use cases, it is desirable to isolate the object from its environment. Toggle if you want the full scene as photographed to be reconstructed (results may vary).
Feature Sensitivity: Try experimenting with this option. High produces better results for some objects, and lesser for others.