Alembic Face Sets exported randomly

   3296   7   1
User Avatar
Member
17 posts
Joined: March 2017
Offline
Hi!

did anyone experience the same issue?

I imported an Alembic file with different Face IDs to Houdini. But when I export it back via Alembic. The Face IDs are fine, but randomly distributed? I cannot see any pattern. It's neither alphabetically nor based on face count.
My node tree consists of: Alembic Import Node –> Unpack –> ROP Alembic Output.

Does anyone has a solution for this?

Thanks in Advance!
User Avatar
Staff
329 posts
Joined: July 2005
Offline
Could you post an example illustrating this problem?
User Avatar
Member
17 posts
Joined: March 2017
Offline
yes of course!
I am using 3ds Max' Multi Sub Object Material.



On the left side you see the original mesh with correct Material ID order and on the right side the imported Mesh with the wrong material order. The grouping is basically right, but they dont't have the correct order/ID…

These are my simple import export nodes:
User Avatar
Member
17 posts
Joined: March 2017
Offline
Bottom = Original
Top = Alembic Export




I made a test with some primitives. If I stay under 9 IDs, everything is okay.

But when I have more it will mix them up…
User Avatar
Staff
329 posts
Joined: July 2005
Offline
Sorry, I meant a .hip file (and input Alembic archive) exercising the bug so we can track down exactly what is going wrong.
User Avatar
Member
17 posts
Joined: March 2017
Offline
ah okay. Here are the test files:

Attachments:
test.hip (433.6 KB)
test.abc (354.3 KB)
test.max (684.0 KB)

User Avatar
Staff
329 posts
Joined: July 2005
Offline
It looks like 3ds Max cares about the order facesets are defined instead of identifying them by name.

Facesets are represented in Houdini as primitive groups. However, Houdini's geometry model does not preserve the ordering of groups so the ordering is lost and it looks like this confuses 3ds Max.

We made a change to the Alembic ROP in Houdini 16.0.696 so it will create facesets in sorted order. We think they should now be exported with an ordering that 3ds Max expects.
User Avatar
Member
17 posts
Joined: March 2017
Offline
thank you very much! I'll try it out for the next project, when there is a production build - because for the current project I found a workaround.

My current workflow is to merge the whole building in order to create one MultiSubMaterial then splitting the Mesh by its material IDs by a script.
All faces with ID 1 are named: 001
All faces with ID 2 are named: 002
All faces with ID 3 are named: 003
and so on….

After importing the .abc file as “Unpack Alembic Delayed Load Primitives” in Houdini I can see the prim groups named 001, 002, 003,…
Then I export it and everything is in the correct order.
But however this is kind of a hacky way…
  • Quick Links