ShapeKey Axis Control is a powerful Blender animation and rigging add-on designed to streamline your workflow by mapping shape key values to a 2D Axis Panel (HUD). By manipulating a virtual joystick across the X and Y axes, you can smoothly blend multiple shape keys based on target coordinates. This tool is highly versatile and can be applied to various scenarios, such as facial rigging, eye tracking, lip syncing, and complex mechanical animations. It also features a robust Animation Preset system that allows you to save, recall, and keyframe complex states across multiple objects simultaneously.
2D Axis HUD Controller: Control multiple shape keys simultaneously by dragging a target point in a virtual 2D space.
Advanced Blend Modes and Falloffs: Customize the influence area using Box, Radial, or restricted Axis (X-only / Y-only) calculations.
Comprehensive Group Management: Organize your controls into distinct groups (e.g., Eyes, Mouth, Brows) and navigate through them seamlessly.
Global Animation Presets: Capture the joystick positions of all groups across all objects in the scene. Use the "Set" button to record, "Call" to apply, and "Key" to instantly insert keyframes for all affected shape keys on the timeline.
Reset Functions: Quickly clear adjustments using "Reset" for the current group or "Reset All" to zero out the entire model.
joy_x/joy_y on the timeline caused the HUD handle to animate correctly but the shape keys themselves did not deform. Root cause was a silent failure in the frame_change_post handler due to two issues:(scene, depsgraph) into frame_change_post callbacks. The old single-argument (scene) signature caused Blender to silently discard the call, so update_shapes() was never invoked during timeline playback/scrubbing.sk.value entries, a view_layer.update() call is now performed to force the dependency graph to propagate the changes and redraw mesh geometry. Without this, values were written in memory but the viewport mesh never reflected them.@bpy.app.handlers.persistent decorator to frame_handler so it survives .blend file loads. Previously the handler was silently unregistered whenever a new file was opened mid-session.This extension does not require special permissions.
Funcionó todo correctamente en mi blender 5.0