I’m looking for an experienced developer to work on a shape key management system. I’m working on shape key based facial rigs in blender as a freelancer now and then, and just got stuck making this addon due to inexperience with the API.
What I need is (forgive me if the terminology is off here and there, I come from Maya) is a panel (maybe under the object data tab, replacing the shape key panel) With 2 lists and several buttons.
Before describing the functionality I need to go into the types of shape keys used:
hero shape key - just a simple shape key, like a jawOpen, lipCornerPuller, cheekRaiser, eyesClosed, etc.
combination shape key - a (driven) shape key that activates only if 2 or more shape keys are dialed on to some extent. Having both jawOpen and lipCornerpuller at 1.0 would dial in the combination shape jawOpen_lipCornerPuller at 1.0, and at the same time dial down both hero shape keys. Both hero shaps being at 0.5 would dial the combination to 0.5. I can provide an expression for this.
inbetween shape key - pretty self explanatory, a shape that acts as an inbetween of one hero shape. eyesClosed being the hero shape, eyesClosed_20 would be the shape key that’s at 1.0 when eyesClosed is at 0.2. I can provide an expression.
Finally, a combination of the 2 above, inbetween combinations, for example jawOpen_20_lipCornerPuller_50
The management system needs to be naming and state based (I’m using either/or during my work}. I’m using FACS terminology (I can provide a list of shape names, which needs to be editable)
Regarding the 2 lists in the panel, the left list needs to list only the hero shape keys. If one of the hero shape keys is selected the right list would show that shape key and every shape that’s driven by it (all of it’s combinations and inbetweens).
The main objective would be this - I have a head, sculpt or modify a shape on it’s duplicate. I either name the mesh according to the naming convention and press a button ‘set based on name’ or I don’t name it, and press a button ‘set based on state’ which would set it based on the state of the currently active shape keys. If a sculpt a new shape that doesn’t exist in the rig and name it, it’d give me the option to create a new hero shape based in it’s name.
That’d be the basic functionality, apart from this I’d need the ability to set the shape keys to 1.0 by selecting them in the list, the ability to export all shape keys and retain the naming on obj files (I found a script for that already, but it’d need to be implemented in the UI) and the ability to import a set of meshes as shape keys onto the model, and set up the drivers according to the naming convention.
I don’t have a set deadline/budget for this, but keep in mind that I just need this addon as a freelancer to ditch Maya so after discussing the task required I’d need an estimate and a quote.
If you’re interested it’d be ideal to see some references/examples. Also, I can show the functionality required in a Maya plugin I’m using if something is unclear.