Animation Editor – Arma Reforger

From Bohemia Interactive Community
Revision as of 18:43, 4 January 2023 by Lou Montana (talk | contribs) (Text replacement - "{{HashLink" to "{{Link")
Jump to navigation Jump to search
🚧
TODO: Add images

The animation editor is used to connect the animations in the game in a logical way using a node-based graph, using files called Workspaces.


Overview

When opening the Animation Editor, you will be greeted with this window

Each tab can be undocked/docked anywhere, or remain floating. the Layout is entirely customizable.

  1. Toolbar
  2. Anim Editor Preview
  3. Workspace / Anim Set
  4. Animation Graph / Log Console
  5. Controls / Debug Controls / File Browser / Properties / Live Debug / Attachments Debug / Errors


Toolbar

  • File: used to perform actions such as load/save Workspace, create new Workspace...
  • Edit: used to perform copy, paste and cut actions.
  • View: used to open or close any window
  • Play: used to play the Animation Graph from the default node. If no default node is setup, nothing will play.
  • Checks: used to verify Source Sync and display all Tags used in the current Workspace
  • Tools: used to reload animation files, rebinarize TXA files and perform a stress test
  • A: from left to right: create new workspace, open workspace and save workspace
  • B: from left to right: cut selection, copy selection and paste
  • C: play graph from default node. A node will be considered as default is you set it as such, or if it is called "MasterControl"
  • D: shows if there are any errors, and opens the Errors window when clicked on


Anim Editor Preview

The Anim Preview Window is where you will see the model moving according to which animation is playing, in real time or not. Also used to preview a specific animation clip alone, when selection from the Anim Set directly.

The camera can be rotated around the center by pressing left mouse button in the viewport and dragging.

The camera can be rotated around its own axis be pressing right mouse button in the viewport and dragging.

The camera can be moved by pressing middle mouse button in the viewport and dragging.

The timeline can be scrolled through by pressing left mouse button on the cursors on the timeline and dragging left or right.

Lets break it down, starting with the top bar

  • A: used to show/hide the floor grid
  • B: used to show/hide the Evaluation Information
  • C: used to show/hide colliders
  • D: used to show/hide IK targets
  • E: used to show/hide all bones
  • F: used to show/hide specific bones from a hierarchical list containing all bones
  • G: used to select an animation from folder, that will be used as a base to play an Additive Animation on top
  • H: used to set the field of view for the preview camera
  • I: used to select which animation LOD is played 0 being least detailed and 3 most detailed
  • J: used to switch between first person and third person animation (feature not working)

Now to the other components of the Anim Editor Preview

  • A: used to chose the camera view (perspective, front, left ect...)
  • B: used to choose the lighting and shading type used in the Anim Editor Preview
  • C: used to add overlay, such as wireframe
  • D: used to access preview option (mostly useless in the context of the animation editor)
  • E: Evaluation Information display. at current frame, used to see: current time, active event, active tag and amount of bones being animated
  • F: timeline with cursor showing current frame. can be scrolled through.
  • G: play button, next/previous frame buttons, first/last frame buttons
  • H: from left to right: record button and loop animation button (used when playing a specific animation directly from the Anim Set)
  • I: motion options: chose if the grid moves according the character movement speed / moves and rotates according to character movement speed and direction / character moves according to its movement speed and grid stays static / nothing moves
  • J: playback speed, speed at which animation are being played
  • K: from left to right: current frame, total frame count, and snap cursor to frames (can be disabled to be able to scroll the cursor between frames in the timeline)


Workspace

This window is used to create all the files necessary for a workspace to work, as well as selecting Animation Instance, or Sheet. right click on any category to create a new one of it (right click on instances to create a new instance for example)

  • A: animation template file, contains the list of animation slots by categories, that is edited form the Anim Set window
  • B: animation instances. each one represents a unique set of animations, that are used to fill the same template. multiple instances allows for multiple sets of animations that will use the same logic (for example rifle locomotion animations and pistol locomotion animations)
  • C: Sheets. each sheet is a "page" containing logic nodes, visible from the Graph Window. Technically it is not necessary to have more than one, however as the graph grows bigger, it is better to separate into in different sheets, to stay organized.
  • D: Sync table, contains the different Sync events that are going to be used throughout the graph.
  • E: preview models: models that you are going to use to preview animations on. It can be character, weapon, vehicle...


Anim Set

The Anim Set is a table containing groups, each groups has columns and lines. you can then assign animation to every cell on this table, they will appear as a green dot. Grey dot means no animation is assigned.

