Granny 3D

Granny 3D

Granny is a powerful toolkit for building all kinds of interactive 3D applications. It features the most efficient and flexible content exporters, data manipulation, and run-time animation system you'll find anywhere. It was built from the ground up to allow you to decide, on a case by case basis, precisely how Granny should be integrated into your code and art pipeline. It has been licensed by over 1,500 games since its release.

The following sections are designed to provide some concrete examples of how you might use Granny in your current project, but remember, the fastest way to learn about Granny is just to email us and set up an evaluation!

Granny as an Exporter

Granny features complete game content exporters for all the major 3D content development tools (Maya, 3ds Max, and XSI). These exporters feature detailed manual and automated preferences that can be set per object, texture, and material in your scenes, and complete automation support via each art tool's native scripting interface. They export all content 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 conversion a breeze.

While you will most likely want to take advantage of Granny's wide array of run-time library features, it is also trivial to use Granny solely as your export layer. You can read the Granny files that come out of the exporter directly, and use this data in your application without using any other features of the run-time library, or you can write a trivial preprocessor that uses Granny to extract data from the Granny files and packages them into your own proprietary format for later use by your application.

Granny as a Run-time Animator

The core of the Granny run-time library is an uniquely powerful character animation system. This system gives you unprecented flexibility and performance for b-spline based animation playback, animation modification, animation blending, and inverse kinematics. All operations are modular, and allow you to customize each step of the animation compositing process to optimize it for best performance and results for your particular application.

The run-time animation system is trivial to use with Granny data, since all the necessary helper functions for instantiating Granny-format data. However, this is not a requirement: you can actually use the run-time animation system with data you generate yourself as well. All run-time functions are designed to require only the minimal amount of data formatting necessary for the task, and do not impose any excessive structure. This gives you the flexibility to generate your own data on the fly, or load data from sources other than the Granny exporters or Granny-enabled content processors.

The Granny runtime is available for the PLAYSTATION(R) 3, Nintendo Wii, Xbox 360, PlayStation(R) 2, PlayStation(R) Portable (PSP), Xbox, Windows 32, Windows 64, Macintosh, and GameCube.

Granny as a Mesh Deformer

Granny includes high-speed routines for skeletally deforming meshes. These routines can be used with data from the Granny exporters, and skeleton states from the Granny run-time animation system, but they do not have to be. The deformers work with any source vertex data and skeleton state table. Thus, you can always use Granny to deform your meshes, even if you are not currently using various other components of the Granny run-time library.

Granny as a Normal and Texture Map Generator

Granny 2 now includes a ray-casting normal map generator. This feature allows you to create a high-resolution model, and use it to generate normal maps for a lower-res version. Granny's ray caster is so good that we even use low-res versions of our models in our print ads!

Granny can also use her ray-casting technology to generate game texture maps from super-high-res offline texture maps. You can let your artists use whatever number and resolution of textures that is convenient for them, and then downcast them to game-ready 512x512 or 256x256 texture maps. This can even be a many to one relationship - that is, you could have 30 4096x4096 textures on the high-res model, and Granny will ray-cast them all down to a single game resolution texture (based on the UV mapping of the low-res model)!

Granny as an Engine Construction Toolkit

In addition to the run-time operations of skeletal animation and mesh deformation, Granny also features a large number of tools for 3D engine development. These include everything from standard ray-casting operations to utility objects for handling common things like camera movement. All of these functions are completely decoupled, and can be used within the context of a completely Granny-enabled run-time system, or as stand-alone helpers inside a mostly non-Granny application.

Granny as a Preprocessor Toolkit

The Granny library provides a number of non-run-time tools such as custom, better-than-ZIP file compression, automatic structured file I/O and conversion, Bink and S3 texture compression, vertex format conversion, pixel format conversion, animation compression, animation centering, and motion extraction. All of these features combine to provide an easy-to-use, extremely powerful art preprocessing toolkit that you can use to build custom data crunchers and converters for Granny-exported files, or even for your own custom files.

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, mesh deformation system, and diverse 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.

The best way to learn about Granny is to try it! Download the Granny demos to see what it can do. Email us to get an evaluation SDK.

You can also check out what our customers think, or you can read more about the Granny SDK Features. Finally, you can check out the Granny version history, if you are looking for something specific.

We know you'll love Granny - she's awesome!