Photogrammetry for Game Development
by Hristo Iliev | Last Updated:
3D & Game Design
I have tried many times to learn to do 3D modeling for games but it always seems out of my reach to learn. It is quite complicated from the modeling step through the texturing and then baking details into a simpler mesh. This takes quite a lot of time and if you want to achieve good looking indie games it seems out reach. I am only good at low-poly modeling or general baking and fixing techniques. This is why I’ve come to the conclusion that for me the best approach is to do photogrammetry. Photogrammetry is the process of creating 3D assets through doing photographs around the object. Essentially it is a way to 3D scan an object but without the expensive 3D scanning equipment.
Photogrammetry is actually known for some time and is used by some of the biggest game companies. For example Epic games bought RealityCapture which is a photogrammetry software. This is actually one of the paid options I wanted to mention. But I will get to that. First lets talk about the process.
The process of photogrammetry is:
- Capture images of the object. These have to be taken from all sides and from my personal experience you have to have above 100 phtos at least for simple things if you want high quality model. Often I go for around 250 photos. And make sure that there are no shadows (except if you don’t want naturally baked shadows). Either shoot in an overcast day, in a shadowed area or in a studio with controlled lighting.
- Plug the pictures into your favourite software for processing. Make sure the pictures are clear and that the object is in focus. Remove pictures that are blurry – that will make the model worse in the end and better not to have a picture than it to be blurry. The software then does the following few steps.
- Calibrating the cameras and creating the sparse cloud. It is calle a cloud because the software determines some points that can be observed by multiple angles or from multiple photos. Based on the camera data that is hidden inside the pictures as metadata the software then triangulates those points in 3D view and essentially it looks like a cloud. In this step you can determine whether the model looks correct in general.
- Then you generate the dense point cloud. That pretty much determines your model and you will be able to decide whether the whole render will be successful.
- After what follows up is meshing the object. Here you can usually remesh, fill holes or simplify or densify the polygons.
- And finally the software applies the textures.
There are quite a few options available out there that you could use to do photogrammetry. I presonally like 3DF Zephyr but I will get to that.
This is the free and open source option. This application will allow you to put pictures into it and they will go through a fully customizable pipeline. The project is really cool and absolutely free but there are a few drawbacks that I noticed around it. First the interface seems nice at first but then if you try to modify the pipeline you get so many specific options. And it is really hard to get what they do. There is also no way to influence the sparse and dense cloud generation. Also it takes a lot of processing power and I found that I had to install a tool called Process Lasso that can limit what system resources a program can use.
In general even though it is open-source I wouldn’t recommend this option. Better go with the paid ones.
This one is really simple to use. Plugin the pictures, generate the sparse cloud, generate the dense point cloud, generate the mesh, texture and export. It can also do turntable objects through masking and everything. And also at every step you could delete points or polygons, remesh, fill holes, etc. It is also the fastest of all of them.
Owned by epic this is a really good option. The licensing model is a bit wierd. you can plug-in pictures and generate the model as well as control every aspect of it. But at the end you pay for the model based on how many pictures you have as an input. And you actually pay per model for exporting it. Otherwise a really great tool and as with 3DF Zephyr you can control everything in the pipeline.
Similar to 3DF Zephyr this is a really great tool for photogrammetry nothing too different to say there. It has the same pros and cons. You can buy it for lifetime access but it seems that the lite version here has less options than the lite version in 3DF Zephyr. Seems to produce a bit better models though.
A last thing to mention here about photogrammetry. All of the mentioned tools will generate highly detailed models and usually with a high vertext count and density. This means that you need to remesh it or rebake it into a simpler models. This might be a little bit of work but it still saves time as you still get the high quality texture and the ability to bake the normal maps from the dense model. It is still faster than creating a model from scratch.
As an end note I want to share my model generated with 3DF Zephyr as well as my whole collection which is on CGTrader.
I hope you like it and you found this article informative and useful. I might post more about my process or post-processing in later articles.