1.6.0.0535 - Driver errors importing custom morphs on geografts

Issue #660 resolved
Mustard created an issue

Hi!

I'm trying to import custom morphs on geografts (e.g., the standard ones provided from Golden Palace, but it happens also for other geografts). If I import these after importing the JCMs morphs on the main body, I get these issues in the console (several of the same type):

Error in Driver: The following Python expression failed:
'M*(u+1 if A+a)'

File "<bpy driver>", line 1
M*(u+1 if A+a)
^
SyntaxError: unexpected EOF while parsing

And some drivers ends up broken.

It doesn’t happen if you do the opposite, i.e., import custom morphs on the geograft and then JCMs on the main body mesh.

To check this:

  • open any model with a geografts
  • import the JCMs on the main body mesh
  • import custom morphs with some JCMs on the geografts

Comments (3)

  1. Thomas Larsson repo owner

    Should work now. The new morph system has many advantages, but it is more difficult to change drivers, and the thigh forward drivers are more complex than the others. The solution was to never change drivers for jcms. Other drivers may change, e.g. eye blink left can also be driven by eyes blink, but the bone rotation that drives a jcm shapekey does not.

    What is somewhat kludgy is that I determine if a morph is a jcm by looking at the name. That could perhaps be improved, but it seems to work in the cases I checked.

  2. Thomas Larsson repo owner

    Forgot one thing. When loading jcms to the geograft first, the bone rotations were messing in the case I checked. I don’t understand why this happens, but I recommend loading jcms for the body first.

  3. Log in to comment