Home Technical Talk

Ornatrix (3ds Max) to UE5 - Alembic import problem

polycounter lvl 12
Offline / Send Message
Temppe polycounter lvl 12

I’ve started working on the hair system. I’m using the Ornatrix plugin of 3ds Max to create the groom, and exporting it as an Alembic file into UE5. Yesterday I did the eyebrows and they look okay (for now I’m concentrating on the technical process rather than a convincing groom) but I’ve run into problems with the eyelashes. In fact, I think I had the same problem with the eyebrow, but it’s not as obvious because there are so many individual hairs. In the case of the eyelashes – with only a handful of hairs – the problem becomes very apparent.

the eyebrow groom in 3ds Max (bottom) and in UE5 (top)


The problem is apparent in the eyelashes. Only a fraction of the hairs are being imported into UE5. I spent a few hours tearing my own hairs out trying to figure out where the problem lay. In the screenshot below, I’ve exported the .abc file as usual and then immediately re-imported it back into Max as a V-Ray proxy object. It’s clear that all of the hairs are accounted for.

the Ornatrix groom in black and the V-Ray proxy in yellow – all the hairs are present in the V-Ray proxy


And just to really make sure that the problem was not in the Ornatrix groom or export process, I installed Blender and imported the very same .abc file there.

the hairs in Blender compared to a screenshot from V-Ray (inset) showing that all the hairs are accounted for in the exported .abc file – the red lines have been added for a direct comparison of the number of hairs


And then when I import to UE5, I get a fraction of the hairs. The highlighted area in the corner tells me that there are four curves in total (one is on the other eye) and sixteen guides. There should be twenty curves in total, so maybe UE5 is converting some to guides. I have utterly no idea why this would happen. I’ve never used the Alembic format before today so I’m really in the dark. The majority of the documentation for Ornatrix is written for the Maya implementation – though it seems that I’ve isolated the problem to the UE5 import process so this shouldn’t present a big problem. So far, the UE5 documentation that I’ve come across is super technical and I don’t understand it - or it refers to the UE4 Alembic import process.

Three hairs visible in UE5, compared to eleven in the original groom, the V-Ray proxy and the Blender import


So if anyone has any ideas, I'm all ears!

Replies

  • Temppe
    Offline / Send Message
    Temppe polycounter lvl 12

    I also started a completely new scene in Max, merged the eyelash hair object into it and exported it... and it somehow imports the eyebrow hair into UE5.

    How does this make ANY sense? It's exporting data that isn't even in the scene that it's being exported from...

    My mind is just frazzled.

  • Neox
    Offline / Send Message
    Neox godlike master sticky

    ask their support :)


    tbh i had enough issues that i went back to xgen in maya, which was painful but gave the most reliable results.

  • Temppe
    Offline / Send Message
    Temppe polycounter lvl 12

    Well I have made some progress. The Curve Decimation setting (in the import options) was set to almost zero. I had assumed that zero decimation meant it didn't decimate, but it seems that this is the percentage of remaining curves AFTER decimation. If I set it to any value over 100, I get 52 Curves and 28 Guides.


    In the screenshot there are 26 hairs. 26 plus the 26 on the other eye is the 52 Curves that UE5 is importing. The Ornatrix object in Max has 80 hairs in total, so for some reason 28 of those are being interpreted as guides in UE5, leaving 52 hairs.

    I think the issue I mentioned where it imported the eyebrows instead was an unrelated bug on Max's end.

Sign In or Register to comment.