Function on the panel, to mute custom drivers, shapekeys.

Issue #1905 closed
DomDomk created an issue

Hi Thomas.

Would it be possible to add this feature on the addon? The Global Option, Shapekey Mute Drivers is very useful to maintain good performance, so for example;

You create your own morph "Shapekeys", add them to the panels and then mute them. Wouldn't it be useful to have a function in the Panel Morphs, to mute the driver of any custom shapekeys you create?

Comments (4)

  1. Thomas Larsson repo owner

    Unfortunately, it is not straightforward.

    We want to mute the shapekey if its value is zero (actually, absolute value < 1e-4 to account for numerical errors). However, we can not use the shapekey value itself as the driver, because that leads to a dependency loop and error messages like this:

    Dependency cycle detected:
      KEGenesis 8 Female Mesh:KEYS/PARAMETERS_EVAL(pJCMThighFwd_57_L) depends on
      KEGenesis 8 Female Mesh:KEYS/DRIVER(key_blocks["pJCMThighFwd_57_L"].mute) via 'Driver -> Driven Property'
      KEGenesis 8 Female Mesh:KEYS/PARAMETERS_EVAL(pJCMThighFwd_57_L) via 'RNA Target -> Driver'
    

    So we must set up some external property that drives both value and mute. That works when morphs are loaded, because both value and mute drivers are generated at the same time and are driven by the same armature property. But for a custom shapekey we don’t have a driver for the value in general that we could use.

  2. DomDomk reporter

    So it's not as simple as you explain, but if it's too complicated or too much work, it doesn't matter, I can still export the morphs, shapekeys, to Daz and load them from the addon as usual.

    Thanks Thomas for any considerations.

  3. Log in to comment