Idle Animations
Contents
Idle Animations Window
Overview
In Fallout 3/New Vegas, each Idle Animation contains information about what file to play, how it should be applied to the actor’s skeleton, and under what conditions it should be played. The Idle Manager is the name for both the tool in the editor to define Idle Animations and the system in game through which these Idle Animations are chosen. This document will contain information on how to use the tool as well as information on how the Idle Animations are used in game.
The Idle Manager Dialog Box
The Idle Manager Dialog is opened by selecting the “Gameplay\Idle Animations…” option from the Main Menu in the GECK. The left portion of this dialog box is a tree view displaying all existing Idle Animations. The right portion of the dialog box is used to display/set the data for the Idle currently selected in the tree.
Idle Animation Data
The right portion of the dialog box is used to set the data for the currently selected Idle Animation.
The ID field is used to give the Idle Animation a unique name. This text is never displayed in game and it used mostly for organizational purposes.
The button to the right of the ID field is used to select the KF file for the animation. Only KF files in the IdleAnims directory beneath the directory in which the NPC or Creature’s skeleton exists can be selected.
- Art File: Path to animation file (.KF). Browse for file by using Edit button.
- Animation Group Section: Determines which Animation Group the idle plays on. Most idles should use the Special Idle animation group. Only one animation file can play on any animation group. Thus, playing a special idle on a Weapon group will terminate any animation currently playing on that group. Whole Body animation group terminates all other animations playing. Upper Body terminates animations playing on the groups associated with the upper body.
- Looping:
- Loop Forever: Continually loops the animation. Only available for animations that can loop.
- Min: Sets minimum number of times an animation will loop. Only available for animations that can loop.
- Max: Sets max number of times an animation will loop. Only available for animations that can loop.
- Replay Delay: The time between animation replays.
- Must Return a File: This check box is used to help decide how the Idle Manager picks Idle Animations in game and is explained more fully later. Generally, if no file is selected for an Idle, meaning it is just used as a parent for other Idles, this checkbox should be unchecked.
- No Attacking: When checked this will prevent attacking while the idle animation is being played.
The rest of this section of the dialog is used for setting the conditions under which the Idle or one of its children should be played.
Conditions
Each Idle Animation contains a set of conditions that are used in game to determine whether or not that Idle should be played. An animation of an NPC holding their hand to their gut and letting loose with a loud burp could have conditions placed on it so that NPC would only do it if they were running an Eat package.
See Conditions for more details on using conditions.
The Idle Tree
The left portion of the Idle Manager dialog box is a tree view used to display and group the Idles. The top level items in the tree all represent different Creature and NPC skeletons. All Idles to be used on the NPC skeleton will be displayed as children of the Characters\_Male\ item and all items to be used on the Ghoul skeleton will be displayed as children of the Creatures\FeralGhoul item. These top items are added dynamically based on which skeletons are used by currently loaded NPCs and Creatures. Everything beneath a top level item is potentially an Idle Animation to be played.
Right-clicking on the tree displays a popup menu that allows you delete existing Idles, add a New Idle as a Sibling to the selected one, or add a new Idle as a child of the selected one.
The Move Up and Move Down buttons can be used to move an Idle up and down the tree in relation to its siblings.
When an Idle is deleted, it automatically deletes all of its child Idles too.
When a new Idle is Inserted as a Child, its is added as the first child beneath the currently selected Idle. When a new Idle is Inserted as a Sibling, it is added immediately after the currently selected Idle.
Previewing Idles in the Editor
To preview an Idle Animation in the editor, open up a dialog box for an NPC or Creature that would play the animation you want to preview. Click the Preview Full check box so that an copy of the actor is displayed in the preview window. Switch to the animation tab so that the copy of the actor is now animating. Then select the Idle you would like to preview in the Idle tree on the Idle Manager Dialog Box. The copy of the actor should begin playing the Idle you selected layered over top of whatever animation it was previously playing in the same manner that it would in game.
The Idle Manager In Game
Picking Idles
When the Idle Manager is told to pick an idle for an actor, it first finds the top level item in the tree that matches the actor’s skeleton. It then begins at the first child Idle beneath this top item and checks to see if the actor qualifies for the conditions on this item. If not, the next sibling for this Idle is checked. If an actor does qualify for an Idle, the first child Idle of that Idle is then checked and the process continues for it. When the conditions for an Idle are met and the conditions for none of its children are met (or if it has no children), that is determined to be the Idle we would like to play.
When the Idle Manager picks an Idle to play that has a KF file associated with it, that Idle’s KF file is then queued up and, when it is done loading, played. If the Idle that is chosen doesn’t have a KF file, one of two things can happen depending on the Must Return File flag. If the Idle without the KF has the Must Return File flag set, then it is skipped as if the actor hadn’t qualified for its conditions and the Idle Manager then moves on to check the Idle’s next sibling. If however the Must Return File flag is not set, then no file is returned and no Idle is played.
For example, if an NPC is sitting in a chair and is asked to play an Idle, he may qualify for an Idle called SittingIdles that checks the GetSitting function but has no KF file associated with it. If for some reason the actor does not meet the conditions for any of the child Idles beneath this one, SittingIdles is what we would like to return. If the Must Return File flag is not set on it, no file will be returned and the actor will not play an idle. If however the flag was set, we would move past SittingIdles in the list and the actor may wind up playing an Idle which is inappropriate for an actor sitting in a chair.
When Idles Are Played In Game
Idles can be forcibly played through the scripting system. When the function PickIdle is called on an actor, the Idle Manager will try to pick an Idle for it. If an Idle is returned, its is then queued up and played. This can be tested in game by selecting an actor in the console and typing PickIdle. The name of the Idle file chosen will be displayed and when you return to the game the actor will attempt to play the animation.
Idles are sometimes played based on actor events in game. When an actor is knocked down or unconscious, it is the Idle Manager that picks the KF file to play for them getting back up. When an actor decides to yield in combat, the Idle Manager is used to pick the animation they use to do so. While an actor is sleeping or eating they are asking the idle manager constantly for idles to play therefore blocking idles for sleeping and eating should be included for any NPC or Creature that can have these packages. Also during dialogue either with the player or another NPC idles are being called for by both the speaker and the listener each time a new conversation item is spoken.
Idles can also play at random times based on the actors energy level. Actors with low energy settings will idle more often. If the actor's lower body is idling they will pick an idle if their energy level timer has run down and they have an idle to play.