Skip to content

Motion And Rigging ​

Opal has several animation workflows that solve different problems:

NeedUse
Move, rotate, scale, fade, or bounce an objectMotion workspace (clips)
Switch between idle, run, jump, and hit object statesMotion Machine
Play frame sequences / locomotion states on a spriteSprite Animator component (including .ssb bundles)
Bake frame-by-frame sprite animation from sheets or loose imagesArt Canvas
Draw or cut out the pixels firstPixel Studio
Build a bone rig for a characterRigging / Skeleton Studio
Deform an image with mesh weightsRigging
Reuse a character across scenesCharacter asset

Most games use more than one. A player might use Art Canvas for walk_left.ssb, Sprite Animator to play it, Motion for squash/stretch on jump, and Rigging for a boss character.

Motion Clips ​

A motion clip is a keyed animation on a scene object.

Typical animated properties:

  • Position
  • Rotation
  • Scale
  • Opacity
  • Flip or visual state where supported

Workflow:

  1. Select an object.
  2. Open the Motion workspace.
  3. Create or select a clip.
  4. Move the timeline playhead.
  5. Change the object's properties.
  6. Add keys and adjust easing.
  7. Preview the clip.

Use short clips for reusable actions: idle, walk, jump, hit, open, pulse.

Timeline And Easing ​

The timeline shows keys over time. Scrub the playhead to preview. Easing controls how values move between keys.

EasingGood for
LinearConstant speed
Ease inSlow start, fast finish
Ease outFast start, soft finish
Ease in-outNatural movement with soft start and stop
Custom curvePolished UI or character timing

Use onion skinning when comparing nearby poses.

Motion Machine ​

The Motion Machine is a state machine over clips. It decides which animation is active based on inputs.

Example states:

text
Idle
Walk
Jump
Attack
Hit
Dead

Example inputs:

InputTypeUse
isMovingBoolSwitch Idle and Walk
speedNumberBlend or choose movement states
attackTriggerPlay attack once
groundedBoolChoose jump/fall states

Flow graphs can set state machine inputs so gameplay and animation stay connected.

Sprite Animator ​

Attach Sprite Animator (requires Sprite Renderer) when an object should switch named animation states or play .ssb sequences. It can auto-select Idle / Walk / Run / Jump / Fall / Landing from an attached character controller when Automatic Locomotion States is on — no extra Flow wiring for basic locomotion.

Use Flow actions such as Play Animation or Set Animation State when gameplay should force a clip.

Art Canvas Relationship ​

Use Art Canvas when the animation is a sequence of different images. Draw or cut those frames in Pixel Studio first when the pixels still need work.

Art Canvas produces .ssb bundles. Those bundles can be used by Sprite Animator, Flow Sprite Sequence nodes, or the asset library. This is best for:

  • Walk cycles exported as sheets
  • Coin spins
  • Hit flashes
  • Explosions and VFX
  • Pixel-art variants
  • Re-timing or flipping an existing sprite sequence

Use Motion when the same object art should move. Use Art when each frame is different art.

Sound Canvas Relationship ​

Use Sound Canvas when a sound effect needs trimming, layering, normalization, or design before gameplay — not when you only need to play an already-finished clip.

Sound Canvas produces ordinary WAV library assets. Wire them in Flow with Play audio, assign scene music, or reference them from motion markers. The Sound workspace itself is editor-only; exported games play the baked files.

Rigging Workspace ​

Rigging is Skeleton Studio. Open Animate ▾ → Rigging. Setup builds the rest pose (bones, art, IK, meshes, skins). Animate poses and keys — saving always stores the rest pose, not the scrubbed preview.

Details, tools, and the setup guide: Skeleton Studio.

Character Assets ​

When a rig is ready, save it as a character asset. Character assets can be placed in scenes and reused like other library assets.

Use character assets for:

  • Player characters
  • Enemies
  • NPCs
  • Animated bosses
  • Reusable expressive props

Skeleton clips can be driven by the Motion Machine alongside regular motion clips.

Animation Debugging ​

If animation does not play:

  1. Confirm the object has the expected clip, .ssb bundle, Sprite Animator state, or character asset.
  2. Confirm Play mode is running if a graph triggers animation at runtime.
  3. Check Motion Machine inputs in the relevant Flow graph.
  4. Make sure a state transition can actually fire.
  5. Check whether another graph or Sprite Animator locomotion immediately overrides the same animation.
  6. For sprite sequences, confirm the .ssb bundle was saved and Sprite Animator / Flow references the bundle, not the source sheet.
  7. For skeleton clips, confirm the character asset is assigned and Setup vs Animate mode is not leaving you on an empty clip.