blockbench-animation

Original🇺🇸 English
Translated

Create and manage animations in Blockbench using MCP tools. Use when animating 3D models, creating keyframes, managing bone rigs, editing animation curves, or working with animation timelines. Covers walk cycles, idle animations, combat animations, and complex multi-bone animations.

8installs
Added on

NPX Install

npx skill4agent add jasonjgardner/blockbench-mcp-project blockbench-animation

Blockbench Animation

Create animations for 3D models using Blockbench MCP tools.

Available Tools

ToolPurpose
create_animation
Create animation with keyframes for bones
manage_keyframes
Create/edit/delete keyframes per bone and channel
animation_graph_editor
Fine-tune animation curves (smooth, linear, ease)
bone_rigging
Create/modify bone structure for animation
animation_timeline
Control playback, time, FPS, loop settings
batch_keyframe_operations
Batch operations: offset, scale, reverse, mirror
animation_copy_paste
Copy animation data between bones/animations

Quick Start

Create a Simple Animation

1. create_animation: name="walk", animation_length=1.0, loop=true
2. manage_keyframes: bone_name="leg_left", channel="rotation",
   keyframes=[{time: 0, values: [30, 0, 0]}, {time: 0.5, values: [-30, 0, 0]}]
3. animation_timeline: action="play"

Animation Channels

  • position
    - [x, y, z] offset
  • rotation
    - [x, y, z] degrees
  • scale
    - [x, y, z] or uniform number

Interpolation Types

  • linear
    - Constant rate
  • catmullrom
    - Smooth spline
  • bezier
    - Custom curves
  • step
    - Instant change

Common Workflows

Walk Cycle (1 second)

create_animation: name="walk", animation_length=1.0, loop=true, bones={
  "leg_left": [
    {time: 0, rotation: [30, 0, 0]},
    {time: 0.5, rotation: [-30, 0, 0]},
    {time: 1.0, rotation: [30, 0, 0]}
  ],
  "leg_right": [
    {time: 0, rotation: [-30, 0, 0]},
    {time: 0.5, rotation: [30, 0, 0]},
    {time: 1.0, rotation: [-30, 0, 0]}
  ]
}

Smooth Curves

animation_graph_editor: bone_name="arm", channel="rotation", action="smooth"

Copy Animation to Mirrored Bone

animation_copy_paste: action="copy", source={bone: "arm_left"}
animation_copy_paste: action="mirror_paste", target={bone: "arm_right", mirror_axis: "x"}

Batch Timing Adjustment

batch_keyframe_operations: operation="scale", selection="all",
  parameters={scale_factor: 2.0}  # Double animation duration

Bone Rigging

Create Bone Structure

bone_rigging: action="create", bone_data={name: "spine", origin: [0, 12, 0]}
bone_rigging: action="create", bone_data={name: "head", origin: [0, 24, 0], parent: "spine"}

Set Pivot Point

bone_rigging: action="set_pivot", bone_data={name: "arm_left", origin: [4, 22, 0]}

Timeline Control

animation_timeline: action="set_fps", fps=60
animation_timeline: action="set_length", length=2.5
animation_timeline: action="loop", loop_mode="loop"  # or "once", "hold"
animation_timeline: action="set_time", time=0.5
animation_timeline: action="play"

Tips

  • Use
    list_outline
    to see available bones before animating
  • Set up bone hierarchy first with
    bone_rigging
    before adding keyframes
  • Use
    catmullrom
    interpolation for organic movement
  • Use
    step
    interpolation for mechanical/robotic movement
  • Mirror animations for symmetrical rigs to save time