Alembic export doesn't take 'Custom Properties', as alembic non-standard data.
Open, NormalPublic


System Information
Opensuse Leap 42.1 Linux, ATI graphics card

Blender Version
Blender 2.78b

Short description of error
If i add an custom properties, manually or by python api. Alembic export doesn't take care of them (custom properties).
If the alembic file is reloading in blender the custom properties are disappeared. Same for an extra 3d software (maya , guerilla...)
By exemple all 'extra attr' in maya are exported in native alembic export.
In a robust pipeline the absence of this 'custom properties' is a really problems.

Exact steps for others to reproduce the error
-Select cube
-type : pby.context.object["MyCustomProps"] = "foo"
or add it manually in properties panel.
-file > export alembic
-file > import alembic


Bastien Montagne (mont29) triaged this task as "Normal" priority.

@Kévin Dietrich (kevindietrich) again not sure whether this is TODO or bug or something else, will let you handle it. :)

@colin (col-one) do you have an example Alembic file, produced by Maya, that shows how Maya does this? Perhaps we can implement this in a compatible way.

@Sybren A. Stüvel (sybren) just some notes if you wish to tackle this on a rainy day before I can:

  • on Alembic side I guess it would make use of the ArbGeomParams, I have a lot of Alembic archives from various software (maybe we could have a public repo for them? also for regression tests purposes), some of which containing arbitrary properties. Also there is D2324 that could tackle some of this.
  • Blender side is the tricky part. The original patch used to handle custom properties, IIRC only for exports, however it was far from ideal. Campbell suggested to have a single Alembic property-group where all these custom settings can be stored (eg, object["alembic"]), but we scratched it due to lack of workflow examples.

Nevertheless, although some examples files and example workflows would be appreciated, this is more TODO than bug, except maybe for the case where properties are erased when reloading an Abc archive.

I have a lot of Alembic archives from various software (maybe we could have a public repo for them? also for regression tests purposes),

Yes please, share them!

The most important thing in a plurial software pipeline is to 'bake' extra properties in the .abc so we can bake a rigid nomenclature and avoid the mistake renaming or special characters by artists, also through different soft we keep It safe.
An other common use of this extra is used in a pipeline with standalone render engine like Guerilla. The workflow is based on this extra attr which has name 'tags'. With this tags it becomes possible to do shading / lookdev in parallel of animation and rigging. Shading artist generat a rendergraph without mesh who is it merged in final rendering scene with final abc files (who have extra attr tags). This technic will become standard workflow, all standard software manage this extra attr in abc, except 3dsmax and blender (for the moment). It's always used in big production as Illumination Mac Guff, Disney...