What can you do with Granny?
Granny is a powerful toolkit for building all kinds of interactive 3D applications. We built Granny to be the most efficient and flexible animation system in the industry, but she also features a powerful set of exporters and data manipulation tools.
We've designed Granny to fit easily into any project, letting you choose exactly how she fits into your application. Below you can find some concrete examples of how you might use Granny, but this is not even close to a complete set of use cases. Remember, the fastest way to learn about Granny is just to email us and set up an evaluation!
The Granny Animation Studio
In Granny 2.9, we've added a graphical state machine and blend graph editor to help you build your characters. The Granny Animation Studio is an extensible tool for authoring animation behavior which makes it possible for your artists to have the same level of control over your game's animation as a programmer, without writing code.
Granny's hierarchical state machine allows a character's behavior to be specified as a connected graph of animation states. These states are then connected with transitions that control how your character is allowed to move from one animation behavior to the next. Each state may be a blend graph, a simple animation, or a full state-machine, which makes it easy for artists to manage complicated behavior without being overwhelmed with detail.
Granny as a Run-time Animator
The heart of the Granny library is an uniquely powerful character animation system. This system gives you unprecented flexibility and performance for b-spline based playback, dynamic animation modification, blending, and inverse kinematics. All Granny's operations are modular and allow you to customize each step of the animation compositing process. We never get between you and the unique character you're trying to create for your game.
Granny as an Exporter
Granny features complete content exporters for all the major 3D development tools (Maya, 3ds Max, and XSI). The exporters are designed to accomplish two major goals.
First, if it's in the scene, get it into the Granny file. We export animations, of course, but also meshes, textures, cameras, lights, particle systems, and more. We have many customers who use Granny to export not only characters but whole levels. Once you have the Granny exporter, you can stop struggling with your DCC package!
The second goal is to stay out of the artist's way! Granny requires no special markup, or attached data to recover animations, meshes, and materials from your scene. Use whatever plugins, scripts, and workflows you want, Granny will get the data out!
Granny offers complete automation support via each tool's native scripting interface. You can control Granny's detailed manual and automated preferences for each object, texture, and material in your scenes. The process of setting up the defined settings for each asset type and exporting the content can be reduced to a single button click, while still providing manual overrides for unusual cases.
While you will most likely want to take advantage of Granny's run-time library features, it is also trivial to use Granny solely as your export layer. All content is exported to a standard, rigorously defined file format that can be easily read in using the Granny run-time library in a single call. Once read, the files are traversable as in-memory C structures, making data analysis and manipluation a breeze.
Granny as Build Tool
Granny provides an optimization tool that was specifically designed to make assembling and automating your build and art pipeline a breeze. The optimizer slots easily into any build system and helps you transform your data to get it ready for the game disc. It ships with nearly 40 common transformations, from simple tasks like stripping Maya namespaces from your strings to complicated operations like building a consistent set of tangent vectors for a morphing mesh. When you chain them together they stop being simple and are extremely useful. The flexibility to combine operations seriously reduces your workload.
More importantly, the optimizer is designed so that you can easily add your own commands and plug them together with Granny's. This could be something trivial, like ensuring all of your vertices are in the correct format. Or make big jobs into simple tasks, like ripping all of the Granny animation and model data into your own engine. You won't believe how easy it is to build a multiplatform art pipeline around Granny until you've tried it.
Granny as a Team Player
A lot of thought has gone into the design of the Granny API to ensure that we don't throw unnecessary hassles in your way as you're writing your game. For instance Granny is designed to be largely stateless, which makes it very easy to integrate with the physics engine of your choice.
Like all RAD's products, performance and customization are always a primary concern. Granny's animation sampling, mesh deformation, and file routines have been optimzed for each shipping platform we support. Granny can sample animations from multiple threads, letting you take advantage of all of the power of modern platforms. She can run on the SPU side of the Sony Playstation(R) 3, offloading the PPU.
We give you the option to fully control memory allocation, override the I/O engine, construct data structures on the fly, create custom versions of built-in routines, and more. Every part of Granny is designed to put the controls in your hands, not ours.
Granny as All of the Above
By far, Granny is the most useful when you use it everywhere. With a complete and customizable exporter, preprocessing framework, run-time animation system, state machine editor, and a deep 3D toolkit, Granny really does take the drudge work out of 3D engine programming. You're free to concentrate your efforts on the features that will make your project look and feel unique, and you can leave the rest to Granny.
We know you'll love Granny - she's awesome!