Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Situation
- Currently running Live Blender session have opened a file from
- `/media/<username>/Red_SSD_1T/3D_Visualizations/2026_May_PSRP/01_Assets/Props/Rig_Researching.blend`.
- That file contain many armature objects. Focus on "Bird_Wing_Armature_Obj".
- "Bird_Wing_Armature_Obj" have 186 bones.
- # Mission
- Change rotation mode of all secondary feather root bones from quaternion to
- XYZ Euler. Currently, all secondary feather root bones are set to quaternion
- rotation mode. Add drivers to Secondary Feather Root Bones number 2-11.
- `SecondaryFeather1_Root.L` and `SecondaryFeather12_Root.L` local Z axis rotation
- will be driving all other `SecondaryFeather<N>_Root.L` bones local Z rotation.
- # Execution
- #### Prerequisite
- Read
- - `~/SAI/docs/blender_mcp_minimal.md`
- - `~/SAI/scripts/bl_armature_demo.py`
- - `~/SAI/docs/bl_drivers_bone.md`
- - `~/SAI/scripts/set_bone_driver.py`
- - `~/SAI/docs/how_to_launch_blender_with_mcp_for_AI_agent.md`
- Get child bones of `Ulna.L` bone but you must exclude `Metacarpus.L` and all
- child bones of `Metacarpus.L`. `Metacarpus.L` is one of the child bones of `Ulna.L`.
- `Ulna.L` bone have many child bones. Get child bones of `Ulna.L` but not all child bones.
- Only the child bones that start with `SecondaryFeather<N>_Root.L`. Why not get
- all child bones of `Ulna.L`? Not to waste tokens by reading unnecessary child bones.
- There are 12 secondary feather root bones. Add drivers to secondary feather bones 2-11.
- Verify success by rotating SecF1 root and SecF12 root on local z, get other bones rotation.
- If other SecF2-11 rotate, it it success. Make sure timeline cursor is set to
- frame 1 before validating.
- Driver should work like this.
- SecF1 root L -45 degree local Z rotation and SecF12 root L +45 degree should drive
- other SecF bones. All inbetween should interpolate rotation between SecF1, SecF12.
- Imagine if there are only 5 bones. SecF1, SecF2, SecF3, SecF4, SecF5.
- While SecF1 == +45 degree and SecF5 == -45 degree, SecF2 == +22.5, SecF3 == 0,
- SecF4 == -22.5 degree.
- Prefer to work using mcp__blender with Live Blender GUI instance.
- Write thrown away script to `/tmp` and read back `await tool.read /path/to/file`.
- Do not write scripts inline. It is a waste to rewrite same code again and again.
- Saving code as file in `/tmp` and editing code is more efficient then rewriting
- inline code again and again.
- MCP can crash Live running Blender due to script errors. If that happen,
- relaunch Live Blender. If still fail to launch, work headlessly by directly opening
- `Rig_Researching.blend` from script using bpy ops wm open main file API.
- Run script using `~/.blender-venv/bin/python <yourscript>.py`. That venv have
- `bpy` module installed. `bpy` module act like headless Blender.
- `return` or `print` statement will not return result in mcp. Use `results`.
- # Scope
- You're authorized to use following directories.
- Write Permissions.
- `/tmp` to write thrown away scripts file
- `~/.blender-venv/bin/python` to run scripts.
- Read Permissions.
- You're allow to read
- - All Prerequisite files
- - `~/b3d/*`
- You are not authorized to read Blender Manual and Blender Python API files from
- other than `~/b3d/*`.
- ---
- Do you want to refine my prompt? If yes, say so.
- If you are going to ask questions,
- Say out loud the checklist before asking questions.
- If you want to suggest something else, say so.
- **Follow Protocols. Invoke, trigger relevant SKILLS. Say checklists out loud.**
Advertisement
Add Comment
Please, Sign In to add comment