Flexible bone constraints = model on the fly

Have you come up with a good Moho trick? Need help solving an animation problem? Come on in.

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Flexible bone constraints = model on the fly

Post by Genete »

I'm thrilled... :shock: :shock: :shock: :shock:

Look this file:
http://genetita.googlepages.com/flexibl ... e-rig.anme

And its animation:
http://genetita.googlepages.com/flexible-rig.mov

I can modify my 3D model on the fly!!! I can morph from one character to another just with some modifications in the masters bones!!!!

is that to be thrilled or not?...

If you cannot understand what I have done please ask. I'm so thrilled to explain it now... :shock: :shock: :shock:

Have fun!!
User avatar
DK
Posts: 2854
Joined: Mon Aug 09, 2004 6:06 am
Location: Australia

Post by DK »

Wow...I see what you have done! I think a small revolution is in progress :)

Great work genete!

D.K
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

DK wrote:Wow...I see what you have done! I think a small revolution is in progress :)

Great work genete!

D.K
Yes, my brain is boiling ... It will be a sleepless night...

Whis this ... it is not necessary to model the 3D rig at frame 0 (where the bones don't affect to the vector layers) you can model a standard model at frame 0 and then modify it to obtain the desired character at frame 1. ... Just modify the size and angle on the fly.... One bone rig model = infinite characters...

Yeah! it can be definitively called "flexible rig". A little contradictory but responds to its behavior...

Aaaaarrrggghh I cannot sleep and it is 2:13 AM!!!!!

:shock: :shock: :shock: :shock:
......
...
.
muuvist
Posts: 54
Joined: Tue Dec 05, 2006 9:24 pm
Location: Australia

Post by muuvist »

Looks fantastic genete, I'm gonna have to go thru your tutorials so I can understand it. Looking forward to seeing it applied to a model.
User avatar
ulrik
Posts: 1087
Joined: Thu Aug 11, 2005 10:32 pm
Location: Stockholm Sweden
Contact:

Post by ulrik »

It's looking really good, I think i have to take some time and study your 3d tutorials, great work Genete!
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Wicked cool!!!

This is brilliant.

Throw in my new layer flip script and you don't have to key the layer depth for the eyes! It would be automatic.

-vern
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

heyvern wrote:Wicked cool!!!

This is brilliant.

Throw in my new layer flip script and you don't have to key the layer depth for the eyes! It would be automatic.

-vern
I have used sort by true distance and layer order by the way.

The good new is that you can model your character at frame 1. Imagine that you have a character already done. Then if you want to modify it to obtain a variation of it (bigger jaw, more closed eyes, bumped nose, etc.) you just have to do the following:
Place a complete vertical turn at frame 2. You will see the top view.
Place a complete left or right turn on frame 3. tht will b the side view.
Put onion skin at frames 2 and 3.
If you now work at frame 1 (the front view) modifying the springy mechanisms (X,Y and Z coordinates) by the combination of scale the springy and modify the initial angle of them you can model the new character in a real time (you will see the effects at frame 2 and 3 due to onionskin) and can do it "by eye" as you always have loved to do!!!!! put apart the maths and go to direct modelling in a 3D space!!!!!

Now the real problem is the shape order. You have to do it manually.

I also have A LOT of new features with this new technique. You can control the whole springy mechanisms with a single bone and you can go to individual control of every springy mechanism (for instance to model a new character) or control a group of them with variable values (some springy rotates and scales more than others). with this you can make tentacles in 3D and such kind of things.

My previous limitation was the amount of time to rig a model that once I do it I cannot change it (it is rigged :wink:) Now once you have model one skeleton you can morph it to what ever other shape you want (convert a thin man into a fat one will be now very easy!!!)

Now I have a new universe of chances in front of me...

....

For the moment I have only done it in the Y rotation. I have to put it also in the X rotation to see how it works. But I want to study it carefully before start to model nothing. I don't want to loose my self in this bunch of bones... (I think I need now 24 bones for every point I "flexible rig" in the 3D space :shock: )

-G
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

I think I need now 24 bones for every point I "flexible rig" in the 3D space
I'm hoping that a future version of ASP will have new/better constraints that would bring that number down. I hope so anyway.
Now the real problem is the shape order. You have to do it manually.
Yeehaa!

I modified my flipbybones script so it works with bone rotation/translation!

This means that any bone's location can determine flipping even from rotation. I tested it with your project and it works... I just named the center bone of your "gizmo" to r-eye.now and the last bone on the right to r-eye.flip.

The trick will be setting up the layers ahead of time so you only need one set of bones for flipping. That is how I did it with my rig. You just want left and right to swap so you only really need one set of flip bones.

I haven't posted the new script yet. I will let you know when I do.

This is pretty freaking COOL! Can I use this in my rig!!!????

It would save a TON of time adjusting the bones for custom characters by changing the postions of certain parts of the face, like eyes and ears and also legs and arms (I only have one "3D" bone gizmo in the face rig and two in the body.)

You could also save actions for the bone layer that modify the bones for specific character modifications.

-vern
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

heyvern wrote:This is pretty freaking COOL! Can I use this in my rig!!!????
For sure! You know I am not a kind of "this is copyrigthand you cannot copy it" person. I'm glad that you find it useful.

Really my brain is boiling... I think none has realized yet how much potential have this tech :(. I feel the same as the first time I rig a point in the 3D space. It have a lot of potential. Flexible 3D rig is a like bomb in my arms...

....

I've just "flexible rigged" a point in space with this idea.
Here is the file:
http://genetita.googlepages.com/XYZ-flexible-rig.anme
At frame 0 you can put the point in any place of the 3D space!!! You only have to figure it out how it works.

Let me explain the file:

At frame 0 the point (the white ball) is placed with a set of flexible springy mechanisms at a point in space with X=x, Y=0, Z=z. I mean the X and Z coordinates are arbitrary and the Y is 0. It doesn't matter the beginning point. I place there because it is easier to me to create the initial chain there.

At frame 1 you can:
a) Scale the "X-scale" bone. It will increase or decrease the X coordinate of the point. It only affects to the side view because a rotation in X axis don't use the X coordinate of the point. You cannot rotate that bone, it don't make any sense. It scales 5 times to have the chance of make a negative distance. If the x coordinate of the point will be 0 you can consider to delete that chain.

b) Rotate and scale the "1-master X and Rx scale" bone. If you rotate it you will effectively rotate the point around the X axis with a constant Rx radius. It will affect to the Z and Y coordinates of the point (both at the same time). If you scale the bone you will move the point along the Rx radius (it is the minimum distance from the point ot the X axis), making it bigger or smaller. It affects to Y and Z both at the same time. It scales 5 times to allow cross the center of rotation. If the Y coordinate of the point will be 0 you can consider to remove the single vertical springy mechanism. If the Z coordinate of the point is 0 you can consider to delete the double springy mechanism. But remember, you can need them later...

