Granny 3D

Granny 3D

Granny has always had the most efficient and flexible animation system in the industry, and now it has a suite of tools your artists are going to love.

Granny 2.10 now shipping!

Granny now ships with RAD's BitKnit data compressor.

It is 2x-3x faster at decode time, 10x faster at encode time, and around 20%-50% smaller than the old Granny compressor.

It is usually smaller than LZMA, and decodes in half the time.

It is really good!

Granny has always made life easy for the programmers on your team. Whether you work in Max, Maya, or XSI, Granny makes it a snap to export, process, and animate anything that the artists can build. She has a data pipeline that's been battle-tested on every platform. With over 2,600 titles shipped, many teams wouldn't think of starting a game without her.

But now, with the Animation Studio, we're focusing our attention on the other half of the team: artists and technical animators. The Animation Studio exposes the power of Granny's animation system to the art team, but in graphical form. You can build blend-graphs, specify character behavior, sync to events, author procedural IK, and more. And you can do all of it without writing a single line of code.

We haven't forgotten the programmers in the Studio, of course. The entire tool is built on top of a modular, extensible runtime that you can customize as needed. Any custom nodes that you create for your game's specific environment can be integrated right back into the Studio so they look like just like our built-in features to your artists. And of course, it comes with full source to both the Studio and its runtime.

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

Granny supplies 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!

Interested?

We're convinced that Granny will make developing your game easier. Remember that the fastest way to learn about any RAD product is just to email us at sales3@radgametools.com and set up an evaluation with full support.

If you're already a Granny customer or just want to keep tabs on her, she has gone social along with everyone else! Follow us at @granny3d on Twitter or check out the development blog at radgranny.blogspot.com.

If you're looking for something specific, we keep the entire Granny version history online so you can keep track of what we're up to.