Rigify and import pose

Issue #73 closed
Noname created an issue

Hello,

I don’t know if this is a bug or not implemented so setting this as proposal.

Basically it all boils down to applying pose (Posing → Import Pose) to Rigify (with was converted from imported rig, in my case it was G3F, didn't checked G8F).

Currently it will error out due to missing morphs.

So what I did was to use Morphs → Import * functions to import missing basic morphs.

It worked/works fine for Units / Expressions / Visemes, but Correctiveness did error out:

Traceback (most recent call last):
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Diffeomorphic-import-daz-459c1036e758\error.py", line 187, in execute
    self.run(context)
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Diffeomorphic-import-daz-459c1036e758\morphing.py", line 590, in run
    self.getAllMorphs(namepaths, context)
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Diffeomorphic-import-daz-459c1036e758\morphing.py", line 489, in getAllMorphs
    missing = self.getPass(passidx, list(namepaths.items()), props, scn)
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Diffeomorphic-import-daz-459c1036e758\morphing.py", line 516, in getPass
    props1,miss = self.getSingleMorph(name, path, scn)
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Diffeomorphic-import-daz-459c1036e758\morphing.py", line 423, in getSingleMorph
    success = buildShapeFormula(asset, scn, self.rig, self.mesh)
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Diffeomorphic-import-daz-459c1036e758\formula.py", line 343, in buildShapeFormula
    buildSingleShapeFormula(expr["value"], rig, ob, skey, occur)
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\Diffeomorphic-import-daz-459c1036e758\formula.py", line 364, in buildSingleShapeFormula
    pb = rig.pose.bones[bname]
KeyError: 'bpy_prop_collection[key]: key "abdomenUpper" not found'

location: <unknown location>:-1

So at this point correctiveness can’t be imported.

Now importing pose (Pose 0> Import pose) will import pose partially due to missing morphs, in my case I do get error with missing morphs for:

Missing morphs:
  ['', 'chest-1', 'eye.L', 'eye.R', 'spine', 'spine-1']

Imported pose is partially correct but rest, i.e. lower body in my case, is incorrectly positioned.

It would be extremely useful and huge time saver if such functionality would be present.

Thanks in advance.
Best regards.

Comments (3)

  1. engetudouiti

    I think import pose controll (pose bone driver, or constragin) for Rigi-fy may be more diffiicult

    but simple transform pose file (it not use pose controller, or not change other morph value, but only use bone transform value. most of good vendor product pose made so I believe) may be enhanced without many difficulity. It is just because new blender 2.8 rigi-fy FK bone map changed from old one. 😀

  2. Alessandro Padovani

    In another discussion Thomas reported that rigify is not good for importing daz poses or animations. Then I see engetudouiti reported some fixes for rigify. Personally I don’t use rigify or mhx since I like better to do my own simple rigs.

    If there are some known limits with rigify as for importing poses or animations, or driving morphs, then it would be nice to report them in the user documentation. So one can avoid it before starting a project. I believe this is important information.

  3. Log in to comment