Custom Animations

From Wolfire Games Wiki
Revision as of 03:00, 17 May 2023 by Constance (talk | contribs) (Added unhiding DEF bones section, added Selecting a Pose section, labelled event keyframes (possibly incorrectly))
Jump to: navigation, search

Overview

Constance's animation tutorial for Blender 2.55

Animations for rigged objects in Overgrowth are stored with one of the Phoenix Engine's custom binary file formats, namely the PHXANM (Phoenix Animation) format. To export an animation to a PHXANM (File mask: .anm) file you need to use Wolfire's custom export addon for Blender.

A repackaged version of Blender 2.55 for Windows with the export addon and with the UI set up for this task can be downloaded here.

The scripts needed for using Blender 3.4 and above are in the Wolfire Discord's #overgrowth_modding channel, in the pinned messages. Look for a file named phoenixblenderscripts.7z

Selecting a pose

On the left hand side of your Blender character rig, you'll see a Dopesheet. If it's too small, you can drag it out and expand the border to see the full toolbar.

Click the button pictured on the Dopesheet's toolbar to browse and select the poses included in the character rig. Any rig has a maximum pose limit, which when reached will start recycling old poses. Todo: How large is this limit?

You can make a new pose by clicking the New Action button next to the pose name. Make sure not to overwrite any useful poses you may have in the rig!

Exporting an animation

  1. Create your custom animation in Blender
  2. Set the metadata for your animation in the properties sidebar of the skeleton TODO: ADD IMAGE
    • Click the From Timeline button to set the timeline's start & end frames as the start & end points of your animation; Note: Keyframes outside of this time frame won't be exported.
    • Set the Looping value to 0 if you don't want your animation to loop. Set it to 1 if you want it to loop. Todo: If the value is higher, will it do sth different, like play the animation n times?
  3. With the skeleton selected, press File > Export > Phoenix Animation (.anm)

Event Keyframes

Event keyframes are used to tell the game at which moment of an animation an event is going to happen. This is used to trigger attack impacts and footstep sounds among other things. An event is saved as a Custom Property of a bone in the Blender files shipped with the game. Access these custom properties by clicking on the Bone Properties tab within the Properties window.

Event Name Description
event_attackimpact Will trigger the actual impact while attacking a character
event_blockprepare Signals when to block to AI characters. These keyframes are usually placed two frames before the impact
event_attackblocked
event_rightcrouchwalkstep Will trigger footstep sounds for sneaking, emits AI sound and creates particles while on terrain
event_rightrunstep Will trigger footstep sounds for running, emits AI sound and creates particles while on terrain
event_rightwalkstep Will trigger footstep sounds for walking, emits AI sound and creates particles while on terrain
event_rightwallstep Will trigger footstep sounds for wall running and emits AI sound
event_golimp Causes the character to ragdoll into a static pose
event_grabitem
event_heldweaponswap Causes the character to switch the currently held item's hand
event_rightweaponrelease Causes the character to let go of the currently held item
event_sheatherighthandlefthip Sheathes the dominant hand's item to the left hip
event_sheatherighthandrighthip Sheathes the dominant hand's item to the right hip
event_throatcut
event_unsheatherighthandlefthip Unsheathes the dominant hand's item to the left hip
event_unsheatherighthandrighthi Unsheathes the dominant hand's item to the right hip

Adding an event Keyframe to your animation

  1. Select the 3rd of the rig's layers from the bottom right.TODO: ADD IMAGE The bones should be named DEF-<Bonename>
  2. Select the appropriate bone for the event you want to trigger while being in pose mode
  3. Set the playhead in the timeline to the moment you want the event to happen
  4. In the Properties editor, press Bone and scroll down to Custom Properties
  5. Hover over the property that corresponds to the event you want to trigger and press I to add a keyframe. (Value doesn't matter)

Unhiding DEF Bones

In order to add event keyframes, you must first select a DEF bone. In the rigs that are shipped with the game, these bones are hidden. In order to unhide them, you must first:

  1. Enter Pose Mode in the 3D Viewport
  2. Go to the Object Data Properties tab (the one that looks like a character)
  3. Hold down SHIFT and toggle every layer on (to be safe)
  4. Once you're done, move your mouse to the 3D Viewport and press A to select everything
  5. Press ALT + H to unhide everything
  6. Toggle the rig layers back to normal: The DEF bones are located in the 3rd of the rig's layers from the bottom right TODO: ADD IMAGE

Animating Morph Targets

Todo: Add this section