EMotion FX 4
EMotion FX 4 is our main product. It is a complete character solution for any game, simulation or other product. EMotion FX includes all features from the standard version of EMotion FX.

The difference between EMotion FX 3 and EMotion FX 4 is that the new one contains a fully artist focused editor to setup complex character behavior. This also includes an extension of the API to handle this new functionality.

EMotion FX 4 allows artists to setup hierarchical state machines, logic and advanced hierarchical blend trees, all in a visual way with direct feedback using either the interface components or directly from the game controller. The big advantage of this approach is that animators already setup the states a character can be in and define how animations should be blended and mixed together. They can test this live as everything is fully interactive and it will look the same as in the game.

Traditionally animators provided animations to the programmers, where the programmer would write the code on how to layer and blend those animations together. Animators would have to check how it looks in-game, tweak the animations and ask the programmers to add some more specific blends followed by having a look again. This would iterate until the animator would be satisfied.

EMotion FX 4 moves this whole process to the animator, giving them the ability to setup things in a way they envisioned. When the animator is satisfied he simply delivers some files to the programmers. The programmers can easily load these files and apply them to the characters, making them behave exactly as the animator created. This also makes things easier for the programmers as they do not need to bother anymore about blending, mixing, setting up inverse kinematics and other features, as this has already been done by the animators, configured in such a way that it looks best in-game. Next to the artist driven way of setting up animation behavior EMotion FX 4 also contains other technical advances over EMotion FX 3, such as support for hierarchical syncing and fine control over event processing and several other things.

So in summary EMotion FX 4 saves production time, increases in-game animation quality and makes everyone's job easier and more fun.

EMotion Studio
EMotion FX 4 is all about the tools used by animators. With continuously increasing complexity and rising expectations of in-game animation quality sophisticated tools are required in order to realize these expectations. We have spent a lot of time developing an animation behavior editor in close collaboration with animators, resulting in an editor which we think is the best in the industry. We truly believe that tools are one of the most important things to improve the quality of games and keep production times as low as possible.

EMotion FX ships with exporter plugins for 3D Studio Max and Maya as well as with an application called EMotion Studio. The exporter plugins are used to export both geometry and animations. The animations can be on any object, so you can also animate buildings, lights or cameras for example.

EMotion Studio is the application in which animators setup the animation behaviors of their character. Next to that it can be used to test and inspect things such as level of detail, geometry and lipsync. Things you can do inside EMotion Studio include:

  • Hierarchical State Machines: This allows you to define what states a character can be in. Each state can be anything, from a simple motion to a complex blend tree or another state machine.

  • Hierarchical Blend Trees: Complex blending and compositing, mixed with procedural effects are created in a visual graph.

  • Transition Logic: Automatic transition logic can be setup to trigger automatic state transitions when certain conditions are met.

  • Parameter Driven: The whole blend system is parameter driven. This means that the system adjusts itself and responds to changes in parameter values which the game will feed to EMotion FX Extended.

  • Procedural Controllers: Special blend tree node types allow you to easily visually configure things such as Inverse Kinematics and LookAt effects.

  • Modular System: The blend system is completely modular and allows you to very easily create your own custom node types, state types, transition conditions, etc. Interfaces for these nodes can be automatically generated, directly integrating them inside EMotion FX Extended.

  • Inspect Character: Check your materials, normals, tangents, normal maps, shading, bounding volumes, collision meshes and LOD levels. Test the morph targets by either controlling them manually or using morph target animations. Inspect the hierarchy and display information about a given node. Quickly look up given node names and other properties. This is useful for programmers as well.

  • Test and Configure Motions: Try to see how the exported animations look on your characters. Adjust playback properties and layer other animations on top of it to see how things will look in-game. If you would like to trigger sound effects at given points inside a motion, or spawn full particle effects, execute scripts or anything else you can imagine, edit motion events in a movie-editor style track based time line.

  • Test Attachments: Apply deformable and non-deformable attachments to characters to see if everything looks as expected. This is useful to test clothing items and to combine them to see if it all works as expected.

  • Lipsync: Link certain morph targets with given phonemes and quickly test by drag and dropping sound files into EMotion Studio. Batch generation of lipsync motion files from sound files is also supported.

  • Modern UI: EMotion Studio has a very modern user interface. It supports customizable layouts, movable interface items, multiple configurable viewports, an action history with full undo/redo support, multi-monitor support and it is fully scriptable and extensible through plugins.
EMotion StudioEMotion Studio
EMotion FX 4 is a complete character, animation and general purpose export solution. It handles everything from exporting geometry and animation data from 3D Studio Max or Maya to character customization to performing complex animation tasks on your models inside your game.

EMotion FX 4 supports a wide range of features, including:

  • Parameter Driven Hierarchical Blend System: This is a huge piece of technology that allows the characters to automatically perform advanced blending operations and state transition logic, based on input parameters that come straight from the game.

  • Geometry and Animation Export: Many games use EMotion FX's exporter to also export level geometry, next to their animated characters. Our API allows you to very easily import this geometry inside your product.

  • Advanced LOD: This includes geometry LOD, skeletal LOD, motion LOD, material LOD and morph target LOD.

  • Realtime Motion Retargeting: Share the same motion between characters with different proportions, saving both art time and memory.

  • Realtime Motion Mirroring: Instantly turn right handed motions into left handed motions, without any additional art work. This has turned out to be especially useful in sport games.

  • Advanced Motion Compression: We provide several compression techniques, including a technique similar to MP3 for music and JPG for images, providing high compression rates.

  • Inverse Kinematics: We provide several Inverse Kinematics solvers that can be used for planting feet or grabbing objects.

  • Jiggle Controller: Simulating small pieces of cloth, hair or fatty tissue brings your characters much more alive. This bone-based physics support does not rely on any external physics system.

  • Lookat Controller: This procedural controller allows you to make characters look towards a given goal position. This can make your characters more interactive.

  • Character Customization: Different techniques inside EMotion FX allow detailed character customization. This includes support for skinned attachments to customize clothing and hair styles, morphing to easily adjust body physical properties such as how fat a character is and how muscular. EMotion FX's scaling support also allows you to customize the size of individual bones.

  • Facial Animation and Lipsync: Advanced facial animation can be exported directly from Maya BlendShape and 3dsMax's Morpher modifier. It is also possible to do bone-based facial animation, or to even mix both techniques.
API and Documentation
EMotion FX 4 has a cross platform API. Each platform has its own optimizations to take full advantage of the specific hardware. The API is written in C++ and only uses special instructions through intrinsics. It does not depend on other external libraries such as STL.

We also have some clients using EMotion FX on not yet officially supported platforms such as Linux. Since our code is cross platform it is very easy to compile it on other platforms that you might be interested in.

The documentation consists of four parts, currently available in English only. Korean and Japanese versions will be available at a later stage as well. The four different parts are:

  • API References: Very useful if programmers want to look up the details on given methods or parameters. Every parameter, class, struct and function is fully documented.

  • Programmer Guide: This is a tutorial style guide, which explains all the features of the API in detail. It provides technical background information and explains through code snipsets how to perform certain tasks.

  • Artist Guide: This is the documentation for artists. It contains information about the exporters, EMotion Studio and how to add support for given features, from an art perspective.

  • API Examples: There are over 50 different very cleanly written API examples that show you how to implement each of the features. You can browse through the example categories either using our Sample Browser application or directly by looking into the example folders.