Home Technical Talk

Animation sharing with scaling?

kream
polycounter lvl 13
Offline / Send Message
kream polycounter lvl 13
Hey all,

Hopefully a quick question.. Has anyone been able to share animations between 2 rigs with the same naming conventions, but with uniform, or nonuniform scale applied (for longer arms, etc.). We are using Maya, and theoretically seems like this should work. However once the character is exported and brought into the toolset we are using, the animations revert back to the identical size. Collapsing/shrinking the geometry onto itself. The bones maintain the placement of the original animation. So basically any typing of scaling does not carry onto the animation, T pose looks proper with the longer arms, but as soon as the animation is activated, the scale to the original placement of the non scaled rig.

I'm basically looking for a way to share motion across the board with different characters, using the same rig but with size variations to it.

Replies

  • animatr
    Options
    Offline / Send Message
    animatr polycounter lvl 18
    the easiest way, without having to do any scripting at all, is to lock all the translates on your joints, probably except for the hips, and then import the animation via fbx. it will ask if you want to keep attributes locked, and you say yup. this will essentially just give you rotations on your new rig, and keep the new joint positions.
    only downside, is the feet may slide and hand contacts may be off.

    there are lots of solutions to this problem. but to be honest, if you didnt know about the easy one, explaining the hard ones won't do any good.
  • Rob Galanakis
    Options
    Offline / Send Message
    Is this a question in your engine or in Maya? If it is Maya, there are many solutions; if it is your toolset/engine, we'd need some more info to be of help (like how are you storing animations, skeletons, and models?).
  • animatr
    Options
    Offline / Send Message
    animatr polycounter lvl 18
    yeah. rob brings up a good point. in your engine, hopefully there is something like a checkbox or setting that says rotate only or such. unreal has such a checkbox and also a list where you can add joints that you want to keep translation on.
  • DerDude
    Options
    Offline / Send Message
    DerDude polycounter lvl 10
    I´ve scripted something from an Mel-Book together, basicly you define scaling in the script and the script bake the new scaling with new clean translation, rotation and scaling. Mostly i build my gamerigs without a global scaling, because in my case its wasted time. However came out gamedesigner to me and wanted some creatures bigger, so i´ve done this. Going into motionbuilder slows you down, at least you want to streamline things to have more time for animation.

    Scaling in the engine might be not that clever when dealing with radgoll and collsionMeshes, our programmer would punch me, but thats an other story :P Just PM me and i send it to you.
    EmFX for example has that feature, but its a bit of a hack.

    For your solution you might pick my script and have a look at the spore whitepaper, they are dealing with ik and felxible armscaling, so that the character can catch thing and the enginge know where to place him that hand and object match up.

    Another solution would be 2 Rigs with different Setups but same attributes which can be stored as animtion which could be loaded to the other rig. That way you would be more flexible...
  • kream
    Options
    Offline / Send Message
    kream polycounter lvl 13
    Thanks guys,

    yeah, I was a little rushed to post, so missed some info. We are basically using the NW4R Nintendo tools for Wii development. We're starting this project, and testing what can and can't be done, as well as how certain things work with exporting. I haven't used FBX too much, and am primarily a Max animator, so there's a small learning curve. The problem seems to lie mainly in when the animations load in the revolution viewer, hence the models load properly, but when an animation is applied, the squashing happens. Reverting the joints to there original placement, from the master file.

    Will continue to play with this, and see if anything comes up, thanks again for all the help, and any more info would be greatly appreciated.
  • DerDude
    Options
    Offline / Send Message
    DerDude polycounter lvl 10
    sounds like the same problems i ran before i made a script. However i just needed global scaling and not parts...
  • animatr
    Options
    Offline / Send Message
    animatr polycounter lvl 18
    i dunno der. sounds like it's an engine problem and not a maya problem. where are your models coming from? there may be a scale difference in the units. meaning max uses in. by defualt, and maya cm. I'd look around in your engine docs/forums whatever to see if there is a way to have the animation only apply rotations on the bones.
  • DerDude
    Options
    Offline / Send Message
    DerDude polycounter lvl 10
    i think its just an "comunication" problem what maya export and infos the engine get. You can make a group in Maya with your joints, scale it up, visualy its bigger. That group is for example in my case is not respected by the exporter in any way, the animation will get the scaling it has without the group. I don´t say anyone is wrong or something, it´s just my point of view with that problem. And baking the trans, rot and scale with the new infors without any group was necessarily for me (EMfx2-Exporter)
  • kream
    Options
    Offline / Send Message
    kream polycounter lvl 13
    Thanks for all the replies guys. Looks like we finally got things working here. And yeah grouping and scaling in maya seemed to work. Got a few things moved, scaled the joints, froze within the group, skin, then export. Things came in correct in the engine. Still more tests to try, but things seem to be working.
Sign In or Register to comment.