Multi-pipeline framework for API animation creation
Updated: Aug 9, 2020
ACME’s dual microservice pipeline is now released. What does that mean? Well, ACME uses big - and I mean big - software programs and apps used by the Visual Effects Industry. All of these programs are primarily designed to be used interactively by 3d artists. These 3d programs also have highly integrated scripting languages (mel, Python, lua) which can be used to automate many of the actions that a 3d artist can do. Now: The key word in that last sentence is ‘many’. The truth is *not all* of the actions of an artist clicking on the program interface can be scripted. Because these programs have massive subsystems smartly designed to not block each other (graphics display not blocking animation evaluation, texture loading, dependency computation, and runtime API alterations via plugins for example), many artist action sequences simply cannot be easily scripted because the scripts run much faster than 3d artists clicking on the GUI interface. Many tools in these programs were only designed with ‘slowly’ clicking humans in mind. This means race conditions occur when scripts attempting to mimic 3d artists are run within these programs. ACME engineers however, know the ways around this problem, and for the animations that require it, we have nimbly created a parallel pipeline which progresses these animation’s creation through Maya as if an artist was there driving it. We consider this one of our core advantages to the competition. As of today, ACME can create any animation that Hollywood can. Only ACME does it *completely automated*.
As a result of this new pipeline, we can now support animations based on frameworks like Maya's MASH framework, which is an animation creation system that relies on non-blocking spawned threads for dependency node network creation. Frameworks like MASH are easy for humans to interact with in the MAYA interface, but they are also notoriously very difficult to automate via standard scripting. Well, difficult for anyone but ACME.
Also, this new multi-path pipeline is not limited to Maya based animations. Another feature is that we can now add parallel pipelines using any major animation package that we can swap into the needed task - 2d image processing, 3d surface animation processing, frame rendering, or mp4 encoding. If a particular animation is best done in Unreal Engine instead of Maya, we can have that animation be created through a pipeline based on the Unreal Engine.