Adding color to Alembic Out file

Exploring exporting POPS as Alembic through Alembic Out node.
Really useful for creating laser cues and LED simulations.

The issue I now have is that when I export my object, I can reimport it, but the colour appears to be playing back slowly from an Alembic POP. It’s as if the position oinfo is playing bnack realtime, but the colour info at 1fps.

There’s also a knack to adding colour to Alembic exports.
I was trying to add a color attribute. Was getting lots of errors because you to need to add a ‘color qualifier’ to export. This is because if you create a color attribute using say ChoptoPop, the values come in as float4, without a color qualifer to add to the Alembic metadata.

Alembic format needs to have color attribute in ‘color’ format, not float4 fromat. These are essentially the same thing… but different.
You can’t make an alembic-compliant color qualifier with ChoptoPop, you have to do it with a ChoptoSop, then SoptoPop. Attribute has to show as having (color) in the info or it’s just a 4d vector. Painful.

I can now export the ABC file, and import it into C4d. It changes the attribute name to Cd, but otherwise, kinda works. Appears you just export it and the point colours become Cd vertex colours when you import it into C4d. Then you make a material and create a vertex atrribute node in the material. Then drag the Alembic object’s Cd vertex tag into the node.

The issue now is that although C4d takes in the colour info, the Alembic IN Pop does not. It plays the colour info back slowly, but respects the position info. Same with Alembic SOP.

Any tips on how to make this work?

If I could save out alembics for my laser cues with reliable colour, I’d be able to do entire laser shows, saving cues out as alembics. And be able to import them into C4d to do posh renders. Which would be nice.

Hi @lyallmarcus

How are you adding the attribute with the Chop to POP? There is a “New Attribute Name” parameter where you can set it to Color that should apply the correct Color qualifier to the attribute.

The Alembic Out POP will automatically export built-in attributes such as Color, P and Tex (Alembic Out POP - TouchDesigner Documentation) the Color attribute will be exported as Cd of type float4.

As the for Point attribute to vertex, we convert between Alembic scopes and TouchDesigner attribute types. There is a table in Alembic - Derivative

TD Point → ABC Vertex,

TD Vertex→ ABC Facevarying,

TD Primitive → TD Uniform.

Lastly for the Color float3, I can look into exposing that as an option if available.

Huck

Sorry,. kept editing that post.

Thanks for this. You’re right, the New attribute name thing works.
But still got the issue with slow playback.

Try exporting an Alembic with this. And then play it back.
Position all good. Color not so much.

alembic_col_issue.tox (2.0 KB)

Thanks, this looks to be a bug, I will take a look.

Huck