• Daz 3D
  • Shop
  • 3D Software
    • Daz Studio Premier
    • Daz Studio
    • Install Manager
    • Partnerships
    • AI Training data
    • Exporters
    • Daz to Roblox
    • Daz to Maya
    • Daz to Blender
    • Daz to Unreal
    • Daz to Unity
    • Daz to 3ds Max
    • Daz to Cinema 4D
  • 3D Models
    • Genesis 9
    • Genesis 8.1
    • Free 3D Models
  • Community
    • Gallery
    • Forums
    • Blog
    • Press
    • Help
  • Memberships
    • Daz Premier
    • Daz Plus
    • Daz Base
    • Compare
  • Download Studio
ADVANCED SEARCH
  • Menu
  • Daz 3D
ADVANCED SEARCH
Add image
  • Shop
  • 3d Software
    • Daz Studio Premier
    • Daz Studio
    • Install Manager
    • Partnerships
    • AI Training data
    • Exporters
    • Daz to Roblox
    • Daz to Maya
    • Daz to Blender
    • Daz to Unreal
    • Daz to Unity
    • Daz to 3ds Max
    • Daz to Cinema 4D
  • 3D Models
    • Genesis 9
    • Genesis 8.1
    • Free 3D Models
  • Community
    • Our Community
    • Gallery
    • Forums
    • Blog
    • Press
    • Help
  • Memberships
    • Daz Premier
    • Daz Plus
    • Daz Base
    • Compare

Notifications

You currently have no notifications.

Loading...
    • Categories
    • Recent Discussions
Daz 3D Forums > 3rd Party Software > Blender Discussion

Daz to Blender Update 2.0

Richard HaseltineRichard Haseltine Posts: 107,898
January 2021 in Blender Discussion

This week Daz released an update to the Daz to Blender Bridges. Here are the items in the update. Enjoy!

  • Animations will now export out of Daz to Blender
  • Fix import issues of the skeleton from Daz to Blender
    • Rotations
    • Rotation Order
  • Updated Morph Exporting Setup
    • Now Has Presets
    • All Morphs for the characters can be chosen
    • Can Choose Morphs from Window
  • Support for Blender Versions 2.90 and 2.91

