shape keys not displaying

Issue #289 resolved
wsd created an issue

When I load morphs on a g3 char in blender 2.8. They are not displaying in the shape key list. Here’s my proceedure

go to morphs

import units and select all and OK

blender console reports

Folder "d:/work/daz\data/DAZ 3D/Genesis 3/Female/Morphs/DAZ 3D/Base Pose" loaded in 9.547 seconds

in the shape key list I have only

Basic (group)

ePHMCheekCreaseL and ePHMCheekCreaseR

If I load other morphs the console also reports loaded but don’t show in list

If I remove a shape key

the console reports

ERROR (bke.anim_sys): c:\b\win64_cmake_vs2017\win64_cmake_vs2017\blender.git\source\blender\blenkernel\intern\anim_sys.c:2815 BKE_animsys_eval_driver: invalid driver - key_blocks["ePHMCheekCreaseR"].value[0]

Suggestions?

WD

Comments (12)

  1. Thomas Larsson repo owner

    The other morphs are not shapekeys but driven poses for the face rig. The driving properties are displayed in the Face Units panel.

    The error message happens because even though the shapekey is gone, the driver is still there, as you can see in the drivers editor. The Advanced Setup > Morphs > Remove Unused Drivers button takes care of that.

  2. wsd reporter

    Sorry it took so long to reply

    OK they are there! Is there a way for me to move then to the shape keys list under the object data properties?

    Thanks

    WD

  3. Xin

    No, Shape Keys deform the mesh directly, they are independent from bones/armatures. Shape Keys can only be direct transformations of vertices. This is how it is in other software too, to differentiate vertices' transformations from bones' transformations.

    Internally, they operate differently. Shape Keys are way heavier since they have to contain all the data for the coordinates of the vertices they affect; while sliders that pose bones only contain data of the bones they affect. The skinning/armature data in turn automatically translates bone poses to vertices' transformations (in Blender Vertex Groups contain the skinning data).

    The slider you mentioned is posing bones through Blender Drivers created by the addon. Also, the relationship between driver/driving parameters can be defined by custom equations while Shape Keys are linear transformations of vertices only. More importantly, Drivers are way more general than Shape Keys. In Blender, almost any parameter can drive any other parameter: something as bizarre as the roughness value of a diffuse node affecting the coordinates of an object in the 3d world is possible with Drivers.

    I’m not aware of any panel in Blender which lets you define custom sliders through the interface as opposed to scripting. Usually, a Blender user just poses bones directly, without sliders/drivers, or imports/defines poses/animations as Blender Actions. But if you want to use Drivers to emulate daz’s behavior, it’s up to you to deal with the interface.

  4. wsd reporter

    If I import a daz figure using FBX with morphs (shape Keys) they display in the shape key list and do deform the mesh. Most daz morphs use the bones to move the mesh but some do have custom vertex movement. Both kinds display in the shape key list and both work with direct fbx import, I’ve added some images the zombie is a custom full body shape. The fist is a bone manipulation.

    Thanks Again

    WD

  5. Xin

    Those were converted to Shape Keys by the exporter/importer since .fbx can’t handle the way daz works (the way daz works is not portable after all hence the need for this addon). If you make the armature visible you will see that the bones aren’t moving, it’s just a direct transformation of vertices (a Shape Key).

    You can do the same with Blender’s Apply as Shape Key under the Armature Modifier, but that’s a bad workflow. You really don't want armature poses to be converted to Shape Keys. The armature exists for a reason after all. This is especially important for animation, since bones transformations' transform the underlying vertices in a non-linear fashion, giving a more graceful result. On the other hand, Shape Keys are very ugly when set at intermediate values and make the mesh deformation look awful (it’s just a linear interpolation of vertices' positions).

    Try a little experiment to test this: try setting an intermediate pose with Shape Keys, and then set the same pose but with the armature (the way this addon’s slider works). One will look way more natural. If you animate the pose, it becomes even more obvious that something is wrong.

    Also, combining shape keys that should be armature poses with actual armature posing leads to bad results as the armature gets out of sync with the skin/mesh. On top of deforming the mesh more gracefully, armatures don’t need a million sliders to cover all poses, they are more flexible and lightweight.

    Ultimately, there is a reason why this addon is needed, and that’s because it tries to emulate the way daz works unlike the standard fbx export/import that makes a mess, like converting poses to shape keys because it can’t deal with sliders that drive bones (a quite weird daz feature, most 3d software deals with posing differently, as I explained in the other comment).

  6. Thomas Larsson repo owner

    To illustrate Xin’s point, check out what happens to the rHandFist shapekey at intermediate values.

  7. engetudouiti

    Though I do not know actually how wsd tried to import morph with FBX, I suppose if the add on or he menitoned importer generate zero shape key with bone pose driver, and set driver to use same UI place , it may happen. (As for me, I hope to use offered UI and only need to see shape keys which actually change vertex postion without bone weight, in the shape keys section of blender) but maybe there is way, if the add on author intend to use shape keys panell to controll all.

    Then wsd Is there any difficulity to use add on UI panell with set driver for armature. not shape keys list ?

  8. wsd reporter

    After checking more closely the bone driven morphs are being imported as regular shape keys. In daz the fingers actually bend to reach the new shape but when imported they are converted to actual shape keys so there is no in between just on or off. dialing a 50% setting produces a mess as the verts are halfway to the final shape. I’ll investigate more and see if I can find a way to actually control the bones with python.

    wd

  9. Thomas Larsson repo owner

    Unwind Animations: Tool that converts an animation with sliders to pure bone animation. Mainly useful if you want to export outside Blender. This should fix issue 289 and 292.

    → <<cset 2a46e4caab61>>

  10. Log in to comment