In this project I utilized photogrammetry to create a 3D model of a Danish ammo crate. In addition to making a high-poly version, I also optimized it for web by reducing its file size and simplifying its geometry. To accomplish this, I used Blender to do retopology and decrease the number of polygons, resulting in a more optimized version of the model that performs more efficiently on the web. Lastly, I applied compression to the final .glb (glTF format) model to further minimize its file size, thereby maximizing its performance and usability for web viewing.
I started out taking pictures of the top of the crate. When I had enough pictures of the whole object and the small details that I wanted, I rotated the crate to get some pictures of the bottom.
The lighting conditions were optimal as it was overcast, which helps diffuse the light and creates very soft shadows
I took a total of 107 pictures for this scan
When it isn't possible to take pictures of the whole object, you can generate a mask for your pictures. This way you can combine multiple sets of pictures even if you move the object.
This is what it looks like when you filter unwanted geometry and then generate a mask
This is done for both sides of the model
When combing models, you might encounter that you have to add control points, or else you get multiple objects. In my case I ended up with three models after analyzing the masked images. I added control points that were easy to find in multiple images, so that the software could find its position.
After adding three control points I analyzed the images again, and ended up with one model combining both the top and bottom images.
After creating the high poly model of the crate, I exported it into Blender to create the new optimized topology.
After finishing UV unwrapping I imported the model into Reality Capture and started reprojecting the textures onto the new low poly model.
After a little work in Substance Painter the model was ready to be exported in gltf format and then compressed from 45MB to 407KB with 1k textures