SKILL.md
Animation Creation
Create and edit animations in Blockbench with keyframes, bone rigging, and Hytale-specific animation features.
Usage
/blockbench-animate <action> [args]
Actions:
create <name>- Create a new animationkeyframe <bone> <property>- Add keyframesrig- Set up bone hierarchyplay- Preview animationvisibility <bone>- Toggle bone visibility (Hytale)
Prerequisites
- Blockbench must be running with the MCP plugin enabled
- A model must be open with proper bone structure (groups)
Steps
Creating Animations
- Create animation using
mcpblockbenchcreate_animation:
``json { "name": "walk", "length": 1.0, "loop": "loop" } ` - name: Animation identifier - length: Duration in seconds - loop: "loop", "hold", or "once"`
Managing Keyframes
- Add keyframe using
mcpblockbenchmanage_keyframes:
``json { "action": "create", "animation": "walk", "bone": "left_leg", "channel": "rotation", "time": 0.0, "value": [0, 0, 0] } ` - action: "create", "update", or "delete" - channel: "position", "rotation", or "scale" - time: Time in seconds - value: [x, y, z]` values
- Edit keyframe - same tool with
action: "update":
``json { "action": "update", "keyframe_uuid": "<uuid>", "value": [15, 0, 0], "interpolation": "smooth" } ``
- Delete keyframe - same tool with
action: "delete":
``json { "action": "delete", "keyframe_uuid": "<uuid>" } ``
Animation Graph Editor
- Edit curves using
mcpblockbenchanimationgrapheditor:
- Adjust easing between keyframes - keyframeuuid: Target keyframe - interpolation: "linear", "smooth", "step", "bezier" - For bezier: handleleft, handle_right control points
Bone Rigging
- Set up bones using
mcpblockbenchbone_rigging:
- Groups in Blockbench act as bones - parentbone: Parent bone UUID - childbone: Child bone UUID - Creates parent-child relationship
Timeline Control
- Control playback using
mcpblockbenchanimation_timeline:
- action: "play", "pause", "stop", "seek" - time: Seek position (for seek action) - speed: Playback speed multiplier
Batch Operations
- Batch keyframes using
mcpblockbenchbatchkeyframeoperations:
- Apply changes to multiple keyframes - operation: "shift", "scale", "delete" - keyframes: Array of keyframe UUIDs - value: Operation value
- Copy/paste animation using
mcpblockbenchanimationcopypaste:
- action: "copy" or "paste" - sourcebone: Bone to copy from - targetbone: Bone to paste to - mirror: Boolean to mirror values
Hytale-Specific Animation
- Visibility keyframe using
mcpblockbenchhytalecreatevisibility_keyframe:
- Toggle bone visibility at specific times - animation: Animation name - bone: Target bone - time: Keyframe time - visible: Boolean visibility state
- Set loop mode using
mcpblockbenchhytalesetanimation_loop:
- animation: Animation name - mode: "loop", "hold", or "once" - loop - Repeat indefinitely - hold - Stay at last frame - once - Play once and stop
Keyframe Channels
| Channel | Values | Description |
|---|---|---|
| position | [x, y, z] | Translation offset |
| rotation | [x, y, z] | Euler angles in degrees |
| scale | [x, y, z] | Scale multiplier |
Interpolation Modes
| Mode | Behavior |
|---|---|
| linear | Constant speed between keyframes |
| smooth | Ease in/out (catmull-rom) |
| step | Instant jump at keyframe |
| bezier | Custom curve with handles |
Example Workflow
User: Create a walking animation
1. Create animation "walk" length 1.0s, loop mode
2. Add keyframes for left_leg rotation:
- 0.0s: [0, 0, 0]
- 0.25s: [-30, 0, 0]
- 0.5s: [0, 0, 0]
- 0.75s: [30, 0, 0]
- 1.0s: [0, 0, 0]
3. Copy animation to right_leg with mirror
4. Add arm swing keyframes (opposite to legs)
5. Set smooth interpolation on all keyframes
6. Preview with timeline play
7. Adjust timing as needed
Animation Tips
- Start with blocking: Key poses first, then refine
- Use smooth interpolation: More natural movement
- Mirror for symmetry: Copy/paste with mirror for limbs
- Test frequently: Use timeline playback
- Keep it loopable: First and last frame should match for loop