Home Technical Talk

Max: Reflecting boned animation

polycounter lvl 18
Offline / Send Message
oXYnary polycounter lvl 18
I need to reflect animation across the z axis. Basically I have 4 "legs". I want to reflect the position on rotation of the left side legs unto the right side.

I first tried mirroring the leg with animation, but
A: It will only work with animation already made. B: Only correctly seems to keep the right position at that mirrored key. The next or before frame it goes into a weird angle.

Oh, while Im asking, is there a way to set up a static pose for regular max bones that I can create? Right now Im having to use -1 as my "static" frame.

Replies

  • CrazyButcher
    Options
    Offline / Send Message
    CrazyButcher polycounter lvl 18
    http://perso.wanadoo.fr/werwack/maxscript.htm

    this script might help, but also needs keys already set.

    I think you can define a "skinpose" with the bones, which would be that static frame

    I can also recommend the "anipose" script, its really good too.

    http://www.chuggnut.com/scripts/anipose/ver3/Anipose%20install.mzp
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    CrazyButcher (or other) do you have any other plugins to try? Im using Max 7 and having limited.. ok no. Results with the above plugins.

    To reiterate. I have a custom bone structure, where I need to reflect the animation from the left unto the right side of the legs. They all have the same bone lengths, just their positions are reflected and the bones renamed.
  • Cubik
    Options
    Offline / Send Message
    Cubik polycounter lvl 18
    Select your bones, helpers and whatnots and either press alt+rightclick over them and choose Set As Skin Pose or go to the Character menu and choose Set Skin Pose there. Then you can just pick Assume Skin Pose if you want revert your rig to its previous postition.

    Still searching about the animation thing.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    thanks cubik. smile.gif Right now its that darn animation copy reflection thats killing me.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    Bumpity bump bump. Im kinda stuck. :/
  • Eric Chadwick
    Options
    Offline / Send Message
    I'm not super-experienced with mirroring animation, but what are your bone pivots looking like? Like, how did you mirror your bones? Can you post a screenshot with the pivots shown? I'm wondering basically which axis needs to be flipped and which axes can be just plain copied as-is. You might be able to just copy controllers over, then flip one axis.

    Also, do you want a one-time copy or a rigged solution that constantly "copies" the motion? You'd have to use wiring for the latter I think, but that's beyond me at this point.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    One time is enough, I dont have to worry about realtime changes. I have spent way too long figuring this out as it is. Need to get it done!

    Here is a slightly older version of the file (max 7 only)


    Here is a screeny overlay
    setup.gif

    Any help you can provide would be appreciated.
  • Eric Chadwick
    Options
    Offline / Send Message
    Sorry, don't have max 7 here (still in 5.1 until this project gets done).

    Have you tried copying controllers? Another way could be to use Merge Animation (using a Character assembly). Only time I've mirrored animation it was with Biped.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    Doesnt look like Merge Animation will work. It has no option for mirror/reflection.
  • Eric Chadwick
    Options
    Offline / Send Message
    Well I give up, I didn't see anything in a search of Scriptspot either.

    Best bet is to ask on the Discreet... cough... Autodesk forum. Someone's gotta know the answer to this seemingly basic question. If Ryno or KingofDaveness were around I'm sure they'd have an answer.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    Well I discovered if I put a mirror modifier ontop of the object above the skin, I can reflect it across the y axis and copy it. Looks exactly like I want when playing. The problem is that its actually just "looking" at the original skin and bone setup. So the copy has no bone structure itself. frown.gif
  • Eric Chadwick
    Options
    Offline / Send Message
    Why not just copy the controllers, then time-shit the copies?
  • monster
    Options
    Offline / Send Message
    monster polycounter
    I can't open your file since I don't have Max7, but here goes.

    Link the limb to a dummy. Mirror the entire limb, including the dummy. Move the new dummy into position. Link the dummies to whatever the limb was linked to.

    Here's a max file showing what I did.
    http://www.juantwo.com/post/TerribleExample.zip
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    Thanks monster. That looks like that will be the best. Its weird one of the legs I was able to reflect with the meshed object under the dummy with the bones and keep the skin. The other leg skin mesh messed up though. I tried reloading a saved skin envelope reference with effect. It also would do "funky" things if I tried to reflect the IK. But since I only need IK for one action thats based on the movement of a dummy object, I can recreate the IK and link for the other side.
  • Eric Chadwick
    Options
    Offline / Send Message
    Huh, I thought max's mirror command would also mirror IK properly. At least it used to have an option for that.

    Cool trick monster. Better than time-shitting. laugh.gif
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    I think the IK is messing up because again, they are linked separately to a different dummy object already (the long rectangular tube in the pic). (I need the legs to grasp and lift as if they were picking up a bar).
  • monster
    Options
    Offline / Send Message
    monster polycounter
    Yeah, I wish I could open your file to help you better.

    Next time use a biped if mirroring animation is going to need to be done often. What your trying to do can be done literally in two clicks. Copy Track; Paste Track Opposite.

    When I need animation to be identical on both sides I usually animate them at the same time. 5 degrees here, 5 degrees there sort of thing.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    I would have used a biped, but I figured it was time I started learning bones after skullbox's preaching awhile back.
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    I was almost there! Finally after spending the day working on it.. I thought I was set.

    No. See.. The problem is the dummy objects are whats "correcting" the animation. Even on monsters, if I unlink the dummy object, the copy wil suddenly be mimicking the originals animation orientation versus reflecting.

    Since I need to relink the joints back into an root bone, if I dont remove the dummies, I will end up with 4 extra bones on export to unreal.

    I figure its something I have to do with xform to get the bones to inherit the dummys orientation?
Sign In or Register to comment.