Lock bone strenght

Wondering how to accomplish a certain animation task? Ask here.

Moderators: Víctor Paredes, Belgarath, slowtiger

User avatar
GCharb
Posts: 2276
Joined: Mon Oct 10, 2005 2:31 am
Location: Montreal, Quebec, Canada
Contact:

Lock bone strenght

Post by GCharb »

Hello all.

Is there a lock bone strenght, like 50% instead of a full lock.

If there is such a functionality, is it possible to animate it over time, like say, I lock an hankle at frame 28 at 100% strenght, then set it a 0% at frame 40?

Thanks

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

Post by Genete »

what's a 50% bone locked? act like a spring? a damper? can you animate (fake animation) that with an example?
-G
User avatar
GCharb
Posts: 2276
Joined: Mon Oct 10, 2005 2:31 am
Location: Montreal, Quebec, Canada
Contact:

Post by GCharb »

Hello Genete

The concept is simple really, it means that at a certain frame you set a foot for a walkcycle at lock 100%, then, at a later position you set it at 0%, releasing the foot, creating a smooth transition between the two states.

As it is right now, you need to set the lock, unlock state in several spots, lock strenght would make it easier and most of the time look smoother.

Also, a kinematic constraint is usefull, it's a constraint where you lock an object to two hand bones, at the end of two kinematic chains, then the bone drives the two chains. This usually works with a strenght, permitting the smooth release of the bone.

An example would be a basketball, you lock the end of two arms kinematic chains to the basketball, you animate the whole thing using the basketball, then when you throw the ball, at a point you set the strenght at 0%, actually releasing the arms.

I'll try to put it in image whenever I can!

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

Post by Genete »

I think that you should understand how does the lock bone feature works:

first you have to understand what's the IK. Inverse Kinematics means that the program finds a solution for the problem of that the user forces the tip of a bone chain to be in a certain position keeping all the bones lengths fixed and modifying only the angles.
So placed the root bone of a bone chain fixed, the computer should find the chain angles to fit the requirement of place the tip of the bone chain at a certain position.

The bone lock works in the inverse way. You fix the tip position and move the root bone position. Then the program calculates the angles to match both ends of the chain to the desired positions (the root by the user interactivity and the tip (locked) fixed in a certain position.

If that position is not fully fixed then there is an ambiguity to calculate the angles of the chain. The angles of the chain becomes undefined and the solver cannot decide where is the correct solution (there is a lot of possible solution for a not full fixed tip of a bone chain).
Even who decides where that 50% fixed bone should be? any kind of spring system? more force more far away?
The concept of not 0 or 100% locked is not clear until you explain what does it means.

-G
User avatar
GCharb
Posts: 2276
Joined: Mon Oct 10, 2005 2:31 am
Location: Montreal, Quebec, Canada
Contact:

Post by GCharb »

Heu, this is sort of funny.

I know what IK, FK, Bone Lock are.

I was merelly asking if this was part of AS set of tools, seems it isnt.

Those are 3D features, available in most 3D applications, since AS/Moho was build after a 3D software which has such tools I was curious to know if it was part of the toolset.

Thanks for your explaination anyhow! ;)

GC
User avatar
synthsin75
Posts: 10280
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

GCharb, I don't think Genete was trying to give you a lesson in terminology. Being a programmer, it may be professional hazard. He was just explaining that, no, AS doesn't have this feature, and going on to tell why it would be problematic the way AS handles locking.

:wink:
User avatar
GCharb
Posts: 2276
Joined: Mon Oct 10, 2005 2:31 am
Location: Montreal, Quebec, Canada
Contact:

Post by GCharb »

Hello synthsin75 and Genete

No complains here, I am also a programmer, I script alot for softimage in basic or c++

I take no ombrage and give none, just pointing that this was just a question, now, do not make me hangry, or i'll post a pic of me in bathing suit on the forum, brrrrr!!!!

BTW, I am french, born and raised, my english is pretty good, even spoken, but still, not my main language, and i am sure this is the case of many peoples here, which may lead to misunderstandings.

Hehe, peace! :)

GC
User avatar
synthsin75
Posts: 10280
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

Yeah, I was only trying to help bridge that language gap myself. Genete is Spanish, so unless you're use to how he writes, the meaning can get a little lost.

Please don't be angry. I don't think I know you well enough to swap personal pics. :P :wink:
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

We can all get short and grumpy sometimes. I just let it slide. You do need to develop a type of "filter" in your brain dealing with this type of "typed words only" communication. It's ten times harder to judge subtle meanings and miscommunications.

I often can get very snarky and short. I may be frustrated with the crazy questions or maybe I just had a bad day and I come here to "kick the dog" so to speak. ;)

I agrees to some degree with what Genete said. Gradually turning bone locking on and off is not a simple task. Animation Master is the OLDEST consumer 3D program on the market (1985). There is still trouble switching from IK to FK, locking and unlocking bones. It's very tricky. The solutions for AM are not even "built in" to the application, they are handled by people who develop bone rigs to compensate for this with constraints and poses.

I've found that AS's bone locking "on/off" works well if you put in those extra keys. There is also a trick of using an "extra" foot bone at the tip or toe. This bone is locked instead of the foot so the foot can be rotated independently for stepping and other poses.

http://www.lowrestv.com/anime_studio/bo ... imbing.mov

------

I would like to see a "perfect" solution for this in a 3D application. People often mention these features in other applications but without seeing them in action it is only "anecdotal". It could be these other applications have similar features that are used to create the IK/FK switching.

---------

I am very very very close to a solution for the type of "bone locking" needed for walk cycles using a script. It involves "aiming" a bone at another bone instead of using "parenting". Bones are not hierachical but appear to be due to how they aim and scale to reach other bones.

