Here are two little deformation tests showing a bit of my current mouth setup using the BCS and
the
ACS
together. The participating AUs are 10, 12, 14, 15, 16, 17, 18, 23, and 27.
What is BCS?
For those of you who didn't already guess what BCS is, let me give you a short
explanation:
BCS stands for BlendShape
Combination System and is a
system that allows you to deform geometry objects like with a blendShape node.
It was specifically designed for high-end facial setups. There are some major
improvements on the blendShape node:
With the BCS, you can place deformation knots (called dataPoints)
anywhere in the n-dimensional weight space. In plain English, this means
that you can have 30 to 60 sliders controlling 900+ blendShapes to get the
full range of facial expressions and all needed combinations... ;)
You can create real inbetweens with smooth transitions from one shape
to the next.
The left and right part of a target can be created automatically,
using editable falloffs.
The total deformation can be painted (similar to painting
clusters).
Here's a screen shot of the UI. Click on the image to see all the sections
expanded.
You're afraid of 900+ blendShapes?
You don't have to be. First, if you don't need the expressive range of
Gollum's face, 100 to 200 might be all you need. ;)
Now really, many of the combination shapes can be created in no time using the
paintability of the bcs together with tweakMixing and some other
tricks. Moreover, the work is almost halved since you don't need to worry
about left and right sides. The nice mirroring tools and automatic
left-right separation (with automatically created unilateral
combinations :)) do most of this work.
The package currently contains the following compiled plugin versions:
Maya 2010 (32bit)
Maya 2010 (64bit)
Maya 2011 (32bit)
Maya 2011 (64bit)
Windows
v1.1.9
v1.1.9
v1.1.9
v1.1.9
Linux
N/A
v1.1.9
N/A
v1.1.9
Please contact me if you need builds for older Maya versions.
Version History
1.1.9
Compatibility fixes for the new Maya 2011 Qt-GUI on Windows and Linux
You can now select the font to use for the lists (useful if the default
font is too small in your localisation)
1.1.8
Solved a UI bug where the BCS GUI didn't open under certain
circumstances
Solved wrong handling of relative unilateral tweak geometry
Ensure weight names do not start with a number
1.1.7
Loading the BCS plugin after sourcing the DPK_bcsUI.mel script resulted in unstable
behavior of the GUI (e.g. "Error while parsing arguments.")
1.1.6
Referencing a scene with a BCS setup several times into another now works
correctly
1.1.5
New Features:
New interpolation method "Inverse Arc" for creating arc-type movement
with positions on both sides of a weight's zero value (e.g. on -1 and 1)
Other:
Huge speed up of list updates in Linux (now similar to Windows version)
In MirrorGeometry, warn the user in case the object to be mirrored is
specified as symmetrical object
Bug Fixes:
When deleting dataPoints, influenced absolute DPs weren't updated
Undoing dataPoint deletion sometimes didn't restore deformation data of
bilateral dataPoints
Undoing a "Reset Data" didn't trigger an update of restored
dataPoint data, making it seem the undo wasn't successful
Fixed a small bug in "Reposition DPGs"
1.1.4
Some changes for x64 compatibility
Added "ToggleView Setup..." to bcsUI menus
Solved a few tiny UI bugs
1.1.3
Creating dataPoint geometry now works even in complex situations where the output geometry
is used several times in the scene (e.g. in a "Toggle View" setup and at the same
time for a "Mesh->Combine")
The expand/collapse state of weights in the list is now preserved when they are reordered
Neutral ("free", neither "edit" nor "view") geometry is now
created correctly for multi-shape setups (only accessible through the DPK_bcs MEL command,
but may influence TweakMixing of multi shape objects)
1.1.2
Fixed the dataPoint deletion issue. Deleting dataPoints should now be stable even with
extensive use of undo/redo and big deletion operations.
1.1.1
The "Falloff Settings" area now updates its controls more reliably
The bcsUI's lists now have the "view" popup menus on CTRL+right-click instead of
middle-click for Linux compatibility
Tweaked UI code of the following scripts to work better on Linux:
DPK_bcsUI
DPK_mirrorGeoUI.mel
DPK_paintDeform.mel
DPK_toggleViewSetup.mel
The Attribute Editor template for the BCS node now works on Linux too
Fixed error in ToggleView scriptNode on Linux
Non-unique object names don't produce an error anymore in DPK_paintDeform.mel and
DPK_rotateDeltasUI.mel
A few small bug fixes and enhancements
1.1.0
New Features:
New script for adding several hotkey commands to the Hotkey Editor:
"DPK_registerHotkeys.mel"
New script for creating "Toggle View" and "Toggle Smoothing" setups:
"DPK_toggleViewSetup.mel"
New "PaintDeform Marking Menu" for the "Paint Deform" tool
Added menu item "Add to PaintDeform Marking Menu" to "Data Points" menu
and popup menu for quickly adding dataPoints to the "PaintDeform Marking Menu"
Bug Fixes:
Fixed a small bug in paintDeform where errors occurred when the painted object's name
wasn't unique in the scene
Solved a problem where the falloff editor was drawn incorrectly in Maya 8.5
Other:
Updated online help menu items
1.0.9
Added deformation order option to "Create BCS Options" dialogue
Solved a possible memory leak
Solved a bug that could unpredictably crash Maya in different situations
Several changes in the way the command handles undo/redo, which should make it much more
stable
Solved a bug where instances of the neutral shape were unstable under certain
circumstances
Solved a few tiny UI bugs
1.0.8
Many thanks to Louis Vottero for providing a compiled plugin version:
Win: Maya 8.0
Many thanks to Tieum, Phid and the people at Mac Guff for providing compiled plugin
versions:
Linux: Maya 6.0.1 (works on Suse 9 and should on Redhat)
Linux: Maya 7.0 (works on Suse 9 and should on Redhat)
Win: Maya 6.0
Win: Maya 7.0
API:
NURBS objects are now mirrored correctly
Fixed a bug that slowed down other deformers (e.g. cluster) no matter whether the a bcs
node was in the scene or not. Now, none of the other deformers is affected by the bcs.
Note that this fix doesn't work in Maya 5.
C++ code revised so that it compiles on linux too
UI:
All user interfaces (bcs, mirrorGeo, rotateDeltas, paintDeform) should now be displayed
correctly on linux
Other:
RotateDeltas now remembers the rotation axis vector correctly
1.0.7
API:
NONE - Please note that the plugin is still version 1.0.6, so no
recompiling is required. The changes are just in the mel scripts.
Other:
Thanks to the help of Zach Gray, there's now a plugin for windows Maya 7.0
UI:
Added functions "Select Related DPs" and "Select Included DPs" (instead of
"Select Data Points") to the middle-click weightList menu
When more than one dataPoint is selected, the total number of selected dataPoints is shown
in "Data Point Info"
1.0.6
API:
DataPoints now need about 17 times less RAM
Reduced size of saved Maya scene file for bilateral dataPoints
In Maya 6.5 and above, warning and error messages of the API commands now contain the line
numbers
Minor error checking fix in the DPK_mirrorGeo command
Other:
Fixed a bug that occurred when an unpositioned dataPoint was added to the tweakMix
using the "Add Selected DataPoints" button
1.0.5
API:
Fixed a bug where connections were lost or API errors occurred when changing
weight configurations while some weights had outgoing connections
Fixed the alias name bug in the actual C++ code (the fix for 1.0.4 was a MEL
workaround)
Fixed the bug in "Move DPGs to Selected WPGs" in the actual C++ code
Added '-weightValueName' query flag to the DPK_bcs command. This is required for
the new DPK_animUI script.
Fixed a bug that sometimes lead to infinite calls of a certain function and
slowed down Maya
1.0.4
API:
NONE - Please note that the plugin is still version 1.0.2, so no
recompiling is required. The changes are just in the mel scripts.
Other:
Weight names should now be preserved even when user defined attrs are added to the bcs
node.
1.0.3
API:
NONE - Please note that the plugin is still version 1.0.2, so no
recompiling is required. The changes are just in the mel scripts.
UI:
Added options to show/hide the four panes
Added a Marking Menu below the panes for the different pane configurations
Added menu item "Online Help" to the Help menu
Other:
Enhanced the tweakMix window with options for adding objects and dataPoints to the
mix. Also, the position of a dataPoint is now shown in the popup help of the slider's
label.
Added a new modeling tool "Paint Deform" (see manual)
Added a new modeling tool "Rotate Deltas" (see manual)
Added the item "Rebuild DataPoint Name" to the Data Points menu (see manual)
"Data Point Info" now shows the rounded position under "Pos:"
The separation string is now used for the info in "Data Point Info"
Fixed a bug where all wps of a weight were indirectly selected even when just a wpg of
this weight was selected. Now, only the wps of the selected wpg are considered to be
selected indirectly.
Fixed a tiny bug where the tweakMix sliders had wrong ranges in some cases
Fixed a bug in "Move DPGs to Selected WPGs"
Changes in the docs:
Added the "Quick Start"
Added docs for "Paint Deform" and "Rotate Deltas"
Other minor corrections and additions
1.0.2
Thanks to the help of Judd Simantov, there's now a plugin for windows Maya 6.0
Added plugin compiled for Maya 6.5 (windows)
Source changed slightly to be compatible with Maya 6.5
Batch files added to compile for Maya 6.0 and 6.5 (windows)
1.0.1
Source made a little more ISO C++ compliant
Added .bat file (with readme) for compiling with C++ Toolkit 2003