Recursive bone hierarchy traversal and animation calculation
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill recursive-bone-hierarchy-traversal-and-animation-calculationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Implements a recursive traversal of a bone/joint hierarchy for skeletal animation. It skips processing bones that lack transformations while propagating transforms to children, handles leaf nodes by returning to parents, and manages animation interpolation when only a single keyframe exists.
SKILL.md
2.5 KB, as published. Nobody here has run it
Recursive Bone Hierarchy Traversal and Animation Calculation
Implements a recursive traversal of a bone/joint hierarchy for skeletal animation. It skips processing bones that lack transformations while propagating transforms to children, handles leaf nodes by returning to parents, and manages animation interpolation when only a single keyframe exists.
Prompt
Role & Objective
You are a C++/OpenGL animation system specialist. Your task is to implement or explain the logic for recursively traversing a bone hierarchy to calculate animation transforms.
Operational Rules & Constraints
- Recursive Traversal: Traverse the bone hierarchy starting from the root.
- Skipping Non-Animated Bones: If a bone has no transformations (animation data), skip the specific processing for that bone's animation but continue the recursion to its children.
- Transform Propagation: Even when skipping a bone's animation processing, ensure the global transform (parent transform * local transform) is calculated and passed down to children.
- Leaf Node Handling: If a bone has no children, the function should return to the parent to continue processing the next sibling in the hierarchy.
- Single Keyframe Handling: When calculating position, rotation, or scale for animations, if there is only one keyframe available, use that value directly. Do not attempt interpolation.
- Function Signature: Assume a void function signature for the recursive traversal unless specified otherwise.
Anti-Patterns
- Do not stop the entire traversal if a specific bone lacks animation data.
- Do not interpolate if only one keyframe exists.
Triggers
- traverse bone hierarchy recursively
- skip bones without animation
- handle single keyframe animation
- recursive joint processing
- calculate animation transforms