A script to load and save animated morph data
For many years, I have used the same system to deal with lipsync within production, and it is with great pleasure that I release it to the community now. This script will take a character that uses a morph modifier for lipsync and save the data to XML. This can then be re-applied at a later stage.
Why don’t you just use max’s Load/Save animation?
That’s a simple one - excluding the fact that load/save animaition is barely scriptable, it just doesn’t work reliably enough. In the dark, Pre-Speechbot days we tried using it and found that max would ask us to infrequently remap controller tracks when loading and saving to the same object in the scene! This behaviour was odd and rather inconvenient, but did force me into writing something that is targeted specifically to character lipsync. It was only recently when this exact issue was brought up by Martin Briedt on the Beta forum that I thought that others were finding this issue frustrating too.
Who can use this script?
People wanting to save and restore character lipsync in the form of morph data.
In fact, it can save any morph data from any object. Speechbot stores each channel incrementally, along with value data and custom key tangents. So if you base all of your characters along the same structure (ie the morh channels are the same shape target and in the same order) you can load the same lipsync or morph data onto different characters.
Who can’t use this script?
With the exception of Piers Morgan and N-Dubz, Nobody. Well, if you have a bone based facial system, you can’t. But since you can still set up a perfectly reasonable morph driven character mouth, it’s designed specifically for those types. I will probably have to develop a new system in the future that takes in the ability to store TM data from facial nodes as well as lipsync but that’s for another time.