odf opened this issue on Oct 27, 2008 · 13933 posts
lesbentley posted Tue, 03 November 2009 at 7:16 AM
odf,
I must admit that when I gave you the advice about renaming the channels, I was working on theory, and had not done the tests. I should know better by now! every time I say something about Poser without doing the tests first, I end up with egg on my face, and I've got a double yolker this time :sad:. I have started to do some tests now.
I'll tackle your points in backwards order.
Quote - If I use the current channel names, Poser complains when I apply a left hand .hd2 file to the right hand, but sets the finger bends correctly anyway, and in effect I get the pose that I wanted. Again, this happens the same way in P6 and P8. So now I'm a bit confused, because you reported that applying a .hd2 file to the other hand wouldn't work.
The error message "Some information...does not pertain to a figure of this type" is easily fixed by editing the file to add the line "setChannelWarning 0" as the line just above the closing brace of the file. In P6 (and probably other versions) if you open a hd2 that came with Poser you will see this line. However when P6 writes a hd2 it does not add that line. The error may be caused by Poser encountering unexpected dial names in the hand, but I am not sure.
Quote - ... but sets the finger bends correctly anyway, and in effect I get the pose that I wanted.
If you (or an end user) saved a hd2 for the rHand, it would not contain data for the lHand "CTRLL" channels, and so the Grasp and Spread could not be transferred to the lHand. You would need to make a separate hd2 for the other hand, or you could probably edit the hd2 to include the missing channels, but I have not tested that idea.
Quote - What happens now is that if I apply a left hand .hd2 file to the right hand, the CTRL dial is applied on top of the values in the finger joints, so in effect I get double the grasp. This happens consistently in Poser8 and Poser6.
I have started to do some tests and I get the same result as you on that score. I did an experiment in which I set the rHand Grasp to 1.0 then saved a hd2 from the rHand and applied it to the lHand, the master dial was set to 1.0 as it should be, but the hand had not moved, (after disabling limits) a value of 2.0 was now needed to clench the fist, and a value of 0.0 gave a negative bend. On saving and inspecting the pz3, I found k ('keys') value of each zrot channel in fingers (only) had been set to the inverse of the value in the corresponding 'deltaAddDelta' line. All this calls out for further investigation, but I have been up all night, and now I must sleep.
I can only apologise for giving bad advice and wasting your time. I had jumped to the (wrong) conclusion that because a hd2 records targetGeom channels it must be able to transfer them successfully to either hand. This does not appear to be the case, at least in situations where ERC is controlling rotations. The k value is transferred successfully to the targetGeom, but something strange happens to the rotations, which seems to be related to the 'deltaAddDelta' value, and whether or not the master has a none zero value.