Daz>Blender 2.79 diffeomorphic--problem with thigh pole targets?

Hi,
I used the diffeo plugins "convert to rigify" function and the pole targets look ok for the elbows and they are directly behind it. But for the knees the pole targets are like 3 inches in front of the knees and about 3 feet outwards to the sides. I converted the legs and arms to IK so that the feet dont stretch but instead follows the body. And when i take the rigify square control around the waist to move the whole torso down the feet stay planted like they are supposed to but the knees bend way outwards because of where the pole targets are.
Is that normal for a Daz figure in Blender converted to rigify with diffeo? i tried messing with the options to get the thigh pole targets more in front of the knees and further away but the thigh mesh always deforms to follow the pole. I cant figure out how to make a dupe bone to act as poles in the new position or how to temporarly disable the influences on the poles so i can move it. I did a bit of reading and i saw that Blender pole targets were a bit of a pain to work with. Anyone have any ideas for a workaround?
Comments
Personally I don't like rigify because it is too complex so I just add my own ik chains to the imported figure. Also perhaps you may get better help on the diffeo site about this subject.
hmm...do you just use the regular daz rig that gets imported to Blender then? and add the ik chains? for this first model i dont really need the face bones since its a ninja-like character with a mask on. Would the modification that you mentioned in a way make the model function similar to an SFM model? where you select bones to bend them and twist them. But when you go to drag the model around by the pelvis bone or hip bones the arms and legs follow.
Can you recommend any good youtube tutorials that show how to do what you are talking about? i'd like to try it out and see how it works as far as posing goes.
OK i found one tutorial that goes over the basics of how to add an IK chain i think. It had me adding something to the heel and the pole target in front of the knee. But they were starting from scratch and i'm trying to modify the Daz model. I must not be accounting for some of the other bone properties because when i try to move the heel IK up the leg stays stiff and the entire hip moves up.
You can add the control bones you need for ik to the daz armature. The tutorial below is quite fast and good.
The thing is i'm not 100% sure how to deal with daz armature specific issues. I've found several tutorials and they are all just like that. One thigh bone, one shin bone, one foot bone and in some tutorials there is a foot bone and one toe bone. But the Daz armature has a thigh bone and a thigh twist bone. When i add an IK control to the foot so that i can take the foot and move it up and down the thigh bone and thigh twist bone start to bend or form a dogleg which then deforms the thigh mesh itself.
I thought about it for a few minutes and my guess is that the shin bone needs to be parented to the thigh bend bone instead of the thigh twist bone. The mesh deforms better when i move the foot IK control i added up and down, and when i grab the thigh twist bone i can still twist the thigh mesh around. But there is still a bit of uncertainty like am i doing it right? will this cause unforseen problems later on down the line? etc
Something that might be worth mentioning is that i've been using a G8 model. I just now tried out a G3 model and converted it to rigify with the diffeo plugin and it works fine and the knees line up OK.
I would suggest that you can set up IK on an imported Daz rig like this in Blender. G8F is my basis here; not sure if it will work with G3F, but don't see why not. I'm using 2.80, but the principles should be the same in 2.79.
Duplicate the foot bone and rename it - this will be the IK target. Remove the parenting to the shin bone. Add an IK bone constraint to the shin bone; specify the target you just made, set the chain length to 3.
Select the thigh twist bone in pose or edit mode, and in the Bone tab of Properties panel lock all the axes of both location and rotation under Transform, and also lock X and Z under Inverse Kinematics (Lock IK). That stops the mid-thigh bending. Also make sure that for the thigh bend bone that all the location axes, and the X and Z rotation axes are locked under Transform, but the IK axes shouldn't be locked.
At this point, the IK should be basically working but the knee will be waving around for the lack of a pole target. So now duplicate the shin bone, remove the parenting and the IK constraint, then rename it and position it as you see fit (somewhere in front of the knee, probably). Update the IK bone constraint on the shin to include the pole target, and adjust the pole angle as required (always seems to be -90 for some reason!).
I'm sure there are refinements that could be made, and the mesh deformation isn't perfect but that may improve if you import the correctives in the plugin.
I tried that method on a G8F that was brought into Blender using the diffeo plugin and nothing moved at all. Maybe because the bones on the diffeo G8F arent connected to each other and only parented to each other? i also tried it on the FBX from the Daz exporter and the limbs did move but the knees went way off to the sides. The other tutorials i've been following extruded a new bone from the existing bone then clearing its properties instead of duplicating a bone and clearing all its old properties. I dont know if the head/tail needs to be connected for it to work or what. But with the extrude method i've been able to get both diffeo G8F and Daz exported FBX G8F to move. The only problem i cant figure out when the feet are brought up or the pelvis brought down the figure takes on a extreme baseball catchers squat position. I can get the knees back in front if i select the shin bone and move it along the X axis. But i dont know if that will cause jittery legs when i go to start animating the figure.
When using a G3 figure in blender that is converted to rigify using diffeo 1.3 moving the feet up or pelvis down keeps the knees together in the middle. So maybe there's something different between the G3 armature and the G8 armature? like maybe the bones are rolled a different way or something? its not the rest pose because i tried moving a G8 figure into the same T-pose as the G3 figure and the knees were still messed up when i tried posing.
Hmm, I'm not sure what you mean about bones in an imported G8F not being connected to each other, only parented. They don't seem to be connected or otherwise differently to G3F bones in that regard to me.
Of course, you can create the IK control bones by extruding if that works better for you, I don't think it makes any difference either way.
Sounds like you need to look at how your pole targets for the knees are set up. Strangely, G3F seems to keep her knees together a bit better than G8F - obviously a more modest lady! G8F is OK till she reaches a deep squat. But in both cases their ankles are badly broken by the time they get down low enough for it to be an issue, so you would pose them differently (on toes e.g.). Could be something to do with setting the knee poles slightly wider for the A-pose of G8F than for the T-pose of G3F.
I notice there is a difference in the foot rig between G3F and G8F but it's not obvious how that would affect the knee positions when squatting. I haven't looked at the bone rolls - I try not to alter them unless absolutely necessary because it always seems to cause more problems than it solves. I've not tried converting either G3F or G8F to Rigify, but my latest test suggests G3F keeps her knees together more anyway with the Daz rig, though as noted above that could be related to knee pole target positions I used.
https://i.imgur.com/qVuBegl.jpg
Thats what i meant by the bones being parented to each other but not connected head to tail with each other. Diffeo does that to the bones but the Daz exporter doesnt. As far as setting up pole targets goes i've tried several different combos already but they all have mostly the same result with the squat. Pole directly in front, in front to the outside slightly, in front and inside slightly (and criss-crossed with the other legs poles), slightly up and slightly down. I've also tried messing with pole angles like setting it to something else and then manually rotating the thigh back to its resting pose but it still does the squat. It happens whether diffeo converts it to rigify, whether i take the diffeo imported G8 and manually try to add the IK or if its a daz exported fbx that i try adding the IK too.
I could probably built a rig from scratch or use blenders meta rig and convert it to IK and i'm willing to bet that the knees stay together when the armature does a squat. But why is the G8 different? i have to go to leave the house in a little bit, but later on i'm going to look at some other models with relaxed A poses instead of T poses to see how their knees behave.
I finally figured it out and you guys are gonna laugh (maybe) when you hear this. A few months ago when i first started using diffeo i clicked all the tabs to see what they had and i saw one for rigging and i saw an option to convert rigs. I didnt remember this until a few moments when i was trying to fix this problem yet again. I was like "wait a second, doesnt diffeo have a feature that converts rigs" and sure enough when i converted the G8F to G3F and used diffeo's convert to rigify function on it the figures knees stay together now when i move the feet up and down.
Sorry to have wasted your time with this Padone and Andya. But at least now if anyone else mentions this problem in the future the three of us knows how to fix it.
That is also an interesting solution I didn't think about, thank you.
Pleased to hear you found a solution that suits you. No need to apologise - I got to revise setting up IK on a Daz rig, though I should finish off by doing the foot roll IK as a practice exercise. Interestingly - or maybe not - I noticed that if you grab the leg IK controls and move them up (instead of moving the hip bone down) then G8F's knees actually fall inwards more than G3F's! And if you bring G8F's feet together to more or less match where G3F's feet are in default pose, then as you move the hip down the knees stay together pretty much as G3F's knees do. So my conclusion is the behavior differences are mostly to do with the position of the feet.
I will be intrigued to see how the new, improved IK controls in DS 4.12 behave in comparison.