Double Sided Bones/Rigs? Nope... But I Can Fake It!

Is there a way to simulate a bone which can pivot off of both ends. I mean, try to picture a chair walking where the legs are rigidly held together, pivoting from one leg and then back to the other.

The problem that I’m running into is that I either don’t have enough knowledge or that what I’m trying to figure out how to do isn’t possible. Basically what I’m doing is trying to build a rig where pivoting from one end includes all bones in the rotation, without distortion, so I can then pivot from the other end and enjoy similar results.

Every time I’ve gotten to a ‘solution’ the result is a rig which ‘slides’ out of view and into oblivion upon attempted rotation. The (successful) end result of this would be useful in repetitious, but user guided rotations similar to the way a rubix cube might work. I am not making a cube… but the idea is based on similar principles.

If anyone knows of a solution or has a theory I’d really appreciate
some direction. This thing is starting to burn me out…

Thanks a bunch!
-D

So basically you want a rig that would, for instance, allow a cube to roll on its edges?

right! but also for more than just 2-3 movements. I don’t think it’s possible though… To satisfy my criteria for ‘success’ all bones would technically have to be the parents of all other bones, which obviously is not calculation friendly. I’ve kind of gotten close using multiple constraints, but the rig always shoots wildly off screen when posing is attempted.

If there are any crack-pot ideas, scripts, or otherwise mystic solutions you can think of don’t hesitate to mention :wink:

Thanks
-D

I’m having trouble picturing that walking chair analogy. Could you provide a diagram or some other explanation of what you are trying to accomplish? There could be some way to do it that doesn’t involve the impossible mechanism you’re proposing.

Ok, I think this might help… Try picturing a stick rotating off of one end. It then sets down the end which moved and begins pivot again but off of the opposite end. Like this:

Attachments


Ok, I decide to go with the obvious answer which to use the ultra simple ‘Use 1 Parent and 1 IK Bone Method’ . From a basic standpoint it gives me what I want, however, because it can’t be done in a way which takes advantage of rotation IPO information I’m quite literally
left to do my tweening frame by frame… by hand. Ok, not to big a deal if I were planning on doing this with a chair like I used as an analogy, unfortunately that isn’t the case.

I was planning on doing a kind of inter-rotational floor, which is composed of identical circles lined up left to right and top to bottom. Each circle is divided into 21 pieces which are are exchangeable upon rotation with their counterparts from an adjacent circle. My ideal rig for each of the 21 pieces would be one which could rotate off one axis, and then fully off of the other without lingering bones and the ability to follow this pattern indefinitely.

This way I would be able to: Frame 1- add rotation keyframe, Frame 11- rotate 90 and add rot key, Frame 21- rotate opposite side 90 and add rot key, etc.

Instead I am sort of forced to: Frame 1- add location keyframe, Frame 2- rotate from cursor 9 and add loc key, Frame 3- rotate from cursor 9 and add loc key… repeat until Frame 11, Frame 21- rotate opposite side from cursor 90 and add loc key, wash, rinse, and repeat 20x per circle. Talk about biting the bullet…

Enough downer stuff though. I am curious about a few things:
1: Is there a was to successfully animate accurate rotations which have been produced by rotating off of the cursor’s location and not from the object’s center?

2: Is there still a shred of hope in creating a rig which can circumnavigate the problematic points of animating this using location keys?

3: Are there keyframe options which allow for a solution to the problem I am having? For example Rot vs LocRot or something else?

4: Why is it that when I rotate my IK bone around the Parent bone exactly 270 degrees it flips an extra 180, but then reverts to normalcy when rotated past or backed off? Is this a bug or a defect in my simple rig?

Attachments



I have no clue whether this will work, or, if it works, whether it will be any simpler than what you’ve got in mind. Anyway, here it is:

Use multiple armatures.



This is simplified (very simplified) but the idea is that the red section can be controlled by either the center circle armature, or the “home circle” armature, each with their own center of rotation.

The other idea is that the segments don’t have to actually rotate into a new home circle, they simply need to appear as if they had. So, when the center armature rotates that red segment into a new home circle, everything reverts to the original setup except now the segment shared by the center circle and the home circle to the right is now red, and all the segments in the top home circle are grey.

Thanks Orinoco!
While I don’t think that using two armatures will work, your ideas about ‘faking it’ are very interesting. Using your diagram as reference, I would keep the central bone and have it control the rotation of all parts directly in its radius. Next I’d leave the other peices as either children of other driving circles or with no parents at all, as their obeject centers are actually at the centers of the 4 smaller circles. And like you said, I should be able to rotate 90 or 180 degrees, add a keyframe, move one frame back and add a keyframe, move forward one again and change the rotation back to starting position. This would work deffinately with the armature, but also should function while controlling the objects individually from their own centers of rotation.

The one and only thing which keeps this from being my Holy Grail is the complication of textures and colors. When I pictured this I had thought about there being a moving pattern of color almost like an ever changing tile floor.

Thanks Orinoco, you’ve helped a ton already. Do you have any ideas about this on a texture standpoint?

Is there an IPO function which delegates materials? What I mean is, just as I revert the objects back to their original placement, can I switch materials between the objects so that colors and normal maps are where the viewer is predicting them to be, but behind the scenes the objects have been switched?

I think, instead of trying to switch materials I can simply change the base color, duh! I’m pretty sure that this problem is totally solved. Simple solutions all around!

Thanks!

Attachments


I’m wondering about those simple solutions around… I liked the idea and made something as well, and it is simple it that regard that you don’t need anything else than parenting (for this cross shaped form anyhow) but it takes some organising and a number of bones notetheless I think. i was wondering if I could see your blend file? I’ll post mine soon but I have to find those passwords for these filesharing thingies again first.
here’s an image:
http://img337.imageshack.us/img337/8568/floortileshn1.jpg
Shot at 2008-03-10

Sure, I can provide a .blend and I’ll take a look at yours as well. Where do you host files which aren’t images?

Ok, So I’ve got the file here: http://www.savefile.com/files/1432411
This is the first time I’ve used the host so I hope it works right.

I hope it makes sense. Alt+A to animate the example. enjoy :slight_smile:

I had some problems getting the file to upload, so I had to wait till i was home, but here it is:
http://rapidshare.com/files/98766293/floor_armature2.blend

I kinda like your solution too though, even if it’s a hack (but then again, so is mine).
And there is a way to have multiple pivots by the way. The guy malefico, you know, from plumiferos, has made this rig of a little red dude which can do this by using some python scripting. Search for it on blendernation, shouldn’t be too hard to find.

EDIT: made a little youtube anim for fun:

I like fun.

The youtube looks great and thanks for the tip about the scripting! although the link you provided to the .blend doesn’t actually point to the file it self.

Shouldn’t it look more like this? http://rapidshare.com/files/98806275/lipnor.jpg
Thanks man, and I do want to see your solution.

D

yes indeed man, thanks for the correct link, my bad… fixed now.