CompuServe Thread

#IK follow obj. problem

7 messages in this thread
#186113From: John Mateer [PolyMedia]Aug 20, 1995 11:50 AM
I have an I problem that is driving me nuts. The scene is simple: A man walks into a room, picks up a box and puts it up on a shelf. The box that is carried linked to the left hand — hidden and then unhidden when the box is picked up (the old trick). I have a dummy object linked to the box and another linked to the right hand. These align perfectly when the chracter is bent over to pick up the box. I use the left arm/hand to move the box around and want the right to follow, staying on the box. Using "follow object" in IK, the motion looks good until there is any lateral motion, at which point the shoulder seems to "snap" from one angle limit to the other (on the Y axis, as if you were turning a screw) — it looks like the snap that occurs with a camera when it goes directly over the top of a scene. The box is clearly within reach but the motion is wrong despite all of the motion limits being set for the objects in the chain. I've tried different joint precedences and damping but have not found any good combinations. Do you have any suggestions? Is there a better approach to this? Any advice would be very helpful. (BTW congrats with MAX — I look forward to playing with it). John Mateer PolyMedia
#186130From: Jonas Ruikis [ADESK]Aug 20, 1995 2:40 PM
Hi John, << .. at which point the shoulder seems to "snap" from one angle limit to the other (on the Y axis, as if you were turning a screw) — it looks like the snap that occurs with a camera when it goes directly over the top of a scene. ..>> Is your hierarchical chain fully extended or do you have a bit of bend in all of the joint when the snap occurs? I had a similar problem with my dive example, until I allowed the knees to stay a bit bent. jonas[adesk]
#186225From: John Mateer [PolyMedia]Aug 21, 1995 6:36 AM
Jonas, Thanks for your note. Having a bend in each of the joints definitely makes a difference. I had some bend in the intial positions but the follow object stretched the chain to a nearly straight alignment, which caused problems. As long as the follow object is within easy reach and the rotation isn't too great, IK works easily. But if the rotation is fairly large, there can be problems. If the motion is broken down into steps it seems to help. The "snap" definitely appears when objects reach their rotational limits so limits (and which axes are active) need to be changed for each section to get smooth lateral motion. I guess my mistake was thinking that IK could solve for this type of motion in one pass. IKs solutions are technically right but look weird (so much for computers being intelligent machines <g>). A wishlist item: it would be very useful to have IK with force control (like gravity) to allow chains to have more natural motion tendencies with follow objects. I look forward to the day when I can just tell the models what to do and they do it <bg>. Cheers, John Mateer PolyMedia
#186246From: Jonas Ruikis [ADESK]Aug 21, 1995 9:45 AM
Hi John, << wishes..>> got 'em..
#186135From: alec jasonAug 20, 1995 2:44 PM
John, I'm not clear on exactly what you're doing but I think you have two separate problems: First, the "snap" you describe when the camera goes directly overhead is probably caused by the qauternion limitation which will always cause the camera to go nuts when it goes directly over a scene. There is no real fix for that, you will have to adjust the roll on each key as the camera moves up and over the scene. Second, I don't understand why you are using the IK module to do what appears to be a simple maneuver. I think you may be able to do what you need by forgetting the dummy box-linked-to object technique and just use several copies of the same box instead. In the 3D editor, make a copy of the box and then in the KF, link it directly to the hand but scale it down to .01 percent so it is not visible. Then when the hand reaches to pick up another copy of the box, that sitting box gets hidden and the box linked to the hand gets scaled to 100% on that Keyframe. (Be sure to set a blocking keyframe immediately before the 100% keyframe and set continuity=0. The when the box is place on the shelf, the box linked to the hand gets scaled down to .01 again and the third copy, the box on the shelf gets unhidden. That's the Cheap but Effective way I would do it. Alec Jason
#186224From: John Mateer [PolyMedia]Aug 21, 1995 6:36 AM
Alec, Thanks for your reply but I think you misunderstood my note. I am not having camera trouble, that was simply an analogy to describe the strange "snap" in my IK chain. To clarify, I am using three boxes in the scene, alternately hidden and unhidden as necessary (similar to what you described although I do not bother with scaling). The problem is keeping the right hand properly positioned on the box. >> I don't understand why you are using the IK module to do what appears to be >> a simple maneuver. Since the box can only be directly linked to one hand, in this case the left hand, the other must be moved properly to insure it stays on the box in the correct position. Think of it this way, the left arm/hand chain moves the box. I want the right hand to stay on the box to give the illusion that both arms are moving it. For simple up and down motion there is no problem. However, I am looking for fluid, natural motion which includes lots of rotation. I could go frame by frame and rotate each componant of the right arm/hand hierarchy but that is time consuming and not always accurate — the right hand could "float". With IK, the hand should stay anchored to the box. In my case it does, but the arm motion is wrong, hence my note. I hope this makes the problem a bit clearer. Cheers, John Mateer PolyMedia
#186146From: Tim Krego, [pro.image]Aug 20, 1995 3:24 PM
>Using "follow object" in IK, the motion looks good until there is any lateral motion,< Hard to say what is causing the problem. If you can u/l a small project file someone could look at it.