Hey everybody. I’m adding corrective shapes to rig to achieve realistic anatomy, but they don’t work very reliably, especially in complex poses, you can see an example on the video. The femur is variable, it is set on the X axis (i.e. when I lift my leg up 90 degrees, at that moment the shape is activated), but if my character sits down and extends his legs further apart (on the Z axis), the shape that is set on the X axis still remains and interferes with the shape that is set on the Z axis, and as a result an artifact occurs. The shape slider instantly jumps from 0.450 to 1.000, and then returns to the logical value of 0.450. Is it possible to use a combo driver that will take into account both the X and Z axis? In addition, I’ve tried changing the Euler variants so that weird glitches don’t happen, but that hasn’t worked for me
Hey everybody. I’m adding corrective shapes to rig to achieve realistic anatomy, but they don’t work very reliably, especially in complex poses, you can see an example on the video. The femur is variable, it is set on the X axis (i.e. when I lift my leg up 90 degrees, at that moment the shape is activated), but if my character sits down and extends his legs further apart (on the Z axis), the shape that is set on the X axis still remains and interferes with the shape that is set on the Z axis, and as a result an artifact occurs. The shape slider instantly jumps from 0.450 to 1.000, and then returns to the logical value of 0.450. Is it possible to use a combo driver that will take into account both the X and Z axis? In addition, I’ve tried changing the Euler variants so that weird glitches don’t happen, but that hasn’t worked for me
Can you post up the .blend file?
Really can’t do much without seeing that…
Randy
Hi; so, this is the “Delta” problem in Rigging.
It is a relatively well-known, but annoying limitation, concerning how the software reads the Axes. As there is no Diagonal Axis, Blender needs to read the combined XZ Axes in a specific way in order to achieve that combined Axes’ spacial reference, which is called “Delta”.
Fortunately, it is fairly easy to achieve a Delta with 2 Inputs on the same Driver (works for Shape Keys). It’s fundamentally a varA * varB as a Scripted Expression.
These two tutorials will show how to make Delta, as a Corrective Shape Key, for Facial Expression (a very common case). It is not difficult then to translate that example to a Pelvis-Thigh Joint Setup.
And there exist other alternatives to make Deltas in Blender. But the Driver solution is a handy one, even though it remains a fact, real good Organic Rigging is still very difficult to develop no matter what.
Oh my gosh, thank you so much! I was using Transform Channel on one axis the whole time. Pretty good method of mixing shapes, thanks again. The first time worked out more or less well for me, I’ll try again to study it better and do it again
пн, 23 дек. 2024 г. в 05:50, Pxy-Gnomes via Blender Artists Community <[email protected]>:
Sorry for my late reply, but I have already solved this problem. It turned out that you need to replace Auto Euler with Quaternion
Hi again, I was wondering if you would have any ideas on how to make the shape activate with the driver not immediately from 0° to 135° but from 90° to 135°? I have a first shape that activates from 0° to 90° and a second one that should activate from 90° to 135°. I know you can do this in F-Curve, but how exactly is not really clear. I’d be happy if you could give me any clues
Hi again,
First, you should mark @Pxy-Gnomes reply as the solution, not mine. I didn’t solve your original problem, I just asked to see the file.
Yes, it’s done in the graph editor, and yes, it’s not really clear. The graph editor can be hard to understand. Here’s the basics for drivers
It’s a 2d graph, the x-axis is the input value. the y-axis is the output value. You create curves to give you the output value you desire given the input value.
2shapekeys_1bone_example.blend (902.4 KB)
Open the file, rotate the bone clockwise and watch the shape keys on the cube. When working in the graph editor, rotational values are in radians. So 90 degrees is 1.571…
If you need help understanding the file, let me know.
Randy
Hi again. I’ll send you the prepared file later and you can take a look.
Here, when you open it, you will see a leg model with two shapes called Rotation X 92 Degrees and Rotation X 137 Degrees, where the first shape should activate from 0° to 92° and the second from 92° to 137°. To make it easy to work with, I made an animation of the rotation of the leg where each frame is a degree, this way you can observe the F-Curve by rotating the leg frame by frame. I’m wondering how I can make the shape named Rotation X 137 Degrees activate from 92° to 137° after activating the first one from 0° to 92°? Not immediately from 0° to 137°
Shape.blend (1.4 MB)
I’m very sorry, bro, I was away from the forums about the end of the year… but now I’m definitively back.
@revolt_randy Thanks a lot for addressing the question in my absence; Also I’m sorry for that. You’ve provide fundamental notions that I believe should provide solution.
@Robin_Gunningham Did you actually solved the issue in the end?
I must say that, in my opinion, the worst Transform in Blender Rigging system to Rig is the Rotation one. Dealing with Radians (in the case of using Scripting Expression) always messes up my Workflow, because I haven’t took the time to revise the base Mathematics in the context of the Rigging. It’s not like the crude Location Transform, in which 1 meter is one just 1 meter.
Because of that, right now, I can’t solve the issue just mentally (differently from your original question): I would have to dive in Blender file(s). If it still needed, tell me I’ll go get it; it’s a good exercize anyways.
Just a curiosity:
I was trying some time ago to devise a Bone-to-Bone Setup for mimicking the Drivers’ 2 Axes combining Detla.
I believe there should be some way to have this to work, although not exactly as the product varA*varB of the Drivers feature (I don’t know how would that be done through Bone Constraints; this current Setup is probably an Addition of X & Z Local Y Axis Transforms, to the same Mapper (MAP) Delta Bone, which is a Buffer Bone catching and holding data for the other Helper Bones that would be in the Hip-Thigh Joint Region [not showing here though for simplicity, the focus is the experimental MAP Bone].
PS: Target Spaces “Local With Parent” is probably a mistake; it might cause the MAP Bone to also be affect by Transforms of overarching Parent Bones in the Skeleton, such as the Center of Gravity (CoG) Bone or the Root Bone, even if the MAP Bone is Unparented. Renders this Space nearly useless for Rigging; I believe it might be a critical inconsistency/bug. Better just simply Drive the Local Y Axis of the MAP Bone then; it would be the only simple, remaining way to make it responds to the Master IK Foot Bone.