I've tried to utilize Houdini to procedurally generate cliff meshes from a landscape slopes to use in Unreal Engine. I've been able to generate the mesh, but for a few days now, I am failing to figure out how to unwrap the low poly version of the generated mesh so that I can bake a high poly normals onto it.
I have tried Labs AutoUV, various combinations of the Autoseam, UV flatten, UV layout, UV unwrap nodes in all sorts of combinations, but I never ever could get any acceptable result without either significant UV distortion, UV island overlaps, poor UV space utilization or excessive processing times.
The main issue that the Labs AutoUV and Autoseam + UV flatten workflow suffered from was overlaps. It was borderline impossible to find any combination of parameters which would not result in large amount of UV overlaps:
The only way to get rid of most overlaps was to reduce merge threshold to 0.0, which then generated large amounts of often single triangle islands which Houdini's super slow UV packer (UV Layout) took dozens of minutes to pack, and caused too many UV seams which caused some issues in the game engine. Not only that, but this also removed only most of the UV overlaps, not all of them. Some UV islands were still projected from weird angles, having some UV faces overlapping each other.
Next attempt was using the entire large cliff chunks as UV islands and relaxing them with UV smooth. This was not slow, but resulted in extreme UV distortions and very poor UV space utilization.
I have asked two of my Houdini user colleagues to have a crack at it, but both of them failed to figure out anything usable. When one finally figured out some approach, the processing time of the resulting solution was so long it was impossible to iterate in a reasonable time.
I am attaching the .hiplc file with the source assets in case someone wants to give it a try.
https://drive.google.com/file/d/1INloIUmhENtIcnDtJgjtorQm0KxV3bLC/view?usp=sharing [drive.google.com]
I'd be thankful for any clues since I've burnt already 3 days on something I am able to do in Blender in 30 seconds. At the same time, doing it manually in Blender kind of defeats the purpose of the entire automatic procedural pipeline and would negate the benefits of going procedural.
Thanks in advance.