Alan-ASD opened this issue on May 26, 2005 ยท 3 posts
Alan-ASD posted Thu, 26 May 2005 at 7:25 PM
I'm working on morphs, which correct the ugly mesh distortions you sometimes get when posing figures in mild to extreme poses. I'm specifically referring to dance and gymnastic poses in which arms and legs are stretch and arced at extreme angles, and the torso is bent or arched radically as seen in ballet and modern dance.
While constructing the morphs I've run into an interesting problem with one set of morphs on the thigh and buttocks area of the V3 character mesh.
In the Figure 1 portion of the image above you can see the V3 mesh zeroed with its right leg rotated -90 degrees side to side and all the mesh bulging, pinching, pushing, and pulling that occurs as the Joint Parameters try to correctly adjust the mesh to compensate for the rotated thigh, but which ultimately fail even when the buttocks is also repositioned.
In the Figure 2 portion of the image I've applied the custom morphs Ive created to enhance the mesh bulging, pinching, pushing, and pulling performed by the Joint Parameters.
Now here is the problem... After applying my new JP Enhancement Morphs something strange happens when I twist the thigh beyond a setting of plus or minus eight (+8 or 8) degrees. If I twist the thigh any further then the buttocks stops rotating with it and the top loop of polygons on the thigh mesh suddenly twist out of control as shown in Figure 3. Without the morphs applied the thigh can be twisted with no apparent problem. What is really strange is that this twisting problem only occurs when the thigh is rotated to the side by exactly 89.7 to 90.3 degrees. If the thigh is rotated by 89.6 or less, or by -90.4 or more, then the twisting problem disappears. Between the setting of 89.6 and 90.4 degrees the severity of the twisting problem varies, with it at its most extreme when set at 90.0 degrees.
Has anyone encountered a similar problem in the past or have any theories on what might be causing the problem?
I've been experimenting with the Joint Parameters to see if they might fix the problem, but as of yet I have had no luck.
Ohhh... Maybe I should mention that I'm using Poser 4 Pro Pack and creating the morphs in Lightwave and Rhinoceros 3D.
I'm testing the morphs on a zeroed Victoria 3 figure with default Joint Parameter settings and there are no other figures or objects in the Poser scene when the problem I mention occurs. There also are no other morphs applied to the figure other then the ones I'm testing.
Thanks.
~Alan
an0malaus posted Fri, 03 June 2005 at 1:48 PM
Rotations of one axis close to 90 really sounds like you're getting into gimbal lock territory. In that circumstance, information is being lost in calculation where one axis (and it's rotational information) is rotated into another. E.g. 90 Z rotation means X and Y axes coincide. A related example is when conforming clothing can jump off a figure which has had its body rotated about the Y axis by exactly 180 degrees. Change it to 179.999 and it's fine, 180.000000 and the clothing decides you haven't rotated the figure at all. In your case, if the morphs are being controlled by one of the limb rotations, you could try interposing a valueParm or dummy targetGeom with no deltas as an intermediary. I.e. joint controls dummy, dummy controls morph, then see whether a slight offset in the dummy can counteract the loss of information when the joint gets to 90 degress or change the angle the problem happens at.
Verbosity: Profusely promulgating Graham's number epics of complete and utter verbiage by the metric monkey barrel.
Alan-ASD posted Fri, 03 June 2005 at 2:22 PM
Gwhicks... Thank you very much for the response and information. Interesting, I don't have all that much experience with setting up poser files/characters/morphs/etc. yet, but I think I understand what you are saying. I'll see if I cna't put it into practice and test it out. At least I have an idea about what might be happening now. Thanks again.