Automating photogrammetry with a one-click tool
A rundown of how we developed a fully automated photogrammetry tool that lets us turn high-res scan data into finished in-game assets with the click of a button.
A while ago, we posted a series of articles describing why and how we work with photogrammetry at Embark. Rather than sculpting and painting assets from scratch, we find that processing photogrammetry can be many times faster and yield much better and more realistic results if done the right way.
But as popular as it has become, photogrammetry is still a recent addition to our toolbox. That also means it has plenty of development potential.
Over the past year, we’ve been effectively using our in house tool, made in Houdini, that automates the steps from high-resolution scan data to finished in-game assets.
Before getting into the detail on what it does and how it works, let’s rewind the tape and consider how photogrammetry is usually done.
With a conventional photogrammetry workflow, the turnaround time for a simple rock is a couple of days. For any biome, you typically narrow the asset list for a specific biome to 3–4 rocks, 3–5 large boulders, and 2–3 bigger cliff assets.
In a perfect world, you would finish a biome in a few weeks. But, as we know, we don’t live in a perfect world, and you’re likely to encounter obstacles along the way.
The artist in you would also love more time to explore, try different things, play around with what you’re creating, and regret decisions made earlier in the process. But we know that the time for that, in the middle of a production, rarely exists. In most cases, the process of creating a final game asset allows for ONE try. At least until now.
At Embark, we’d like to get to a point where 3D artists can work in a similar way as our concept artists — cutting, adding, and remixing things on the fly until we’re satisfied with the result.
And this isn’t just a matter of time and cost. It’s just as much about creativity and happiness. For many, becoming a game artist is a dream job, one you spent thousands of hours of practice to arrive at. It would be a shame if most of the work centered around LODs, collisions and UV maps, rather than creating art.
And that’s where our “one-click-photogrammetry” tool for Houdini comes in. It automates most of the steps in the photogrammetry workflow, and with a click of a button, the tool:
1. Reads in photogrammetry data from Reality Capture2. Cleans up the geometry from tangles and non-manifold geometry that won’t handle reduction well3. Reduces the geometry with good curvature retention 4. Automatically unwraps UVs with minimal distortion, no overlaps and a sensible UV shell count5. Bakes all the needed textures6. Packs textures for our Unreal materials7. Exports packed textures and FBX to our game project structure8. Imports and sets up the asset in Unreal
Developing this tool wasn’t straight forward. We encountered a number of issues that we had to deal with, especially with regards to how to clean up geometry, reduce it with good curvature retention, as well as how to unwrap UVs with minimal distortion. We’ve detailed some of these hurdles and how we went about solving them in the video below.
This tool of ours has greatly increased the speed of our photogrammetry production, which is a huge win in itself. An even bigger win has been the way our artists make use of it in their day-to-day work — revising content, reprocessing assets, or quickly create new assets that fit their needs better.
Automation is definitely not killing our artists' creativity. It is giving us a chance to put even more love and polish into our environments, instead of having to accept what’s already done and move on for lack of time. And this is just one example of how we’re changing the way we go about building games at our studio. We can’t wait to show you more!