Coder Social home page Coder Social logo

kabbouchi / blender-animation-retargeting Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mwni/blender-animation-retargeting

0.0 2.0 0.0 25 KB

Add-on for Blender that allows the transfer of animations and poses from one armature to another

Python 100.00%

blender-animation-retargeting's Introduction

Blender Animation Retargeting

This addon enables the transfer of animations and poses from one rig to another.

Installation

  1. Download this repo as .zip
  2. In Blender go to Edit > Preferences > Add-ons > Install...
  3. Select the downloaded .zip
  4. Enable the Add-on, which will appear in the list

How to use

Assuming you have both your target and source armature in the scene, and have them aligned and scaled to match each other.

Note: The target's scale has to be (1, 1, 1), scale the source to fit the target

Both armatures in rest pose next to each other, scaled to be same height

  1. Select your target armature and open the add-on panel on the right side of the 3D View (Retarget tab)
  2. Now choose the source armature as 'Source' on the panel
  3. It should say that there are no bone mappings, yet. Go ahead and click 'Create'.
  4. Now map each relevant source bone to the corresponding target. Make sure to not map any bone multiple times, otherwise you'll get undefined behaviour.
  5. Next you have to set up the rest pose alignment. Click on "Set up", then change the pose of your target armature in a way, that it optimally fits your source armatures rest pose. When done click 'Apply'. pose adjusted to fit source's rest pose
  6. The add-on will then automatically create drivers for each bone, and you should be good to go.

Correction Features

Foot / Hand Positions Correction

If there's significant 'foot-sliding' or odd arm movements, due to anatomical differences between your rigs, you can turn on:

  • Correct Feet Position
  • Correct Hands Position

You will be asked to specify the leg/foot, arm/hand bones respectively. This will create and IK bone setup for the specified limbs whereas the target positions for the feet/hands are copied over from the source. Additionally it will spawn a control empty cube, that allows you to transform the target positions as shown in this gif:

demonstration of the ik correction transform cube

Root Bone Pivot Correction

Incase the pivot point of your target and sources' root bone is not very much aligned (different height), you can try to enable 'Correct Root Pivot'. This will prevent your character to wobble left/right when there's major hip movement.

difference in root bone pivot location (even though the rigs are scaled to be same height)

Baking

For convenience you can bake the source's animation into an action for your target via the add-on.

section for baking in the add-on panel

Since the target bones are driven by drivers, you can bake everything youself, if you want. Make sure to check 'Visual Keying' if you do so.

Ignore the 'Batch Import & Bake' option. (It covers my personal needs)

Important: After baking your animation, make sure to check 'Disable Drivers' to actually see the keyframes, otherwise the drivers will override any animation on the target.

Limitations

  • Intended and tested for bipeds with similar anatomy only.
  • Blender's IK system can be weird sometimes

blender-animation-retargeting's People

Contributors

manmohanbishnoi avatar mwni avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.