## Limit rotation angles for armatures?

Animation tools, character animation, non linear animation

Moderators: jesterKing, stiv

Caronte
Posts: 76
Joined: Wed Oct 16, 2002 12:53 am
Location: Valencia-Spain-Europe

### Limit rotation angles for armatures?

First, it's very difycult for me to write english, so take in account.

I don't know how to dificult whould be to implement a feature like this one, but I have an idea to share with somebody interested:

Imagine an armature with 2 bones (3 if you count the used for IK) the number 1 is the root and the number 2 is the children.

Imagine a limit of 90 degrees for the child.

Now we grab the control empty and move to the root bone.

All the system is working like ever, but when the child bone reaches 90 degrees or more (in respect to root bone), then a new empty is created (internally) on the same Loc where child bone is, and a new IK constraint is created (again internally) pointing to the new empty.
This status is keep while the first bone move in the range of the limit zone (more than 90 degrees).

Uffff!!!
Sure no one understand me but may be someone take a idea.

P.D: ARG!! Some day I sould to learn english
Caronte.
"Some Day, All Will Be Digital"
http://www.nicodigital.com

solmax
Posts: 86
Joined: Fri Oct 18, 2002 2:47 am
Contact:

### bone rotation limits, as we know it from other 3D packages??

well the subject itself seems clear to me, this is a feature i'm waiting to be implemented in blender (I'm patient). just not sure what this "internal empty creation" is all about..

mthoenes
Posts: 39
Joined: Tue Oct 22, 2002 10:57 pm
Yup,
Lack of a really useful local rotation constraint is a difficult issue to overcome. I resorted to setting an action action for the range of motion and constraining to a control bone. This is working well fro arms and fingers as they are always at some difficult angle to get in a perpendicular view. There is talk about improved constraint system in the functionality board.

Let us hope!

sten
Posts: 177
Joined: Sun Oct 13, 2002 7:47 pm
something like this mockup? (yes I know, there's stuff that is not correct, but just as a fast view how It Could look like )

ilac
Posts: 131
Joined: Mon Oct 14, 2002 8:24 am
ztonzy wrote:something like this mockup? (yes I know, there's stuff that is not correct, but just as a fast view how It Could look like )

Yes but not quite! Don't know which part of your image you're referring to as not correct but there are 2 things wrong:

1) your pop-up is displaying loc instead of rot!

2) I like your yellow marker but it's not really displaying the constraint. As it is its displaying angle from thigh to (current) shin. I would expect that the yellow arc should go from shin-min-rot to shin-max-rot and moving the shin limits it within that arc!

Nice mock-up though! that yellow arc style could make a nice way to visualise the rotation constraints imo!

Really can't wait to see rotational constraints! Wish I had studied Computers languages instead of foreign languages at school!

macouno
Posts: 0
Joined: Tue Nov 18, 2003 3:37 am
I think I know what you mean though the "new Ik creation" throws me off. But since my idea seems along similar lines I'll post here in stead of creating a new thread.

The idea of Limiting rotation should really be implemented.

I'm thinking of a constraint where you can set a maximum and minimum rotation angle for a bone along each axis. So the bone can move freely within those angles (say from 0 to 90 degrees) but not beyond it.

Also you should be able to set those constraints to either be along the Object axis, the bones' own axis or the global axis (or perhaps even the axis of another bone/object). Of course the best way would be to make a simple constraint that could do one of those things, then combine multiple constraints to create the effect you want.

Say you have a "shin bone" and you want it to be able to rotate 90 degrees along it's own Z axis. Then create 3 constraints... one that locks rotation between 0 and 0 along x, the same for Y, and one more that locks the rotation between 0 and 90 for z.

Does this make sense? Is it practical? Is it doable, and is there someone that can and wants to code it????