Comments

  • kumpulin1kumpulin1 Posts: 0
    January 2021

    There is error when importing 8.1 figure

    line 179, in bodyTexture
        NodeArrange.toNodeArrange(ROOT)
    UnboundLocalError: local variable 'ROOT' referenced before assignment

  • DAZ_samDAZ_sam Posts: 170
    January 2021

    kumpulin1 said:

    There is error when importing 8.1 figure

    line 179, in bodyTexture
        NodeArrange.toNodeArrange(ROOT)
    UnboundLocalError: local variable 'ROOT' referenced before assignment

    Right now 8.1 is not supported in Daz to Blender thank you for sharing the info we will look into it. You can also add your issue on our Github - Blender Issues, So if anyone in the community has an idea before we get to it. 

  • Andy-MAndy-M Posts: 2
    February 2021 edited February 2021

    Hi Folks,

    I'm making use of the latest bridge to see how well it imports figures into Blender. I don't think I'm using it incorrectly and to get it to behave I had to make some alterations to one of the files. Below is a decription of a few issues I've had. Sorry it's a bit long-winded and hopefully there is a simpler solution than the one described below.

    Andy

    ----

    My configuration is:

    • Blender: 2.90
    • DAZStudio: 4.12.1.118
    • Bridge: 2.1.0

    Issue 1

    If I don't specify any pJCM morphs in the DAZ Script dialog Daz to Blender: Morph Names, no joint morphs are exported to Blender. This results in the figure mesh being the wrong shape around the joints if the figure is exported in a posed position. This also happens to default-posed figures posed in Blender.

    So I went back into DAZ and exported the figure with every pJCM morph available in the Daz to Blender: Morph Names dialog. This was an improvement.

    Issue 2

    Having solved issue 1, there are parts of the mesh that are wrong. For example, if I export the G8F figure using 2 poses (one being the mirror of the other), one pose will have the right elbow correctly shaped, whilst in the mirror pose the left elbow is not.

    I know Blender uses drivers to tie bones to shapekeys, so I went looking through Blender looking for the drivers. The shapekey for the left elbow was not being applied as the formula was wrong. I then looked at some other drivers and noticed issues. These are:

    1. The formula is wrong (i.e. the result of the formula is not a positive value and so the shapekey is not applied).
    2. The rotation axis is wrong.

    I went digging through the bridge files and found Database.py in AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\DTB. The two sections of interest are tbl_mdrive_g3 and tbl_mdrive. These tables set up the drivers and the properties in these tables backed up what I waas seeing in Blender, so if I was to fix the issues I was seeing, it would be here.

    The Solution
    Two tables have been modified. Below is a snapshot of the changes I've made. I should note that, I don't know what happens with characters beyond G3F and G8F base figures or to clothing.

    tbl_mdrive_g3=[                                                             # Rotations: X = 0, Y = 1, Z = 2
        ['pJCMShldrDown_75_L', 'lShldrBend', 0, 'val*-0.764'],                  # G3F ORIGINAL WAS 2, 'val*0.764'],
        ['pJCMShldrDown_75_R', 'rShldrBend', 0, 'val*0.764'],                   # G3F ORIGINAL WAS 2, 'val*-0.764'],
        ['pJCMShldrFwd_95_L', 'lShldrBend', 2, 'val*-0.603'],                   # G3F ORIGINAL WAS 0
        ['pJCMShldrFwd_95_R', 'rShldrBend', 2, 'val*-0.603'],                   # G3F ORIGINAL WAS 0
        ['pJCMShldrUp_35_L', 'lShldrBend', 0, 'val*1.637'],                     # G3F ORIGINAL WAS 2, 'val*-1.637'],
        ['pJCMShldrUp_35_R', 'rShldrBend', 0, 'val*-1.637'],                    # G3F ORIGINAL WAS 2, 'val*1.637'],
        ['pJCMCollarUp_50_L', 'lCollar', 0, 'val*1.146'],                       # G3F ORIGINAL WAS 'val*-1.146'],
        ['pJCMCollarUp_50_R', 'rCollar', 0, 'val*-1.146']                       # G3F ORIGINAL WAS 'val*1.146'],
    ]
    
    tbl_mdrive = [                                                               # Rotations: X = 0, Y = 1, Z = 2
        # G3F Drivers should not be here unless they are shared with other models.
        # Doing so defines the driver twice in Blender.
        #['pJCMShldrDown_75_L', 'lShldrBend', 0, 'val*-0.764'],                  # G3F ORIGINAL WAS 2, 'val*0.764'],
        #['pJCMShldrDown_75_R', 'rShldrBend', 0, 'val*0.764'],                   # G3F ORIGINAL WAS 2, 'val*-0.764'],
        #['pJCMShldrFwd_95_L', 'lShldrBend', 2, 'val*-0.603'],                   # G3F ORIGINAL WAS 0
        #['pJCMShldrFwd_95_R', 'rShldrBend', 2, 'val*-0.603'],                   # G3F ORIGINAL WAS 0
        #['pJCMShldrUp_35_L', 'lShldrBend', 0, 'val*1.637'],                     # G3F ORIGINAL WAS 2, 'val*-1.637'],
        #['pJCMShldrUp_35_R', 'rShldrBend', 0, 'val*-1.637'],                    # G3F ORIGINAL WAS 2, 'val*1.637'],
        #['pJCMCollarUp_50_L', 'lCollar', 0, 'val*1.146'],                       # G3F ORIGINAL WAS 'val*-1.146'],
        #['pJCMCollarUp_50_R', 'rCollar', 0, 'val*-1.146'],                      # G3F ORIGINAL WAS 'val*1.146'],
        
        # Unknown
        ['lShldrBend_CTRLMD_N_YRotate_n110', 'lShldrBend', 1, 'val*-0.521'],
        ['lShldrBend_CTRLMD_N_ZRotate_90', 'lShldrBend', 2, 'val*0.637'],
        ['lShldrBend_CTRLMD_N_ZRotate_n40', 'lShldrBend', 2, 'val*-1.433'],
        
        # G8F Drivers
        ['pJCMAbdomen2Fwd_40', 'abdomenUpper', 0, 'val*1.433'],                 # GOOD
        ['pJCMAbdomen2Side_24_L', 'abdomenUpper', 2, 'val*-2.389'],             # GOOD
        ['pJCMAbdomen2Side_24_R', 'abdomenUpper', 2, 'val*2.389'],              # GOOD
        ['pJCMAbdomenFwd_35', 'abdomenLower', 0, 'val*1.638'],                  # GOOD
        ['pJCMAbdomenLowerFwd_Navel', 'abdomenLower', 0, 'val*1.638'],          # GOOD
        ['pJCMAbdomenUpperFwd_Navel', 'abdomenUpper', 0, 'val*1.433'],          # GOOD
        ['pJCMBigToeDown_45_L', 'lBigToe', 0, 'val*-1.274'],                    # ORIGINAL WAS 'val*1.274'],
        ['pJCMBigToeDown_45_R', 'rBigToe', 0, 'val*-1.274'],                    # ORIGINAL WAS 'val*1.274'],
        ['pJCMChestFwd_35', 'chestLower', 0, 'val*1.638'],                      # GOOD
        ['pJCMChestSide_20_L', 'chestLower', 2, 'val*-2.866'],                  # GOOD
        ['pJCMChestSide_20_R', 'chestLower', 2, 'val*2.866'],                   # GOOD
        ['pJCMCollarTwist_n30_L', 'lCollar', 1, 'val*-1.911'],                  # ORIGINAL WAS 'val*1.911'],
        ['pJCMCollarTwist_n30_R', 'rCollar', 1, 'val*1.911'],                   # ORIGINAL WAS 'val*-1.911'],
        ['pJCMCollarTwist_p30_L', 'lCollar', 1, 'val*1.911'],                   # ORIGINAL WAS 'val*-1.911'],
        ['pJCMCollarTwist_p30_R', 'rCollar', 1, 'val*-1.911'],                  # ORIGINAL WAS 'val*1.911'],
        ['pJCMCollarUp_55_L', 'lCollar', 0, 'val*1.042'],                       # ORIGINAL WAS 2, 'val*-1.042'],
        ['pJCMCollarUp_55_R', 'rCollar', 0, 'val*-1.042'],                      # ORIGINAL WAS 2, 'val*1.042'],
        ['pJCMFootDwn_75_L', 'lFoot', 0, 'val*-0.764'],                         # ORIGINAL WAS 'val*0.764'],
        ['pJCMFootDwn_75_R', 'rFoot', 0, 'val*-0.764'],                         # ORIGINAL WAS 'val*0.764'],
        ['pJCMFootUp_40_L', 'lFoot', 0, 'val*1.433'],                           # ORIGINAL WAS 'val*-1.433'],
        ['pJCMFootUp_40_R', 'rFoot', 0, 'val*1.433'],                           # ORIGINAL WAS 'val*-1.433'],
        ['pJCMForeArmFwd_135_L', 'lForearmBend', 0, '(val-1.309)*0.955'],       # ORIGINAL WAS '(val+1.309)*-0.955'],
        ['pJCMForeArmFwd_135_R', 'rForearmBend', 0, '(val+1.309)*-0.955'],      # GOOD
        ['pJCMForeArmFwd_75_L', 'lForearmBend', 0, 'val*0.764'],                # ORIGINAL WAS 'val*-0.764'],
        ['pJCMForeArmFwd_75_R', 'rForearmBend', 0, 'val*-0.764'],               # GOOD
        ['pJCMHandDwn_70_L', 'lHand', 0, 'val*-0.819'],                         # ORIGINAL WAS 2, 'val*0.819']
        ['pJCMHandDwn_70_R', 'rHand', 0, 'val*0.819'],                          # ORIGINAL WAS 2, 'val*-0.819']
        ['pJCMHandUp_80_L', 'lHand', 0, 'val*0.717'],                           # ORIGINAL WAS 2, 'val*-0.717']
        ['pJCMHandUp_80_R', 'rHand', 0, 'val*-0.717'],                          # ORIGINAL WAS 2, 'val*0.717']
        ['pJCMHeadBack_27', 'head', 0, 'val*-2.123'],                           # GOOD
        ['pJCMHeadFwd_25', 'head', 0, 'val*2.293'],                             # GOOD
        ['pJCMIndex1Dwn_90_L', 'lIndex1', 0, 'val*-0.637'],                     # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMIndex1Dwn_90_R', 'rIndex1', 0, 'val*0.637'],                      # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMIndex2Dwn_105_L', 'lIndex2', 0, 'val*-0.546'],                    # ORIGINAL WAS 2, 'val*0.546'],
        ['pJCMIndex2Dwn_105_R', 'rIndex2', 0, 'val*0.546'],                     # ORIGINAL WAS 2, 'val*-0.546'],
        ['pJCMIndex3Dwn_90_L', 'lIndex3', 0, 'val*-0.637'],                     # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMIndex3Dwn_90_R', 'rIndex3', 0, 'val*0.637'],                      # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMMid1Dwn_95_L', 'lMid1', 0, 'val*-0.603'],                         # ORIGINAL WAS 2, 'val*0.603'],
        ['pJCMMid1Dwn_95_R', 'rMid1', 0, 'val*0.603'],                          # ORIGINAL WAS 2, 'val*-0.603'],
        ['pJCMMid2Dwn_105_L', 'lMid2', 0, 'val*-0.546'],                        # ORIGINAL WAS 2, 'val*0.546'],
        ['pJCMMid2Dwn_105_R', 'rMid2', 0, 'val*0.546'],                         # ORIGINAL WAS 2, 'val*-0.546'],
        ['pJCMMid3Dwn_90_L', 'lMid3', 0, 'val*-0.637'],                         # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMMid3Dwn_90_R', 'rMid3', 0, 'val*0.637'],                          # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMNeckBack_27', 'neckUpper', 0, 'val*-0.7581'],                     # GOOD
        ['pJCMNeckBack_27', 'neckLower', 0, 'val2*-1.197'],                     # GOOD
        ['pJCMNeckFwd_35', 'neckUpper', 0, 'val*0.76203'],                      # GOOD
        ['pJCMNeckFwd_35', 'neckLower', 0, 'val2*1.20327'],                     # GOOD
        ['pJCMNeckLowerSide_40_L', 'neckLower', 2, 'val*-1.911'],               # GOOD
        ['pJCMNeckLowerSide_40_R', 'neckLower', 2, 'val*1.911'],                # GOOD
        ['pJCMNeckTwist_22_L', 'neckLower', 1, 'val*2.606'],                    # GOOD
        ['pJCMNeckTwist_22_R', 'neckLower', 1, 'val*-2.606'],                   # GOOD
        
        # Unknown
        ['pJCMNeckTwist_Reverse', 'neckLower', 0, 'val*1.433'],
        
        # G8F
        ['pJCMPelvisFwd_25', 'pelvis', 0, 'val*-2.293'],                        # ORIGINAL WAS 'val*2.293'],
        ['pJCMPinky1Dwn_95_L', 'lPinky1', 0, 'val*-0.637'],                     # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMPinky1Dwn_95_R', 'rPinky1', 0, 'val*0.637'],                      # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMPinky2Dwn_105_L', 'lPinky2', 0, 'val*-0.546'],                    # ORIGINAL WAS 2, 'val*0.546'],
        ['pJCMPinky2Dwn_105_R', 'rPinky2', 0, 'val*0.546'],                     # ORIGINAL WAS 2, 'val*-0.546'],
        ['pJCMPinky3Dwn_90_L', 'lPinky3', 0, 'val*-0.637'],                     # ORIGINAL WAS 2, 'val*0.637']
        ['pJCMPinky3Dwn_90_R', 'rPinky3', 0, 'val*0.637'],                      # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMRing1Dwn_95_L', 'lRing1', 0, 'val*-0.637'],                       # ORIGINAL WAS 2, 'val*0.637'],  
        ['pJCMRing1Dwn_95_R', 'rRing1', 0, 'val*0.637'],                        # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMRing2Dwn_105_L', 'lRing2', 0, 'val*-0.546'],                      # ORIGINAL WAS 2, 'val*0.546'],
        ['pJCMRing2Dwn_105_R', 'rRing2', 0, 'val*0.546'],                       # ORIGINAL WAS 2, 'val*-0.546'],
        ['pJCMRing3Dwn_90_L', 'lRing3', 0, 'val*-0.637'],                       # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMRing3Dwn_90_R', 'rRing3', 0, 'val*0.637'],                        # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMShinBend_155_L', 'lShin', 0, '(val-1.571)*0.882'],                # GOOD
        ['pJCMShinBend_155_R', 'rShin', 0, '(val-1.571)*0.882'],                # GOOD
        ['pJCMShinBend_90_L', 'lShin', 0, 'val*0.637'],                         # GOOD
        ['pJCMShinBend_90_R', 'rShin', 0, 'val*0.637'],                         # GOOD
        ['pJCMShldrDown_40_L', 'lShldrBend', 0, 'val*-1.433'],                  # ORIGINAL WAS 2, 'val*1.433'],
        ['pJCMShldrDown_40_R', 'rShldrBend', 0, 'val*1.433'],                   # ORIGINAL WAS 2, 'val*-1.433'],
        ['pJCMShldrFwd_110_L', 'lShldrBend', 2, 'val*-0.521'],                  # ORIGINAL WAS 0
        ['pJCMShldrFwd_110_R', 'rShldrBend', 2, 'val*-0.521'],                  # ORIGINAL WAS 0
        ['pJCMShldrUp_90_L', 'lShldrBend', 0, 'val*0.637'],                     # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMShldrUp_90_R', 'rShldrBend', 0, 'val*-0.637'],                    # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMThighBack_35_L', 'lThighBend', 0, 'val*1.638'],                   # GOOD
        ['pJCMThighBack_35_R', 'rThighBend', 0, 'val*1.638'],                   # GOOD
        ['pJCMThighFwd_115_L', 'lThighBend', 0, '(val+0.995)*-0.988'],          # GOOD
        ['pJCMThighFwd_115_R', 'rThighBend', 0, '(val+0.995)*-0.988'],          # GOOD
        ['pJCMThighFwd_57_L', 'lThighBend', 0, 'val*-1.006'],                   # GOOD
        ['pJCMThighFwd_57_R', 'rThighBend', 0, 'val*-1.006'],                   # GOOD
        ['pJCMThighSide_85_L', 'lThighBend', 2, 'val*-0.674'],                  # GOOD
        ['pJCMThighSide_85_R', 'rThighBend', 2, 'val*0.674'],                   # GOOD
        ['pJCMThumb1Bend_50_L', 'lThumb1', 0, 'val*1.146'],                     # GOOD
        ['pJCMThumb1Bend_50_R', 'rThumb1', 0, 'val*-1.146'],                    # ORIGINAL WAS 'val*1.146'],
        ['pJCMThumb1Up_20_L', 'lThumb1', 2, 'val*-2.866'],                      # GOOD
        ['pJCMThumb1Up_20_R', 'rThumb1', 2, 'val*-2.866'],                      # ORIGINAL WAS 'val*2.866'],
        ['pJCMThumb2Bend_65_L', 'lThumb2', 0, 'val*-0.882'],                    # ORIGINAL WAS 'val*0.882'],
        ['pJCMThumb2Bend_65_R', 'rThumb2', 0, 'val*0.882'],                     # GOOD
        ['pJCMThumb3Bend_90_L', 'lThumb3', 0, 'val*-0.637'],                    # ORIGINAL WAS 'val*0.637'],
        ['pJCMThumb3Bend_90_R', 'rThumb3', 0, 'val*0.637'],                     # GOOD
        ['pJCMToesUp_60_L', 'lToe', 0, 'val*0.955'],                            # ORIGINAL 'val*-0.955'],
        ['pJCMToesUp_60_R', 'rToe', 0, 'val*0.955'],                            # ORIGINAL 'val*-0.955'],
        
        # Unknown
        ['rShldrBend_CTRLMD_N_YRotate_110', 'rShldrBend', 1, 'val*0.521'],
        ['rShldrBend_CTRLMD_N_ZRotate_40', 'rShldrBend', 2, 'val*1.433'],
        ['rShldrBend_CTRLMD_N_ZRotate_n90', 'rShldrBend', 2, 'val*-0.637'],
      #  ['EyesSideSide', 'sight', 2, 'val * -0.955'],
      #  ['EyesSideR', 'sight', 2, 'val * -0.955'],
      #  ['EyesSideL', 'sight', 2, 'val * 0.955'],
      #  ['EyesUpDown', 'sight', 0, 'val * 0.955'],
    ]
    Post edited by Andy-M on February 2021
  • DAZ_samDAZ_sam Posts: 170
    February 2021

    Andy-DAZ3D said:

    Hi Folks,

    I'm making use of the latest bridge to see how well it imports figures into Blender. I don't think I'm using it incorrectly and to get it to behave I had to make some alterations to one of the files. Below is a decription of a few issues I've had. Sorry it's a bit long-winded and hopefully there is a simpler solution than the one described below.

    Andy

    ----

    My configuration is:

    • Blender: 2.90
    • DAZStudio: 4.12.1.118
    • Bridge: 2.1.0

    Issue 1

    If I don't specify any pJCM morphs in the DAZ Script dialog Daz to Blender: Morph Names, no joint morphs are exported to Blender. This results in the figure mesh being the wrong shape around the joints if the figure is exported in a posed position. This also happens to default-posed figures posed in Blender.

    So I went back into DAZ and exported the figure with every pJCM morph available in the Daz to Blender: Morph Names dialog. This was an improvement.

    Issue 2

    Having solved issue 1, there are parts of the mesh that are wrong. For example, if I export the G8F figure using 2 poses (one being the mirror of the other), one pose will have the right elbow correctly shaped, whilst in the mirror pose the left elbow is not.

    I know Blender uses drivers to tie bones to shapekeys, so I went looking through Blender looking for the drivers. The shapekey for the left elbow was not being applied as the formula was wrong. I then looked at some other drivers and noticed issues. These are:

    1. The formula is wrong (i.e. the result of the formula is not a positive value and so the shapekey is not applied).
    2. The rotation axis is wrong.

    I went digging through the bridge files and found Database.py in AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\DTB. The two sections of interest are tbl_mdrive_g3 and tbl_mdrive. These tables set up the drivers and the properties in these tables backed up what I waas seeing in Blender, so if I was to fix the issues I was seeing, it would be here.

    The Solution
    Two tables have been modified. Below is a snapshot of the changes I've made. I should note that, I don't know what happens with characters beyond G3F and G8F base figures or to clothing.

    tbl_mdrive_g3=[                                                             # Rotations: X = 0, Y = 1, Z = 2
        ['pJCMShldrDown_75_L', 'lShldrBend', 0, 'val*-0.764'],                  # G3F ORIGINAL WAS 2, 'val*0.764'],
        ['pJCMShldrDown_75_R', 'rShldrBend', 0, 'val*0.764'],                   # G3F ORIGINAL WAS 2, 'val*-0.764'],
        ['pJCMShldrFwd_95_L', 'lShldrBend', 2, 'val*-0.603'],                   # G3F ORIGINAL WAS 0
        ['pJCMShldrFwd_95_R', 'rShldrBend', 2, 'val*-0.603'],                   # G3F ORIGINAL WAS 0
        ['pJCMShldrUp_35_L', 'lShldrBend', 0, 'val*1.637'],                     # G3F ORIGINAL WAS 2, 'val*-1.637'],
        ['pJCMShldrUp_35_R', 'rShldrBend', 0, 'val*-1.637'],                    # G3F ORIGINAL WAS 2, 'val*1.637'],
        ['pJCMCollarUp_50_L', 'lCollar', 0, 'val*1.146'],                       # G3F ORIGINAL WAS 'val*-1.146'],
        ['pJCMCollarUp_50_R', 'rCollar', 0, 'val*-1.146']                       # G3F ORIGINAL WAS 'val*1.146'],
    ]
    
    tbl_mdrive = [                                                               # Rotations: X = 0, Y = 1, Z = 2
        # G3F Drivers should not be here unless they are shared with other models.
        # Doing so defines the driver twice in Blender.
        #['pJCMShldrDown_75_L', 'lShldrBend', 0, 'val*-0.764'],                  # G3F ORIGINAL WAS 2, 'val*0.764'],
        #['pJCMShldrDown_75_R', 'rShldrBend', 0, 'val*0.764'],                   # G3F ORIGINAL WAS 2, 'val*-0.764'],
        #['pJCMShldrFwd_95_L', 'lShldrBend', 2, 'val*-0.603'],                   # G3F ORIGINAL WAS 0
        #['pJCMShldrFwd_95_R', 'rShldrBend', 2, 'val*-0.603'],                   # G3F ORIGINAL WAS 0
        #['pJCMShldrUp_35_L', 'lShldrBend', 0, 'val*1.637'],                     # G3F ORIGINAL WAS 2, 'val*-1.637'],
        #['pJCMShldrUp_35_R', 'rShldrBend', 0, 'val*-1.637'],                    # G3F ORIGINAL WAS 2, 'val*1.637'],
        #['pJCMCollarUp_50_L', 'lCollar', 0, 'val*1.146'],                       # G3F ORIGINAL WAS 'val*-1.146'],
        #['pJCMCollarUp_50_R', 'rCollar', 0, 'val*-1.146'],                      # G3F ORIGINAL WAS 'val*1.146'],
        
        # Unknown
        ['lShldrBend_CTRLMD_N_YRotate_n110', 'lShldrBend', 1, 'val*-0.521'],
        ['lShldrBend_CTRLMD_N_ZRotate_90', 'lShldrBend', 2, 'val*0.637'],
        ['lShldrBend_CTRLMD_N_ZRotate_n40', 'lShldrBend', 2, 'val*-1.433'],
        
        # G8F Drivers
        ['pJCMAbdomen2Fwd_40', 'abdomenUpper', 0, 'val*1.433'],                 # GOOD
        ['pJCMAbdomen2Side_24_L', 'abdomenUpper', 2, 'val*-2.389'],             # GOOD
        ['pJCMAbdomen2Side_24_R', 'abdomenUpper', 2, 'val*2.389'],              # GOOD
        ['pJCMAbdomenFwd_35', 'abdomenLower', 0, 'val*1.638'],                  # GOOD
        ['pJCMAbdomenLowerFwd_Navel', 'abdomenLower', 0, 'val*1.638'],          # GOOD
        ['pJCMAbdomenUpperFwd_Navel', 'abdomenUpper', 0, 'val*1.433'],          # GOOD
        ['pJCMBigToeDown_45_L', 'lBigToe', 0, 'val*-1.274'],                    # ORIGINAL WAS 'val*1.274'],
        ['pJCMBigToeDown_45_R', 'rBigToe', 0, 'val*-1.274'],                    # ORIGINAL WAS 'val*1.274'],
        ['pJCMChestFwd_35', 'chestLower', 0, 'val*1.638'],                      # GOOD
        ['pJCMChestSide_20_L', 'chestLower', 2, 'val*-2.866'],                  # GOOD
        ['pJCMChestSide_20_R', 'chestLower', 2, 'val*2.866'],                   # GOOD
        ['pJCMCollarTwist_n30_L', 'lCollar', 1, 'val*-1.911'],                  # ORIGINAL WAS 'val*1.911'],
        ['pJCMCollarTwist_n30_R', 'rCollar', 1, 'val*1.911'],                   # ORIGINAL WAS 'val*-1.911'],
        ['pJCMCollarTwist_p30_L', 'lCollar', 1, 'val*1.911'],                   # ORIGINAL WAS 'val*-1.911'],
        ['pJCMCollarTwist_p30_R', 'rCollar', 1, 'val*-1.911'],                  # ORIGINAL WAS 'val*1.911'],
        ['pJCMCollarUp_55_L', 'lCollar', 0, 'val*1.042'],                       # ORIGINAL WAS 2, 'val*-1.042'],
        ['pJCMCollarUp_55_R', 'rCollar', 0, 'val*-1.042'],                      # ORIGINAL WAS 2, 'val*1.042'],
        ['pJCMFootDwn_75_L', 'lFoot', 0, 'val*-0.764'],                         # ORIGINAL WAS 'val*0.764'],
        ['pJCMFootDwn_75_R', 'rFoot', 0, 'val*-0.764'],                         # ORIGINAL WAS 'val*0.764'],
        ['pJCMFootUp_40_L', 'lFoot', 0, 'val*1.433'],                           # ORIGINAL WAS 'val*-1.433'],
        ['pJCMFootUp_40_R', 'rFoot', 0, 'val*1.433'],                           # ORIGINAL WAS 'val*-1.433'],
        ['pJCMForeArmFwd_135_L', 'lForearmBend', 0, '(val-1.309)*0.955'],       # ORIGINAL WAS '(val+1.309)*-0.955'],
        ['pJCMForeArmFwd_135_R', 'rForearmBend', 0, '(val+1.309)*-0.955'],      # GOOD
        ['pJCMForeArmFwd_75_L', 'lForearmBend', 0, 'val*0.764'],                # ORIGINAL WAS 'val*-0.764'],
        ['pJCMForeArmFwd_75_R', 'rForearmBend', 0, 'val*-0.764'],               # GOOD
        ['pJCMHandDwn_70_L', 'lHand', 0, 'val*-0.819'],                         # ORIGINAL WAS 2, 'val*0.819']
        ['pJCMHandDwn_70_R', 'rHand', 0, 'val*0.819'],                          # ORIGINAL WAS 2, 'val*-0.819']
        ['pJCMHandUp_80_L', 'lHand', 0, 'val*0.717'],                           # ORIGINAL WAS 2, 'val*-0.717']
        ['pJCMHandUp_80_R', 'rHand', 0, 'val*-0.717'],                          # ORIGINAL WAS 2, 'val*0.717']
        ['pJCMHeadBack_27', 'head', 0, 'val*-2.123'],                           # GOOD
        ['pJCMHeadFwd_25', 'head', 0, 'val*2.293'],                             # GOOD
        ['pJCMIndex1Dwn_90_L', 'lIndex1', 0, 'val*-0.637'],                     # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMIndex1Dwn_90_R', 'rIndex1', 0, 'val*0.637'],                      # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMIndex2Dwn_105_L', 'lIndex2', 0, 'val*-0.546'],                    # ORIGINAL WAS 2, 'val*0.546'],
        ['pJCMIndex2Dwn_105_R', 'rIndex2', 0, 'val*0.546'],                     # ORIGINAL WAS 2, 'val*-0.546'],
        ['pJCMIndex3Dwn_90_L', 'lIndex3', 0, 'val*-0.637'],                     # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMIndex3Dwn_90_R', 'rIndex3', 0, 'val*0.637'],                      # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMMid1Dwn_95_L', 'lMid1', 0, 'val*-0.603'],                         # ORIGINAL WAS 2, 'val*0.603'],
        ['pJCMMid1Dwn_95_R', 'rMid1', 0, 'val*0.603'],                          # ORIGINAL WAS 2, 'val*-0.603'],
        ['pJCMMid2Dwn_105_L', 'lMid2', 0, 'val*-0.546'],                        # ORIGINAL WAS 2, 'val*0.546'],
        ['pJCMMid2Dwn_105_R', 'rMid2', 0, 'val*0.546'],                         # ORIGINAL WAS 2, 'val*-0.546'],
        ['pJCMMid3Dwn_90_L', 'lMid3', 0, 'val*-0.637'],                         # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMMid3Dwn_90_R', 'rMid3', 0, 'val*0.637'],                          # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMNeckBack_27', 'neckUpper', 0, 'val*-0.7581'],                     # GOOD
        ['pJCMNeckBack_27', 'neckLower', 0, 'val2*-1.197'],                     # GOOD
        ['pJCMNeckFwd_35', 'neckUpper', 0, 'val*0.76203'],                      # GOOD
        ['pJCMNeckFwd_35', 'neckLower', 0, 'val2*1.20327'],                     # GOOD
        ['pJCMNeckLowerSide_40_L', 'neckLower', 2, 'val*-1.911'],               # GOOD
        ['pJCMNeckLowerSide_40_R', 'neckLower', 2, 'val*1.911'],                # GOOD
        ['pJCMNeckTwist_22_L', 'neckLower', 1, 'val*2.606'],                    # GOOD
        ['pJCMNeckTwist_22_R', 'neckLower', 1, 'val*-2.606'],                   # GOOD
        
        # Unknown
        ['pJCMNeckTwist_Reverse', 'neckLower', 0, 'val*1.433'],
        
        # G8F
        ['pJCMPelvisFwd_25', 'pelvis', 0, 'val*-2.293'],                        # ORIGINAL WAS 'val*2.293'],
        ['pJCMPinky1Dwn_95_L', 'lPinky1', 0, 'val*-0.637'],                     # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMPinky1Dwn_95_R', 'rPinky1', 0, 'val*0.637'],                      # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMPinky2Dwn_105_L', 'lPinky2', 0, 'val*-0.546'],                    # ORIGINAL WAS 2, 'val*0.546'],
        ['pJCMPinky2Dwn_105_R', 'rPinky2', 0, 'val*0.546'],                     # ORIGINAL WAS 2, 'val*-0.546'],
        ['pJCMPinky3Dwn_90_L', 'lPinky3', 0, 'val*-0.637'],                     # ORIGINAL WAS 2, 'val*0.637']
        ['pJCMPinky3Dwn_90_R', 'rPinky3', 0, 'val*0.637'],                      # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMRing1Dwn_95_L', 'lRing1', 0, 'val*-0.637'],                       # ORIGINAL WAS 2, 'val*0.637'],  
        ['pJCMRing1Dwn_95_R', 'rRing1', 0, 'val*0.637'],                        # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMRing2Dwn_105_L', 'lRing2', 0, 'val*-0.546'],                      # ORIGINAL WAS 2, 'val*0.546'],
        ['pJCMRing2Dwn_105_R', 'rRing2', 0, 'val*0.546'],                       # ORIGINAL WAS 2, 'val*-0.546'],
        ['pJCMRing3Dwn_90_L', 'lRing3', 0, 'val*-0.637'],                       # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMRing3Dwn_90_R', 'rRing3', 0, 'val*0.637'],                        # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMShinBend_155_L', 'lShin', 0, '(val-1.571)*0.882'],                # GOOD
        ['pJCMShinBend_155_R', 'rShin', 0, '(val-1.571)*0.882'],                # GOOD
        ['pJCMShinBend_90_L', 'lShin', 0, 'val*0.637'],                         # GOOD
        ['pJCMShinBend_90_R', 'rShin', 0, 'val*0.637'],                         # GOOD
        ['pJCMShldrDown_40_L', 'lShldrBend', 0, 'val*-1.433'],                  # ORIGINAL WAS 2, 'val*1.433'],
        ['pJCMShldrDown_40_R', 'rShldrBend', 0, 'val*1.433'],                   # ORIGINAL WAS 2, 'val*-1.433'],
        ['pJCMShldrFwd_110_L', 'lShldrBend', 2, 'val*-0.521'],                  # ORIGINAL WAS 0
        ['pJCMShldrFwd_110_R', 'rShldrBend', 2, 'val*-0.521'],                  # ORIGINAL WAS 0
        ['pJCMShldrUp_90_L', 'lShldrBend', 0, 'val*0.637'],                     # ORIGINAL WAS 2, 'val*-0.637'],
        ['pJCMShldrUp_90_R', 'rShldrBend', 0, 'val*-0.637'],                    # ORIGINAL WAS 2, 'val*0.637'],
        ['pJCMThighBack_35_L', 'lThighBend', 0, 'val*1.638'],                   # GOOD
        ['pJCMThighBack_35_R', 'rThighBend', 0, 'val*1.638'],                   # GOOD
        ['pJCMThighFwd_115_L', 'lThighBend', 0, '(val+0.995)*-0.988'],          # GOOD
        ['pJCMThighFwd_115_R', 'rThighBend', 0, '(val+0.995)*-0.988'],          # GOOD
        ['pJCMThighFwd_57_L', 'lThighBend', 0, 'val*-1.006'],                   # GOOD
        ['pJCMThighFwd_57_R', 'rThighBend', 0, 'val*-1.006'],                   # GOOD
        ['pJCMThighSide_85_L', 'lThighBend', 2, 'val*-0.674'],                  # GOOD
        ['pJCMThighSide_85_R', 'rThighBend', 2, 'val*0.674'],                   # GOOD
        ['pJCMThumb1Bend_50_L', 'lThumb1', 0, 'val*1.146'],                     # GOOD
        ['pJCMThumb1Bend_50_R', 'rThumb1', 0, 'val*-1.146'],                    # ORIGINAL WAS 'val*1.146'],
        ['pJCMThumb1Up_20_L', 'lThumb1', 2, 'val*-2.866'],                      # GOOD
        ['pJCMThumb1Up_20_R', 'rThumb1', 2, 'val*-2.866'],                      # ORIGINAL WAS 'val*2.866'],
        ['pJCMThumb2Bend_65_L', 'lThumb2', 0, 'val*-0.882'],                    # ORIGINAL WAS 'val*0.882'],
        ['pJCMThumb2Bend_65_R', 'rThumb2', 0, 'val*0.882'],                     # GOOD
        ['pJCMThumb3Bend_90_L', 'lThumb3', 0, 'val*-0.637'],                    # ORIGINAL WAS 'val*0.637'],
        ['pJCMThumb3Bend_90_R', 'rThumb3', 0, 'val*0.637'],                     # GOOD
        ['pJCMToesUp_60_L', 'lToe', 0, 'val*0.955'],                            # ORIGINAL 'val*-0.955'],
        ['pJCMToesUp_60_R', 'rToe', 0, 'val*0.955'],                            # ORIGINAL 'val*-0.955'],
        
        # Unknown
        ['rShldrBend_CTRLMD_N_YRotate_110', 'rShldrBend', 1, 'val*0.521'],
        ['rShldrBend_CTRLMD_N_ZRotate_40', 'rShldrBend', 2, 'val*1.433'],
        ['rShldrBend_CTRLMD_N_ZRotate_n90', 'rShldrBend', 2, 'val*-0.637'],
      #  ['EyesSideSide', 'sight', 2, 'val * -0.955'],
      #  ['EyesSideR', 'sight', 2, 'val * -0.955'],
      #  ['EyesSideL', 'sight', 2, 'val * 0.955'],
      #  ['EyesUpDown', 'sight', 0, 'val * 0.955'],
    ]

    Awesome thanks for sharing this! You can also push requests directly to our GitHub for edits you made for the code. We would of course test it out first but, that way I wouldn't miss this awesome work you did.

    https://github.com/daz3d/DazToBlender/tree/develop
     

  • Andy-MAndy-M Posts: 2
    February 2021

    Hi Sam,

    That's done. https://github.com/daz3d/DazToBlender/issues/14. I've also pasted an example image of the feet - one foot demonstrating the issue and the other foot with the fix to rFoot. I keep on thinking this is an issue with my installation, but I have checked the version in Blender and the installation date of the dsa file in Daz and everything looks perfectly fine. Hopefully testing will confirm the issue. The feet bones are obvious as are the shoulder/collar bones.

    On a different note concerning Richards original note for this thread, he stated that the rotation and rotation orders had been changed. I assume he is talking about the bone rotation axis on the joints. Is it safe to assume that in 2.1.0 onwards that these will no longer change - essentially locked for future releases? I ask because one idea I had was creating a Blender file to hold just poses with one base figure to ensure those poses work correctly. Then you would import your characters using the Bridge in another file and link/append any poses you want from the poses file. I think that would improve the management of various resources in Blender. However if I created such a library file with 2.1.0 and then the next release of the Bridge changed the bones rotation axis, that would probably be a breaking change and invalidate the poses file used against new characters.

    I've also had issues with trying to use animation keyframes as a means of export poses en masse. On import into Blender I haven't seen a correctly posed figure yet. For now I am assuming user error!

    Andy

  • pan.master_2cedf49808pan.master_2cedf49808 Posts: 17
    February 2021

    Blender 2.91

    Daz to bridge v2.1

    Issues:1, No control rig for IK/FK  in imported character g3/g8

    Issue:2, after rigify, While Posing Limbs have  strage limitations,  They wont rotate in corect directions

    How to fix that.......

Sign In or Register to comment.
Adding to Cart…

Daz 3D is part of Tafi

Connect

DAZ Productions, Inc.
7533 S Center View Ct #4664
West Jordan, UT 84084

HELP

Contact Us

Tutorials

Help Center

Sell Your 3D Content

Affiliate Program

Documentation Center

Open Source

Consent Preferences

JOIN DAZ

Memberships

Blog

About Us

Press

Careers

Bridges

Community

In the Studio

Gallery

Forum

DAZ STORE

Shop

Freebies

Published Artists

Licensing Agreement | Terms of Service | Privacy Policy | EULA

© 2025 Daz Productions Inc. All Rights Reserved.