Page MenuHome

Alembic Import does not apply `MeshSequenceCache` to all animated Meshes
Closed, ResolvedPublic

Description

System Information
Operating system: Linux 4.19.0-10-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64 GNU/Linux
Graphics card: NVIDIA Corporation GM107GL [Quadro K2200] (rev a2)

Blender Version
Broken: 2.90
Worked: N/A

Short description of error
I work with Alembic files which contain Meshes that may have constant geometry but varying vertex colors.
Importing an Alembic file containing such data only creates a MeshSequenceCache on the Meshes that have geometry changes.
The missing Meshes are created and their first Frame is imported. Manually adding MeshSequenceCache modifiers with the correct object-paths to them yields the expected result.

It seems to me like there is some optimization that prevents the creation of MeshSequenceCache modifiers on Meshes with constant geometry without considering if they have other animated properties.

Exact steps for others to reproduce the error

  • Import the attached Alembic file using the "Import->Alembic (.abc)" operator.
  • Observe that the correct Objects have been created but that the MeshSequenceCache modifier has only been applied to "Contour1"

Optional:

  • Manually create a MeshSequenceCache modifier on one of the objects, add the alembic file as the source file and select the correct "Object Path" (The same as the name of the object).
  • Observe that the vertex colors on that object are now animated correctly.

Event Timeline

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Sep 30 2020, 7:01 PM
Philipp Oeser (lichtwerk) claimed this task.

Can confirm, think I have a fix for this, modifiers are now created correctly.
It is a bit hard to test, since it seems colors are not really changing much in your file, do you have another [simpler] one -- like a cube with drastically changing colors :)? -- I'll try to create one as well...

@soruh (soruh): So at this point you could try D9057 (if you build yourself), or provide a super obvious test alembic, so I could check this is really working properly (since blender itself doesnt export animated vertex colors at all it seems).

Thank you very much for the quick response!

I'll try this tomorrow when I'm back at work and will attempt to make a more minimal example. (If I can figure out how to use the Alembic library again, their docs are pretty minimal)

Note that the missing writing of animated vertex colors already has its own task in T51488: Alembic export animated vertex color exports only first frame vertex color

Attached you will find two Alembic files which should be useful for testing.
I will now try compiling blender from source to confirm that the fix works for my use-case.

Thx for these!

This is what I get with the patch (so I guess it is working):

Yes that seems correct. Thank you very much!

I have build blender with the patch and can confirm that it works with my data.