This is a Houdini tool that takes as input a file containing FBX assets and another file with their associated textures, following the Unreal Engine workflow (Base Color, Normal, ORM). The tool automatically optimizes each texture to generate cleanly organized asset sets.
This project allowed me to learn and grow in many areas.
---
TOP Network :
To process a large number of assets within a limited time, I had to get familiar with Topnets, which I wasn’t very comfortable with before. I’m now confident using them for large-scale asset processing.
---
COP Network (legacy and new systems) :
I modified the Labs Maps Game Baker node so that it can:
transfer occlusion (instead of only generating it), export either a single combined texture for ORM or three separate maps as needed.
---
Python :
automatically create shaders for each processed asset, extract individual components from a combined ORM map and includes an implementation of the mip flooding algorithm presented at the GDC 2019 talk on God of War, to minimize the final texture map size as much as possible.
---
VEX and Optimization :
I designed a system based on the knapsack problem, a classic in combinatorial optimization. The VEX algorithm calculates the UV surface area of each mesh and generates the most optimized UV set possible. In this second version, it's possible to choose the percentage of texel density loss, allowing the UV optimization algorithm to slightly resize the UVs with a margin. This makes it possible to save even more texture space without any noticeable visual impact.
---
This tool wouldn’t have come together so quickly without the invaluable help of my dear mentor, whom I thank once again :
https://www.artstation.com/quentin_nedelec