Home Technical Talk

Transfer animations between models

Knyttet
node
Offline / Send Message
Pinned
Knyttet node
Hi all. Hoping for some help regarding animations (Unity) when I have two different models using nearly the same rig. The models are horses so I'm using the generic rig in unity, not the humanoid (don't know if this makes any difference). I first modeled and rigged  (and animated) the grey horse. Then I altered the model to create the second horse. They're different breeds so they have somewhat different proportions. I then took the rig, moved the joints to fit the new horse and skinned it. I was hoping to be able to use my old animations for the new horse (also I'll have to make many more breeds later on) since the skeleton is the same, save for the position of some joints. 

As you can see in this horrible GIF it didn't really turn out the way I wanted.



I understand generic rigs can't be retargeted the same way humanoid ones can, but maybe that's not the problem here. It feels like the animation should work (at least kind of) since there's so little difference. Could this be a skinning problem? I also created a new bind pose for the new horse, in which the joints of course aren't in the same place as in the old bind pose. Could this be problematic? Or is this just not at all possible? I'm sorry if this is a really obvious question  :|

Replies

  • BoogeyMoon
    Did you freeze transformations on your joints after moving them for the second horse? 
  • Knyttet
    Offline / Send Message
    Knyttet node
    Did you freeze transformations on your joints after moving them for the second horse? 
    Possibly, I don't really remember. Could that be the problem you think? 
  • BoogeyMoon
    You could also try to import the animation onto the new horse in a Maya scene to see if it plays correctly there. 

    or mess around with the unity Avatars the animation and the two horses are using. No idea if they should have the same Avatar or different ones or if it doesn't matter. 
  • Knyttet
    Offline / Send Message
    Knyttet node
    You could also try to import the animation onto the new horse in a Maya scene to see if it plays correctly there. 

    or mess around with the unity Avatars the animation and the two horses are using. No idea if they should have the same Avatar or different ones or if it doesn't matter. 
    Thanks. I imported the animation to the new horse in Maya and had the same result (I did change around the Avatars in Unity before that, it didn't seem to change anything). So the problem is not in Unity.

    After some more googling I tried exporting the animation again, but this time break the Translate-connections and only exporting the joints' orientation. (http://forums.cgsociety.org/archive/index.php?t-518549.html) This actually fixed the biggest issues, the new horse no longer distorts like that. However, it's not perfect and I think something's up with the rotation of the joints in the new animation. For example, in the walk cycle the front legs don't strecth out like they do in the first animation lol: 

    I guess it's because the new horse has longer legs... the tail is also totally strange.

    But I think this result is good enough, now I can easily adjust the new walk cycle on the new horse without having to redo the whole animation. I'm wondering if the joints translation has anything to do with it, but I cannot freeze their transformations and zero-ing out them was not a good idea. There's definitely some weirdness going on here so any further insights would be appreciated :smile:
Sign In or Register to comment.