New Version 2!
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.
Granny as an Exporter
Granny features complete game content exporters for all the major
3D content development tools. 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.
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! Take a look at some side-by-side
screenshots to see this
technique in action.
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.
We know you'll love Granny. Give us a call at 425.893.4300, or email us, and we'll
send you an evaluation SDK you can take for a test drive.
| Some of Granny's cooler features: |
- Drop 3D Studio Max or Maya models and animations into your game almost instantly!
|
- Fast inverse kinematics for run-time animation control - models can look
in a direction, reach for an object, etc.
|
- Import model geometry, skeletal information, animation blending info, color, and textures into your game perfectly - no more conversion
weirdness!
|
- Retarget animations - play the
"Run" animation from one model on top of another model - use the same walk cycle
for all your characters. No need to create hundreds of animations!
|
- Granny uses super-high-quality Bink texture compression and
better-than-ZIP compression for the non-texture data - you won't believe how small your
Granny files are!
|
- Retarget geometry to place clothing on different characters without remodeling! Place a suit of armor on any character (long-armed or short-armed, fat or skinny, whatever)!
|
- Supports 3D Studio Max plug-ins, Bones Pro, Character Studio
or Skin; don't worry about what your modelers used to create the animation!
|
- Use Granny to import static geometry,
cameras and lights for importing cinematic scenes into your game for easy playback.
|
- Fast blending and weighting of multiple animations on
skinned models - smoothly blend from a walk, to a run, to a sliding stop!
|
- Use Granny to import animated camera paths -
let your animators set up the camera path all inside 3D Studio Max or Maya!!
|
- Attach any animation to another - put an
animated weapon in a character's hand while he's running across the screen.
|
- 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.
|
[return to top]
|