This means a bone like a foot can be moved and forces other bones in the legs to "bend" and "scale" to reach the foot. This means the foot bone can be "locked" to the ground and not move at all as other bones move and rotate but the foot bone is still "unlocked" to be moved easily for walking. The other bones "aim" at the foot but don't "move" the foot. I am close to a solution but ran into a few snags I haven't worked out yet.

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

Post by Genete »

The only way to let others know that I'm not upset or angry or annoyed is by placing lots of blinks or smilies around... but sometimes I feel stupid doing that. If I don't I feel serious and upset and if I do it looks like a joke. :(

In this case no upset, not angry, not annoyed. Just trying to understand what does 50% lock mean. Never never have seen that (because I've never used Animation Master) and the worst, I don't figure out what does it means and how is it mathematically solved.

I'm a researcher. If I found a feature request I love to understand what does it means. If it simple, useful and can be done with the current scripting interface... why don't implement it? ;)

-G
chucky
Posts: 4650
Joined: Sun Jan 28, 2007 4:24 am

Post by chucky »

GCharb's brought up a good point and worthy of the top feature requests.
I know exactly what he means, if the lock had a percentile then we could slip it on and off like comfy slippers with graphable keys, it would be almost or even exactly like a proximity/attraction constraint useful for more than feet.
Hell you could do all sorts of wacky stuff like debris going down a whirlpool with a looping circular path and a bone locking to the centre.
I don't know if that's a great example but you know what I mean huh?
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

I'm with Genete on this one. I don't know what 50% locked is either. If a bone is "locked" it doesn't move. If it's unlocked... it moves. So... 50% locked would move... uh... 50%? 50% of what?

It's not a quantifiable value. It's like 50% of 0.

If the end of a chain is locked you move other bones and they "point" to the locked bone. The IK solver calculates TRANSLATION and ROTATION both to determine where those bones go when the "target" bone is unlocked. If that locked bone is 50% "unlocked" and you move other bones in the chain... how far does that bone move? Where will it go when it's 100% unlocked? It would "jump" to a new position if the other bones aren't keyed. That's what happens when you "unlock" a bone. Other bones positions and rotations are keyed to force the current position to be maintained. You would still need keys for those bones during this gradual transition.

I just spent the last 20 minutes playing with the bone lock and it... well... it seems to work fine locking and unlocking bones.

Genete, Animation Master does NOT have the ability to have "50% locked" bones. What it does have are "poses" that can be turned on and off or set to different percentages. So you can have IK and FK and switch or blend the two. however the problem has always been keyframing the "switching" between IK and FK. It almost always produced "pops" and jumps. It was tricky to smooth out the transition and required additional key frames to blend the motion.

Lately people have developed more robust skeletal "rigs" that have "expressions" and sophisticated constraints for better switching of IK/FK that avoids problems. These are not features added by the programmers. These are done by users of the software using the existing bone features and creating a solution.

The key to making bone locking "better" in Anime Studio is to add more bone controls and constraints so skeletal rigs can be "designed" by the users to allow for smoother transitions from IK to FK.

Just my humble opinion. :) big happy smile! This is FUN! I love these discussions. They always lead to cool things.


-vern
chucky
Posts: 4650
Joined: Sun Jan 28, 2007 4:24 am

Post by chucky »

Guys, imagine a more elastic force like instead of chaining the bone down with chromed steel use bungees or a magnetic force which can dial down to 0 strength. This might not sit with the strict essence of how locking works in AS, but I'm pretty far from understanding that, unlike Genete and yourself. :oops:
I'm still new to maya but I have seen the same type of concept in C4D , useful for passing or catching objects in a hand and such.
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

chucky wrote: I'm still new to maya but I have seen the same type of concept in C4D , useful for passing or catching objects in a hand and such.
Different concept. Catching or picking up objects involve some kind of animated location constraint. Bone locking is something else entirely. Bones in a chain that are effected by the end bone being locked and unlocked. Catching a single object only effects that one bone of the object.

Maybe we have the ideas mixed up? Are you talking about a "translation constraint"? For instance a bone is "free" and loose. A bone for an object to be caught by a character. When this bone gets close to the hand or visa versa, you turn on a translation constraint so the object bone "locks" to the hand.

For a caught object in AS you can't use a constraint because constraints can't be turned on and off. I definately want that. Absolutely. Yes, this is needed. Animated constraints are something I've wanted from day one.

---

With the bone locking in AS when you turn off bone locking it puts in a rotation key frame for all the bones in the chain right before the unlock key frame. This forces that bone into that position so it doesn't "jump" to the "unlocked" position. Bone locking is sort of like a "contstraint" in that it doesn't use key frames. It uses the IK solver to animate the bones. From that point forward the bone now behaves "normally".

In the "climbing" sample I showed above, at each point when the hand or foot "stops" or "starts" and the figure moves up the bone locking is turned on or off. All the bones effected by the locked bone have rotation keys added to keep that position. Sometimes there are "conflicts" with the solver that require a bit of tweaking but it works really well in my opinion.

A gradual transition wouldn't fix any of that or change what keys are needed to produce that same result. A gradual shift from "locked" to "unlocked" would still need key frames. Otherwise bone locking would have to force a key on every frame to create that motion. Using IK solving reduces the number of keys to keep track of and move when editing the motion.

I think any major modification of this behavior in AS would require a reworking or replacement of the IK solver algorithm.

-vern
chucky
Posts: 4650
Joined: Sun Jan 28, 2007 4:24 am

Post by chucky »

I think we are all on the same page now. Tough one this.
Post Reply