PDA

View Full Version : help on rotate pivot


blackseraphim
07-16-2008, 07:33 AM
anyone knows how to rig an object that changes the rotate pivot without having trouble to counter-animate it?

tnx!

PEN
07-16-2008, 10:57 AM
What software?

eek
07-16-2008, 03:08 PM
are you thinking of a method to reset the objects pivot to itself to essentially set a new base zero transform, relative to it parent? I've read that pixar has this tool to zero transform over time - thinking about it, it isn't too complex , just another form of space switching.

blackseraphim
07-17-2008, 02:31 AM
hi! tnx for the reply. actually i am using maya.
eek: yes, i am thinking of a way that will preserve the position of the object
without having the trouble of counter animating it and likewise the "pivot control" will move according to the position of the object.
is it possible?
what i have done is this:
i simply connected the translate of the controller to the center pivot of the object.
the problem is that the object gets a weird position and orientation when i translate the controller after rotating it.

priyankcgchutney
07-17-2008, 04:07 AM
hi,
If you want to adjust the pivot of the controller accordig to object then follow these steps :
1.create the control(shape)on horizon point then group it select the group and parent with the object ( now ur control group is the child of object).
2. Select the group freeze transform it (translate, rotate, scale). now ur group pivot and object pivot adjust according to object.
3. Select the group and unparent from the object but dont Freeze it...

blackseraphim
07-17-2008, 06:57 AM
hi,
If you want to adjust the pivot of the controller accordig to object then follow these steps :
1.create the control(shape)on horizon point then group it select the group and parent with the object ( now ur control group is the child of object).
2. Select the group freeze transform it (translate, rotate, scale). now ur group pivot and object pivot adjust according to object.
3. Select the group and unparent from the object but dont Freeze it...

i was thinking of a way on how to make a "pivot control" that determines the center pivot of an object. one good example is a skateboard. the nose and the tail of the board will serve as the center gravity/center pivot. anyways tnx :D

eek
07-17-2008, 03:56 PM
i was thinking of a way on how to make a "pivot control" that determines the center pivot of an object. one good example is a skateboard. the nose and the tail of the board will serve as the center gravity/center pivot. anyways tnx :D

Well it sounds like you want two systems here: firstly you want a keyable pivot, something that is doable in both max and maya - I only know the max way. The hardest thing to deal with is the offset problems, of animators changing the pivot after keys have been placed or changing the object itself.

With max there is a node.transform which is the objects transform (pivot) and and object-offset.transform which is the mesh offset from this - it allows you to move the pivot or the object independantly. What you really are doing is not changing the pivot of the object but more over the 'space' that the object exists in, via an offset.

The problem your getting i think is the offset, also the pivot keys can only be stepped ive found - if there bezier or linear you will get drift as the object blends between spaces.

Secondly: I thought you were talking about a method for, resetting the objects parent space over time - this is relatively easy just by having an inverse offset.transform applied.

I would take a look at Jason Schleifer's animator friendly rigging dvd/pdf - both myself and him worked out the same mothod of keyable pivot independantly.

Cheers,

edwardG
07-17-2008, 06:10 PM
Here's how you do it in Maya:

1. Create an object for your "pivot".
2. Open up your connection editor (Window > General Editors > Connection Editor) and connect the translate of your controller to the object's rotate pivot (and scale pivot if needed).

That should be all you need. You'll use the pivot control to move it where you need to, and you'll rotate the object.

If that's not working 100%, you'll need to group the object to itself and then connect the controller's translate the the group's rotate (& scale) pivots.

It's fairly simple.

DevIII
07-17-2008, 09:13 PM
My response seemed a bit to straight forward so I did a quick demo to make sure it worked but do you mean something like this?
http://www.deviii.com/videos/ProgressiveOffsetDemo.avi (http://www.deviii.com/videos/ProgressiveOffsetDemo.avi) (save link)

that was done in max,
I just used a link constraint and set multiple point targets. Itís not a very flexible solution as, you have to animate them in the order they take control. When you set a target max also sets the frame it takes control on (absolute). Itís really switching the offset not moving the actual objects pivot. So, you can still manipulate the objects relative to dummies just like a normal link operation. It doesnít seem capable of switching back and forth like from point 1 to 2 to 1, so keep making progressive targets.

This is really just a built in function to max 2008(I donít know when it got instantiated). I don't know if Maya has that function but you get can the same results by progressively linking (in Maya parenting (?), or grouping ) so that the primary object -> offset_2 -> offset_1. And then animate offset_1 first, the other offset and the primary will follow, after that animate offset_2 next. just don't go back and play with the first offset too much as it will mess with the second ;) and that is an easy way to give the appearance of two pivots and it probably works in any package. Again itís not actually two pivots but it will get the job done.

blackseraphim
07-18-2008, 04:14 AM
Here's how you do it in Maya:

1. Create an object for your "pivot".
2. Open up your connection editor (Window > General Editors > Connection Editor) and connect the translate of your controller to the object's rotate pivot (and scale pivot if needed).

That should be all you need. You'll use the pivot control to move it where you need to, and you'll rotate the object.

If that's not working 100%, you'll need to group the object to itself and then connect the controller's translate the the group's rotate (& scale) pivots.

It's fairly simple.

i think you should read what eek said, eek said the exact thing i wanted.
i've done it before(what you told). anyways tnx :D

blackseraphim
07-18-2008, 04:16 AM
Well it sounds like you want two systems here: firstly you want a keyable pivot, something that is doable in both max and maya - I only know the max way. The hardest thing to deal with is the offset problems, of animators changing the pivot after keys have been placed or changing the object itself.

With max there is a node.transform which is the objects transform (pivot) and and object-offset.transform which is the mesh offset from this - it allows you to move the pivot or the object independantly. What you really are doing is not changing the pivot of the object but more over the 'space' that the object exists in, via an offset.

The problem your getting i think is the offset, also the pivot keys can only be stepped ive found - if there bezier or linear you will get drift as the object blends between spaces.

Secondly: I thought you were talking about a method for, resetting the objects parent space over time - this is relatively easy just by having an inverse offset.transform applied.

I would take a look at Jason Schleifer's animator friendly rigging dvd/pdf - both myself and him worked out the same mothod of keyable pivot independantly.

Cheers,

tnx eek :D

edwardG
07-18-2008, 03:08 PM
Is this what you mean? I did it really slow so you could see.

http://s172.photobucket.com/albums/w25/spaareg/?action=view&current=pivot.flv

I did no counter animation and it seems to be working for me, but then again I'm not doing your project.

Maybe I can see where your problem is though, because if you animate the pivot to slide along instead of switching its' position rapidly then the board will shift to accomodate its new pivot. I believe what you're saying is that when you move the pivot around, you want to keep the world space position of the board.

The simplest solution seems to be to move the pivot when the skateboard is at or closest to a rotation of 0. This is actually quite a natural law in physics, because in order to transfer your center of gravity there has to be a middle between the 2 points where you want your "center of gravity" to meet. So the trick will be to transfer it when the board is most flat.

Also, you can try grouping the animatable pivot & the skateboard together, then all you have to do is translate the new group if you want to move the skateboard and it makes it easier to address the pivot placement as well.

Hope this helps, let me know if I'm understanding your problem.

blackseraphim
07-21-2008, 03:37 AM
thanks for the reply edwardG :D

CGTalk Moderation
07-21-2008, 03:37 AM
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.