daz3d / DazToBlender

Daz to Blender Bridge
https://www.daz3d.com/daz-to-blender-bridge
Other
201 stars 46 forks source link

Morph driver expression for pJCMForeArmFwd_135_L is wrong #151

Open UuuNyaa opened 1 year ago

UuuNyaa commented 1 year ago

I think the pJCMForeArmFwd_135_L and pJCMForeArmFwd_135_R drivers are symmetric, but their expressions are not symmetric as follows:

Morph name Expression
pJCMForeArmFwd_135_L erc_keyed((a_001*57.3),0.0,135.0,1,135.0)
pJCMForeArmFwd_135_R erc_keyed((a_001*-57.3),75,135,1,60.0)

And I think the expression for pJCMForeArmFwd_135_L should be erc_keyed((a_001*57.3),75,135,1,60.0), not erc_keyed((a_001*57.3),0.0,135.0,1,135.0).

Reproduction steps

  1. Open DAZStudio
  2. Load Genesis 8.1 figure
  3. Run File > Send To > Daz To Blender
  4. Check Export Morphs 3-1. Press Choose Morphs button 3-2. Press Morph Utilities > Add JCMs > Arms button 3-3. Press Morph Utilities > Add Connected Morphs button 3-4. Press Accept button (Dialog closes)
  5. Press Accept button
  6. Open Blender
  7. Press 3D Viewport > Sidebar > Daz To Blender > Import New Genesis Figure
  8. Check the Shape Keys image

Environment

chlbrn commented 1 year ago

Probably the same as mine:https://github.com/daz3d/DazToBlender/issues/154 It is something wrong in Blender 3.3 I believe.

danielbui78 commented 1 year ago

I have reviewed the pJCMForeArmFwd_135_L and pJCMForeArmFwd_135_R behavior in Daz Studio and Blender and they are exactly the same and working as intended. Please be aware that the joint rotations are not symmetric at the midpoint, so 60 degrees on the right joint is not the mirrored equivalent of 60 degrees on the left joint. I am looking into an update to convert joints to use symmetric joint rotations. However, such an update will not be ready until Jan 2023 or later. Did this answer your question?

UuuNyaa commented 1 year ago

@danielbui78 Thanks for your reply. What environment do you use? In my environment, the pJCMForeArmFwd_135_L and pJCMForeArmFwd_135_R collective shape key values are different.

https://user-images.githubusercontent.com/70152495/207677246-b037e483-6db8-40c2-b6a9-309fbba5f0f7.mp4

Then, when the expression is modified symmetrically, their values match.

My Environment

danielbui78 commented 1 year ago

Thanks for the video, it was very helpful in understanding the issue you are reporting. I will need to do further testing on my end.