Hi. I noticed that a simple Alembic file containing only points is slow, so I made a sample to demonstrate it. It’s just 100 points oscillating along Y.
The top example plays fine, but the bottom takes around 40 ms.
Both use the same source animation, but the bottom is exported as packed points with transforms, while the top is raw deforming points.
I need frame interpolation in TouchDesigner, but “Interpolate” appears to work only with packed transforms—so I can’t get both smooth playback and interpolation. If there’s another way to load this kind of simple point animation with attributes and allow speed control, I’d appreciate any pointers.
This may be related, but I split it here since it felt slightly off-topic.
If the root cause is the same and a fix is already in progress, please forgive the duplication.
Interpolation is currently only done between dynamic transforms at the object level, but we will extend that to interpolate position between all animation samples. Apologies for the confusion.
The large cook time difference is due to some per-object overhead (Alembic files have 1 object vs. 100 objects) in large part because of some transform operations. I will make some improvements there to reduce that cook time. And yeah, as you may have seen in the other linked thread, we are also working on other more general optimizations for loading.
Thank you for looking into this as well. I understood the situation.
Given how things stand, I guess I’ll stick to the FBX format to achieve both “simple point animation” & “custom playback rate” for now.
But Alembic is too good a format to pass up.
Looking forward for the improvements in the future!
I’ve improved the linear interpolation so that it is done per point position, rather than per object transform. I’ve also reduced the transform overhead at the object level, which will decrease the overall cook time of your packed points example.
These changes will be in the next official build we release: 2025.32121+. Thanks for the report.