Skip to main content

Module actor

Module actor 

Source
Expand description

SkinnedActorPlugin: many independently-animated skinned actors sharing one Skeleton.

Each SkinnedActor has its own playhead, clip, and play state. Within an actor, all SkinnedActorParts deform from that actor’s pose, so the parts of a multi-mesh character animate in sync. Across actors, animation is independent: a crowd of N actors with staggered playheads animates as N distinct loops over the same source data.

Compared to super::SkeletonPlugin + super::ClipPlayerPlugin:

  • That pair runs one animation: the player writes one Pose to resources and one or more SkeletonPlugins consume it. Good for a single character (potentially with many parts) animating in lockstep.
  • SkinnedActorPlugin is the multi-actor case: a crowd, a stadium of NPCs, an army. One plugin holds the shared skeleton and N actors that each animate independently, in a single phase tick.

This phase is the CPU baseline. The same actor/part decomposition is what a later GPU-skinning path will turn into per-actor joint-palette uploads and per-part skinned draw calls, so callers should target this shape now.

Structs§

SkinnedActor
One independently-animated actor. Its parts deform from this actor’s pose each frame; other actors in the same plugin animate from their own.
SkinnedActorPart
One skinned mesh of an actor. All parts of an actor share that actor’s per-frame pose; each part owns its own bind-pose vertex data and GPU mesh because the CPU LBS path writes deformed vertices back per-mesh.
SkinnedActorPlugin
Runtime plugin that animates many actors sharing one skeleton.