While wrapping up the v1.0 release of Minie, I upgraded the DacWizard application to work with the new animation system. DacWizard uses the Wes animation editing/retargeting library, so that project had to be upgraded also. The Wes project includes a demo app called FlashMobDemo.
During testing, I discovered an issue in FlashMobDemo for which I saw no easy fix. I raise the issue here in hope that someone with a better grasp of the new animation system can suggest a solution.
There are 5 animated models in the scene: Jaime, MhGame, Oto, Puppet, and Sinbad. Jaime and Puppet use the old (
AnimControl) animation system; MhGame, Oto, and Sinbad use the new (
AnimComposer) system. Each
AnimControl contains a 2.333-second
Animation named “Dance”, and each
AnimComposer contains a 2.333-second
AnimClip named “Dance”. The animations and clips are generated in such a way that t=0 in each animation corresponds to t=0 in each clip.
At the end of the initialization routine, all animations and clips get “set” in their respective controls. The intent was for the animations and clips to play in a synchronized fashion, but this is not what happens. The clips in the MhGame/Oto/Sinbad group are synchronized with each other. The animations in the Jaime/Puppet group are synchronized with each other. However, the two groups are out of phase by roughly half a second.
The old system provides
.setTime() to access the time of the animation that’s playing. In the new system, time is stored in the
Layer; there’s no
Short of using reflection, I don’t see any way to synchronize an