Is it possible to play alembic simulation and how?

Hey!

Trying to run alembic simulation using timeline, visualisation is working in the editor, but I can’t make it work in the actual app. I have tried adding Playable Director and Playable Director Additional Data components - no luck.

Would appreciate if you can share your experience with alembic and needle :slight_smile:

Hi Aleksandr! Here’s a step-by-step plan to handle Alembic simulations in Needle Engine:

Pseudocode Plan

  1. Check Alembic Import and Export:

    • Ensure your Alembic cache (.abc) is exported from your DCC (like Blender, Houdini, or Maya).
    • Verify visual playback works in Unity Editor via Alembic package.
  2. Export to Needle Engine:

    • Confirm Needle Engine exporter supports Alembic.
    • Export GLTF/GLB from Unity with baked animation, not Alembic directly.
  3. Playable Director:

    • Playable Director supports Timeline-driven animation.
    • Alembic data often isn’t exported to GLTF/GLB, only standard animation.
  4. In Browser Playback:

    • GLTF/GLB supports bone or morph animation, not Alembic caches.
    • Alembic simulation can’t be played in the browser unless converted to standard GLTF animations (i.e., baked out as keyframes or morph targets during export).
  5. Alternative: Use Flipbook Animation:

    • If mesh data changes every frame, export each frame as a morph target or frame in the GLTF.
  6. Component Approach:

    • Create/use a custom component to drive Timeline or mesh updates in sync with app runtime.

Implementation (Typical for Needle/GLTF)

  • Bake Alembic animation in Unity into a Skinned Mesh or blendshape/morph target animation.
  • Export animated GLTF.
  • Auto playback is managed by the Animation or Animator components in Needle Engine.

Example: Play animation on load

import { Behaviour, Animation } from "@needle-tools/engine";

export class PlayAnimationOnLoad extends Behaviour {
    start() {
        const anim = this.gameObject.getComponent(Animation);
        if (anim) anim.play();
    }
}

Attach this to your animated GameObject.


Key point:
Needle Engine supports GLTF/GLB animation but not raw Alembic caches in browser. Convert Alembic > standard animation (via morphs/skin) before export.


Recommendations:

  • Bake your Alembic simulation to morphs/skin animations in Unity or your DCC.
  • Ensure your .glb includes these baked animations.
  • Add an Animation or Animator component in Needle Engine—use Timeline if you need precise control.

For more, see: Needle Engine Docs – Animation


Tips for Good Questions:

  • Specify your DCC tool and Needle Engine version.
  • Clarify if you want mesh deformation or baked vertex animations.
  • Share any output logs or errors you get on export.

Want guidance on baking Alembic as morphs or keyframe animations for export?

1 replies left - Get a PRO license for more AI replies.
thread_D2dvdHyXP0CxEtz7aFrP2c5A
Reply to this post directly if you need further help (bottom right button)