Don't touch the "1-master Y" bone neither "master X" nor "master Y" at frame 1. If not you will be lost to place the point in the proper position.

So, with a length (X) a radius (Rx) and a angle (the angle of rotation around the X axis) you can place the point anywhere.

To see how the point will come in the top and side views you can place a onionskin mark at frames 2 and 3. There I have rotated the masters bones "master X" and "master Y" to simulate a complete side turn and top turn. TOP frame 2 and SIDE frame 3.

Once you are happy with your initial setup at frame 1 you can go to frame 4 and reset the master X and master Y bones to its initial values. From the frame 4 you can animate the point as it were rigged with those parameters at frame 1. (Of course in a real case the keyframes at frames 2 and 3 can be deleted. Now they are only there for educational proposes).
To animate the point you should manipulate "master X" and "master Y" bones (rotate). Why only they and not the others? Because they will be the masters of a "mesh of points".

The idea is that you have only two masters bones and a mesh of sub-masters bones to tweak its initial position in relation to the masters bones.

It is the same as the 3D rig I have explained in the tutorials but you can do it by eye and not using an static SIDE or TOP views.

Also there is a second benefit. You can modify (on the fly) the 3D skeleton of the point and make a new 3D one from where you can animate the point (rotate).

For sure you are not obligated to rig all the points with the same rotation center. In fact a just rigged point can be a center of rotation of another rig (like the phalanxes of the hand). With this you can create 3D tentacles, 3D trees or whatever...

Neither you are obligated to have individual sub-masters bones for every point. Maybe you can link a group of them to a single sub-master... even with variable constraints so the mesh moves softly when you manipulate the sub-master bone... Wow! I can see how it will work for facial expressions....

It is VERY complex... but illustrative. Every one can take what ever he wants (needs) if someone only need a Y rotation then take only the initial pair of "flexible springy rigs". If you need a more complex head turn that consider vertical rotation (X rotation) you can take the whole chain.

Also other interesting thing. Once you rig a mesh of points they can be used for ANY propose, ANY. Just change its coordinates and reuse it.

I'm happy!!!. :D

Genete
User avatar
Mikdog
Posts: 1901
Joined: Tue Jul 05, 2005 3:51 pm
Location: South Africa
Contact:

Post by Mikdog »

awesome ;)
Post Reply