Alembic and Materials Elements

Hi,

I have some issues with my alembic import in unreal.
When i import the element as a static mesh, every material elements are presents but when i use the geometry cache… Can’t find only 4 elements and one overrides them all x).
Anyone have an idea about it?

Thanks

1 Like

I battled with this for weeks as there is so little information on it.

here is what works
Make sure you have applied materials to each piece of your geometry
Export your alembic cache from Maya (or whatever you use) Make sure you have UV write, Face sets, Write colour sets and Write UV sets checked

In Unreal: import as geometry cache, check - find and create materials
… but here is the one thing that took me ages to work out TURN OFF “FLATTEN TRACKS” … I don’t know why this is on by default, but once off, you will see all your materials in the slots, and you just reapply materials to each element

Hope it helps

4 Likes

[USER=“3405991”]Full Rotation[/USER] Thanks for the Flatten Tracks option!
Now, as we get our material slots in place, how we can tell the UE to automatically apply thouse materials during the import process?

Let’s say, we have a complex asset with number of sub-meshes and ID materials applyed for each mesh (in maya).
We import that asset as a Static Mesh and pass it to lookdev department for the final surfacing (ending up with all asset materials ready to use).
Now, as we import ABC animated cache for each individual animation for that asset it would be nice to have all the materials fill in their slots according to each material ID. Owervise, we have to manually re-apply each material to each slot for each new animated cashe asset.

Does any one knows how to actually handle this case?

Thanks mate for the trick [USER=“3405991”]Full Rotation[/USER] .
Sorry @A.Borzykh , i don’t have the solution to automate this. But perhaps you can to it with a python pipeline?

[USER=“724850”]Multiply Studio[/USER] Hey, I actually gathered all the tech requirements to deal with the materials on animated cache. It just requires a few vital steps to follow:

  • apply all your materials on a Face level rather than shape level

  • check Face Sets option box during the ABC export

  • make sure that all of the previously imported materials re-named to their Shading Groups - just add SG at the end of a material’s name.

  • uncheck Flatten Tracks

  • check Apply Materials

    One thing to mention is that, sometimes, apply materials option may crush UE during the import and I wasn’t able to fugure out the cause of it.

For anyone still looking for this, since this is the top result I will post some more research:
Flatten Tracks has nothing to do with the ability of the engine to recognize materials. The crucial part is to export Face Sets from you software of choice.
Then, you can either tell Unreal to look for materials (nomenclature will be important, otherwise it won’t find them), or to create new materials for each Face Set.

Flatten Track will simply determine whether you want to keep submeshes or let unreal bake all the vertex information into a single mesh. It worked for you because, if you do not export Face Sets, then Unreal does not have any information of what to do and where, and letting it keep submeshes includes information on those specific submeshes materials. Still no information on materials applied on specific faces.
When the “remeshing” is done (Flatten Tracks), having Face Sets lets Unreal know what material goes to which face, and thus keeps it consistent.

Hope it helps.

1 Like

Hey, just for an even more explicit explanation, I made a video showing how to set up materials and export from Maya and import into Unreal while have your materials be applied automatically as well.

and flatten tracks should remain on in most cases, which is why it is on by default.

3 Likes

thank you!!

1 Like

I love you!
Exactly what i was looking for :slight_smile:

Thank you so much for sharing this. Exactly what I was looking for and managed to get it to work from Houdini (without Houdini Engine, just simple alembic export)

Anyone wondering and reading this :

  • convert your material assignment into prim group. The group name need to match your Unreal material name
  • ROP alembic export
  • In unreal, enable “Find material”. It can be imported both as Statich Mesh or Geom Cash

(using UE 4.3 and Houdini 19.5)