Import hair pose controll morphs for hair rig cause error

Issue #566 resolved
engetudouiti created an issue

It related with issue 564 . but something different.

After read new commit for 564. I test import hair pose controll morphs which only pose hair bones (and some drive shape key too)

it worked for merge rigs.

Then I suppose, from your describe, I can import those pose controller without character rig. = I can generate prop and shape keys , UI slider for hair rig. not for character rig.

Then I test it with append hair rig and mesh.

I select hair mesh, and import morphs, now all morphs generate UI slider, and it seems generate props and shape key morphs, and it make fin bones for hair bones. but they do not move with pose controller any more.

only shape key morphs work as same as before.

In my current scene, I have character rig + hair rig and hair mesh. hair mesh attach with hair rig (not relate with character rig)

can you make it work even though I did not merge rig, but import hair morphs (pose controller) + make all bones posable?

I got these error after I confirm pose controller not work. (and seems not add driver for hair pose bones)

File paths cleared
Making morphs

  • CTRLPonytailBendAll
  • CTRLPonytailBendLwr
  • CTRLPonytailSide-Side
  • CTRLPonytailSway
  • CTRLPonytailTwistAll
  • CTRLPonytailTwistLwr
  • CTRLStraightenPose
  • FBMHairForeheadHeight
  • FBMHairHolderExpand
  • FBMHairHolderExpandBottom
  • FBMHairHolderExpandLeft
  • FBMHairHolderExpandRight
  • FBMHairHolderExpandTop
  • FBMHairLength
  • FBMHairOverEars
  • FBMHairOverEarsWisps
  • FBMHairPartCenter
  • FBMHairPartIrregular
  • FBMHairSplayedTail
  • FBMHairStraighter
  • FBMHairTailVolume
  • FBMHairTopVolume
  • FBMHairWindBack
  • FBMHairWindFront
  • FBMHairWindLeft
  • FBMHairWindRight
  • FBMPonyTailKnotSize
  • FBMPonyTailKnotSizeAll
    Making missing morphs
    Building drivers
    Building sum drivers
    Python: Traceback (most recent call last):
    File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\import_daz\error.py", line 247, in execute
    self.run(context)
    File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\import_daz\morphing.py", line 1100, in run
    msg = self.getAllMorphs(namepaths, context)
    File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\import_daz\morphing.py", line 736, in getAllMorphs
    self.loadAllMorphs(namepaths)
    File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\import_daz\load_morph.py", line 100, in loadAllMorphs
    self.buildSumDrivers()
    File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\import_daz\load_morph.py", line 1034, in buildSumDrivers
    sumfcu = self.rig.animation_data.drivers.from_existing(src_driver=fcu)
    AttributeError: 'NoneType' object has no attribute 'drivers'

location: <unknown location>:-1

Comments (6)

  1. engetudouiti reporter

    Actually it seems only set limit constain for pose bones (tail bones), but not generate driver for import pose controller like bend bones.

    I confrimed when I import same moprhs for merged rig, it work perfectly. (so I excited, you describe, now even though I import only hair without merge character rig , it will work)😅

    (if it work,, Now I can really easy manage and exchange many hair with each morphs, without tweak character rig props or remove or add new bones etc. I may use constrain only (only constrain head bones of hair with character rig, then it work well (after import hair rig I clean up un-necessary bones, )

  2. engetudouiti reporter

    I could confirm, if I just merge the hair rig with character rig, all morphs could import of the hair correctly. (include pose controller and mix type morph with shape key drive)

    about the case I see no error.

    Then I set verbosity level as 3, but error txt do not show any infomation, when I import morph for hair rig.. (so it just generate shape key and slider for hair rig, but do not controll hair bones)

  3. Thomas Larsson repo owner

    I don’t run into this problem, but it is clear from the log that the problem is that the hair rig doesn’t have any animation data. The last commit adds a dummy driver which should create the missing animation-data.

  4. engetudouiti reporter

    Thanks If it work, it remove most annoying things when I exchange hair (with custom bones) ^^;

    I really apreciate it.

    ====

    Yes it worked.. I do not know I actually up-date git, and copy and paste. but add on did not up-date with my first test,, (I check build number now,, then I foce up-date, now it show correct build number, and it worked ^^ (sorry take your time) thanks!!!!😁

    I think this commit offer workflow which can keep many hair with individula morphs and rig, and exchange as user need. (user only need to set constrain though).

    it keep character rig morphs props without add or remove hair morph props.

    No it did not work. (generate shape keys, but not pose hair bones) now error change with new commit.

    Making missing morphs
    Building drivers
    Building sum drivers
    Python: Traceback (most recent call last):
    File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\import_daz\error.py", line 247, in execute
    self.run(context)
    File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\import_daz\morphing.py", line 1100, in run
    msg = self.getAllMorphs(namepaths, context)
    File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\import_daz\morphing.py", line 736, in getAllMorphs
    self.loadAllMorphs(namepaths)
    File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\import_daz\load_morph.py", line 100, in loadAllMorphs
    self.buildSumDrivers()
    File "C:\Users\TAKE\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\import_daz\load_morph.py", line 1034, in buildSumDrivers
    else:
    AttributeError: 'NoneType' object has no attribute 'drivers'

    ====

    btw though these hair is my custom transfer hair, but I saved them as figure and props, and all morphs which saved as new product, work in daz studio.

    and if I merge rig and import same pose morphs, it work without problem.

    so only after merge rig / not merge rig is matter. about both case I select the hair mesh>> import custom morphs.

    (and the hair is parented with armature modfier, for self rig)

  5. Log in to comment