Heya Nick Seems that we are on parallell paths. Also looking into this. The solution I'm working at the moment is to use Gear > Animation > Edit Mirroring Template. http://prntscr.com/2vrpoc
After that you just need to go to Gear > Animation > Mirror Pose or Mirror Animation and it will apply the selected objects transforms to the one in the rules. Pos X and Rot Y will need to be inverted. Only thing I'm still looking at is to have the template being generated automatically. Someone told me it does, but when I select two controls with L and R in the mix, the rules just point to _self and not the pair. When you look at this it looks like very nice :) https://vimeo.com/71429800 but apparently not shared. Cheers Pedro Alpiarça dos Santos On Tue, Feb 25, 2014 at 7:28 AM, Nicolas Esposito <3dv...@gmail.com> wrote: > Nice! > I'll try it as soon as possible, from what you've wrote it looks like > exactly what I'm looking for > > Thanks Oscar :) > > > 2014-02-24 22:27 GMT+01:00 Oscar Juarez <tridi.animei...@gmail.com>: > > Hello Nicolas, >> >> Attached you can find a very hasty plugin I did for mirroring poses on >> Face Robot, is built in a very hacky way but I think it might be helpful >> for you, should work with vanilla facerobot, and it's very bad naming >> conventions for control names. >> Use at your own risk, I tested with Rock Falcon and it works. It works on >> selected controls, but there is a catch, it should be a control on the >> right side of the face, even if you are transfering from left to right or >> right to left (I told you very hacky made) also works in all controls if >> nothing is selected. It creates a menu on top of softimage, feel free to >> modify it. >> >> Again no guarantee ;) >> >> >> On Mon, Feb 24, 2014 at 9:29 PM, Ben Barker <ben.bar...@gmail.com> wrote: >> >>> I remember what I did now in more detail. At root pose, for each control >>> I mirrored it's transform across the mirror plane. Then I compared the XYZ >>> axes of the mirrored transform to the control's mirror partner transform >>> (using itself if there was no mirror partner). That gave me the mirror data >>> vector that was something like (-1,1,1). >>> My vector class's reflection method is here (sorry it's for Maya, but >>> maybe it will help you get the idea, it's pretty agnostic): >>> >>> https://github.com/ZombieAcademy/MayaMath/blob/master/rigMath.py#L141 >>> >>> This was after a few days of trying to mirror pose when the character >>> was far away from origin, like your case. My best guess then was to always >>> use some sort of "reference" transform to mirror across. Like, for a face, >>> it would be the head bone. I ultimately abandoned this solution because it >>> required a lot of custom setup, and I wanted something that would always >>> work on every character without TDs having to constant set "mirror >>> reference transforms" for every weird case. >>> >>> >>> On Mon, Feb 24, 2014 at 2:57 PM, Ben Barker <ben.bar...@gmail.com>wrote: >>> >>>> I solved this issue in Maya by adding an attribute to every control >>>> that mapped it's local SRTs to it's "mirror partner". This was done when >>>> the rig was at root pose. I think I just did a dot product on the local >>>> X,Y,and Z axis of the control, and compared it to the partner's XYZ axes. >>>> If they faced away I assigned a -1, and if they faced the same direction I >>>> did a 1. So I ended up with a vector attribute like [-1,1,1] (or whatever) >>>> on each control. >>>> >>>> Then it was just a matter of copying the local SRT values to the >>>> neighbor, and flipping them based on if the mirror info attribute was -1 or >>>> 1. >>>> If an object had no mirror partner (like the spine ctrls) the mirror >>>> info was only negative on the cross axis, so it only ended up flipping >>>> those values and putting them back onto the same control. >>>> >>>> Since it was stored when the character was at root pose it gave the >>>> animators the behavior they desired in any pose. And they didn't want a >>>> true mirror across a plane anyway. Sorry I haven't tried in SI, it's been >>>> awhile, but the logic should be the same. I found storing the "mirror info" >>>> at root pose was the key, since that is the only time the character had a >>>> good reference pose. Trying to decypher a "mirror plane" for each control >>>> when the character is posed in an animation scene is a nightmare. >>>> >>>> >>>> On Mon, Feb 24, 2014 at 2:24 PM, Eric Thivierge <ethivie...@hybride.com >>>> > wrote: >>>> >>>>> Good luck with those symmetry constraints. They are nothing if not >>>>> flaky at best. >>>>> >>>>> >>>>> On Monday, February 24, 2014 2:05:36 PM, Grahame Fuller wrote: >>>>> >>>>>> The following isn't elegant but it could be scripted: >>>>>> >>>>>> 1. Symmetry-constrain the left side to the right side. >>>>>> 2. Plot the left side to an action source. >>>>>> 3. Remove the constraints. >>>>>> 4. Repeat steps 1 to 3 for right-to-left. >>>>>> 5. Apply the two actions. >>>>>> >>>>>> gray >>>>>> >>>>>> From: softimage-boun...@listproc.autodesk.com [mailto: >>>>>> softimage-boun...@listproc.autodesk.com] On Behalf Of Eric Turman >>>>>> Sent: Monday, February 24, 2014 1:52 PM >>>>>> To: softimage@listproc.autodesk.com >>>>>> Subject: Re: How to mirror a rig pose >>>>>> >>>>>> Olivier Ozoux made a script for me at Raven Software back in 2001 >>>>>> when we were using a beta version of XSI 1.5 to do Star Wars:Jedi >>>>>> Knight:Outcast that did this. Olivier was head of special projects at >>>>>> that >>>>>> time. The script handled arbitrary orientations mirrored and otherwise >>>>>> like >>>>>> a champ. Unfortunately I do not have that script anymore. The script was >>>>>> not owned by Raven or Activision as it was neither paid for nor >>>>>> commissioned by the aforementioned entities. >>>>>> >>>>>> Does anyone have information of the existence of this script? DId it >>>>>> even survive the turnover? Is Olivier even on this list anymore? It would >>>>>> be great to get that script back into circulation for the benefit of the >>>>>> Softimage community. >>>>>> >>>>>> Cheers,. >>>>>> >>>>>> -=Eric >>>>>> >>>>>> On Mon, Feb 24, 2014 at 11:58 AM, Eric Thivierge < >>>>>> ethivie...@hybride.com<mailto:ethivie...@hybride.com>> wrote: >>>>>> Not sure how ICE would solve this at all... anyhow, it's a scripting >>>>>> exercise with some intermediate matrix math involved. So, no not an easy >>>>>> thing to solve but it's doable. Not sure if there are any tools out there >>>>>> though. >>>>>> >>>>>> Eric T. >>>>>> >>>>>> >>>>>> On Monday, February 24, 2014 12:03:10 PM, Nicolas Esposito wrote: >>>>>> Hi guys, >>>>>> >>>>>> I'm having a problem which I thought it was easier to solve, but right >>>>>> now I'm not sure which approach should I choose >>>>>> >>>>>> Lets say I have a rigged character with a pose, he's holding a gun >>>>>> using his right hand to shoot, so basically the entire body is >>>>>> slightly >>>>>> Now I would like to mirror that pose, means that I would like to >>>>>> mirror all the bones position, or better yet find a way to swap the >>>>>> bones position/orientation from left to right, so that the pose will >>>>>> be mirrored... >>>>>> >>>>>> I was thinking to use ICE to store all the bones position in the >>>>>> original pose, then to use ( not sure ) a switch context to copy the >>>>>> values from the left bones to the correspondent right bone, using the >>>>>> stored values, same thing for the right bones position >>>>>> >>>>>> Is there an easy way to do that or an existing tool to allow this kind >>>>>> of mirroring? >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -=T=- >>>>>> >>>>> >>>>> >>>> >>> >> > -- [img]http://i153.photobucket.com/albums/s202/animatics/avatar_1.gif[/img]