each animation that you fill in is specific to the Instance currently selected. On the player workspace, we typically use instances for different weapons, because they have different animations that will be used in the same context (for instance run forward with rifle and run forward with pistol.

no need to create a line for each, just create a run forward line then fill it with run forward rifle in rifle instance and run forward pistol in pistol instance)

  • A: search bar that allows you to look for a specific line inside the Anim Set
  • B: toggle to show only missing animations
  • C: add, rename and remove group
  • D: add, rename and remove line
  • E: add, rename and remove collumn
  • F: name of currently selected animation, then from left to right: Open file (opens selected file in a new tab in the Workbench), locate selected file in the File Browser, browse and clear selected animation
  • G: from left to right: add selected (in File Browser) animation to selected line/column and create new line from selected (in File Browser) animation (it will automatically create a new line with he same name as the selected animation)


Animation Graph

Here is where you create ad manage the visual logic, in the form of a graph made of nodes connected together.

It displays the content of the currently selected Sheet.

A graph is made of State Machines, containing States, and other nodes that live outside of a State Machine. States can only be created inside a State Machine, and need to be connected to a children.

You can see states as empty logical containers connected together using conditions.

The colour of every node types can be changed in the workbench. Find the "Workbench" tab in the top left, click on it and select "options".


Here you can see a State Machine (grey rectangle) with States inside it. Notice that each node is connected to a children outside of the State Machine.

Note: A state can have another state machine as a children

Navigation: Use Left Click to select, drag to select multiple nodes. alternatively, press Left Ctrl and left click to add to current selection.

Press Middle Mouse Button and drag to move around the graph
Scroll Middle Mouse Button to zoom/unzoom
Right Click opens a contextual menu that depends on your current selection/what is under the mouse cursor. Also allows to use selected node as default running node when pressing the play button in the Toolbar.

Lets Breakdown the window:

  • A: search bar to look for a specific node, by its name.
  • B: create new node
  • C: Center view on current selection
  • D: Center the view on the whole graph, does not depend on current selection


Log Console

Here is the same log available in the workbench, that will tell you if anything is wrong with the engine.

  • A: search bar
  • B: button to clear the console
  • C: Show errors only
  • D: Show warnings only
  • E: Show info only
  • F: Filters list


Controls

The control panel contains all the logical conditions that are then used in the graph.

It has 2 different states:

1: When the Graph is NOT running, you can create, rename and modify conditions.

2: When the Graph is running, you can trigger the conditions to provoke certain animations to play.


Here you can find a more detailed guide on how to implement/use conditions in the animation editor: DOCUMENT TO BE CREATED

🚧
TODO: Link to provide

Here you can find a list of the conditions used in Arma Reforger: Animation Editor: Human Variables and Animation Editor: Vehicles Actions Commands.


Debug Controls

The debug controls allows you to link a specific condition to a simple button, and sort these buttons with custom groups. This way you can trigger a set of conditions faster than when looking for them in Controls.

It has the same 2 states as controls:

  1. When the Graph is NOT running, you can create, rename and modify buttons.
  2. When the Graph is running, you can trigger the conditions via the buttons to provoke certain animations to play.

Here you can find a more detailed guide on how to implement/use conditions in the animation editor: DOCUMENT TO BE CREATED

🚧
TODO: Link to provide


File Browser

A simple file browser (that only displays .anm files) to find animation files and assign them to the Anim Set.


Properties

Here you can change the properties of any node/transition that you have selected in the Graph window.


Live Debug

Here you can connect a running instance of the game to the animation editor. This way what you do in the game will also be recorded in the animation editor.

Useful to find source of some issues, if the conditions are being triggered properly in the game ect...

  • A: Finds the different entity from the running game session that you can attach into the animation editor
  • B: Attaches the selected entity from the list and attaches it to the animation editor
  • C: Detaches selected entity from the animation editor

Here you can find a short document on how to use Live Debug: Animation Editor: Live Debug Tutorial.


Attachments Debug

Here you can set binding names for each attachment node (an attachment node allows you to plug in a workspace into another workspace. we typically use them for weapons/vehicles. therefore each weapon/vehicle has its own animation logic separated from the player logic)

Here is a short document detailing attachment nodes and their use: DOCUMENT TO BE CREATED

🚧
TODO: Link to provide


Errors

In this window you can see anything that is wrong with the animation logic, such as invalid condition, invalid node etc. Anything that will prevent the graph from running correctly.