Animation tools

Your feature list mentions applying animation sequences to different models: Is this the ability of reusing animations for models that have been skinned (created) the same way, to save animation time?

DA: Yes, this allows models with the same skeleton to share animations.

What's the ready-to-use state machine in this context?

DA: One of the most painful and time-consuming tasks that artists (or perhaps even programmers) have to perform is setting up transitions between animations. The Gamebryo Animation Tool assists in this task by setting up default transitions and exposing those transitions to the user application. So when a game wants to transition from a crouching animation to a running animation, it only needs to tell the animation system to play the running animation. The animation system uses the transition information to manage the current state of animations. For example, it will blend out the crouching animation and blend in the running animation. The key feature here is that users do not need to be concerned with the current state of the animation system-they simply define the transitions and the state management is handled by Gamebryo.

Transitions: What kind of configurability do you have there? Forcing a custom transition animation when switching between two other ones? Or increasing the cross-fade time? Things like that?

DA: The Gamebryo animation system provides a variety of options for transition effects. They are all very configurable in our animation tool. Users can specify a variety of blends where the initial animation's weight is gradually decreased while the target animation's weight is gradually increased. The timing of this blend is configurable. Users can also insert intermediate animations as well.

To continue my previous example of transitioning from crouching to running, I could specify that the transition for that case actually transitions from crouching to standing and then from standing to running.

The related screenshot on your website also showcases particle effects - is that just a coincidence, or are the two somehow related, with this tool also helping for that?

DA: Particle system parameters that are animated in the art packages can be exported into animation sequences in the same manner as animated transforms. Allowing the animation system to trigger particle system effects as well as transform effects. For example, my firing animation may involve movement of a character's arm. I can also animate a particle system's emission rate so that firing a gun will produce a shower of particles.

Scene Designer

Orienting cameras; is this to be able to create a cinematic out of it easily, or rather for games where the camera position is not related to your character's exact position, but rather the room you're in?

DA: Scene Designer allows users to place arbitrary objects including cameras into a scene and preview that scene. A user could absolutely leverage that capability to help create a cinematic. As you note, it would be very useful for games that use static camera angles. Another possible use would be to define a camera for a rendered texture.

How does this work in terms of dynamic objects and lights? Let's say you had a light source that the player is supposed to be able to break if he wanted to; could it be placed in the scene designer anyway with a few extra properties?

DA: Absolutely. Scene Designer allows our clients to define new entity types via its plug-in framework. One of those types could easily be a destructible object with a dynamic light attached.

Obviously, different games and different companies are going to have very different requirements here, which is why extensibility is so important. How much have you seen some users customise it? Could it extend all the way to a MMO or a RTS if a developer wanted it to?

DA: Scene Designer was designed from the beginning to be fully extensible via its plug-in framework. We think that it's entirely possible for a studio to use Scene Designer as the framework for a fully featured editor regardless of genre.