# Blending between transform spaces without popping..

 04 April 2007 eek Fixer   portfolio Charles Looker Snr Technical Artist Electronic Arts Vancouver, Canada Blending between transform spaces without popping.. Ive been thinking about this for the pat 2 weeks or so, the rig I have and have used for many years well the idea of it is very simple; a general system: hips, chest, head independance and no counter rotation (hopefully). Ive been talking to animators about relativity - and most prefer the idea of keeping things seperate in there own transform space but also need the ability to transform them into new spaces on the fly, keyable and without popping. A good example of this would be the arms for instance, the ability to transform them into the torsos space or the chest space when you want. Now yes you could do this with a blend but essentially you blending two spaces without any relativity to the arms themselves i.e the arms will slightly rotate between each space: chest/torso as its just a constraint relative to its original transform. Now one method is to make a rollout tool with a transform dialog, [x,y,z] so you could transform any object about any other object transform. The problem with this ofcourse is that its in world space - it has to be. And if you where to do this in a realtime method for instance using a when handler, the problem would be the transformed object would always get world transform keys even if you werent keying it. One method i was thinking is a simple snap method, using the blend method, but also integrating a transform offset difference added onto the constraint. For example you press snap, and it stores the transform space of the arm to its target at that point on that frame, also switches the blend. But because you know the difference you could key the blend with no pop whatsoever. Storing this transform space offset is another matter - i guess you could just key the arm ontop? with the difference if its happening over 2 frames. Even if its not for instance with a slider, on mouse down you could store the tm space difference and blend it onto the arm inconjuction with the actual orientation constraint. Is anyone doing anything like this? I know when handlers wouldnt probably work because its always gunna key its world transform relative to a target, so you'd get keys you wouldnt want. The other issues that could happen is drifting of animation space. Im kinda treating rigs nowadays as layers of systems, and modularity is the key. __________________ Disclaimer: My opinions are not those of my employer. share quote
 04 April 2007 DeepGreenJungle Veteran Aaron Walsman Character TD Blue Sky Studios USA Yeah, from my experience, it seems like the best solution for this is to just have everything haning out in world space and make decent tools for the animators to constrain a node above the controls to whatever they want per shot. The thing you mentioned about having a tool to just rotate one object about another wouldn't really work, since as you mention, the keyframes would be in world space and the interpolation between poses would be really ugly. The second thing you mention about the offset seems like it adds more complexity than necessary. Plus you have to manage that offset data somewhere, and you don't really want to expose the raw values, because somebody, somewhere will always get in there and mess with them and break something. In general, I really don't like putting lots of blend attributes in the rig. It just seems kind of artificial to set up pre-defined "spaces" for a control to travel through; its better if they can just constrain it how they want it per-shot. It seems like a little bit more work for the animators, and a little bit more shot-specific information to carry around, but the flexibility is totally worth it. The rig never comes back with requests to add another slider because they need it to follow some new body-part in some one-off shot. share quote
 04 April 2007 CGTalk Moderation Expert Thread automatically closed This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum. __________________ CGTalk Policy/Legalities Note that as CGTalk Members, you agree to the terms and conditions of using this website. share quote

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts vB code is On Smilies are On [IMG] code is On HTML code is Off CGSociety Society of Digital Artists www.cgsociety.org Powered by vBulletinCopyright ©2000 - 2006, Jelsoft Enterprises Ltd.