This Week in Fyrox #7

Fyrox is a Rust game engine with lots of out-of-box game-ready features and a full-featured editor. Third week of December was mostly dedicated to polishing of the animation editors, however there's also a new functionality.

# Animation

absm editor

Animation Blending State Machine editor is now fully functional and more or less production ready. Currently it is being battle-tested in Station Iapetus (opens new window). On the screenshot above you can see spaghetti animation graph for the upper body of the character. In action it looks like this:

absm editor

Currently it is being hooked up to the game, so there's no in-game footage yet. It will be ready in next TWiF. On this week the editor has some major bug fixes and quality-of-life improvements. On of such improvements is that "Play Animation" nodes now shows the name of the animation they're linked to.

Animation editor now is able to switch "loop" flag of the animation:

animation editor

The editor (FyroxEd in general) now correctly leaves preview mode in all sub-editors before saving currently edited scene, it is important because previously you could save the save in preview state and some undesired changes could end up in the scene file.

# Other

State machine is now fully documented, animation is still on the list. The domain fyrox.rs was renewed for one year, kudos to @jayrulez (opens new window).

# What's next?

Since animation system rework is almost done, all that is left to release v0.29 is to polish existing functionality. This includes bug fixing, ergonomics improvements, documenting undocumented, writing the book, etc. The release of 0.29 should happen this year.

# Full List of Changes in Random Order

  • Added a bunch of find_by_name_ref/mut methods to various animation entities containers.
  • Show more info in absm nodes
  • Fixed view desync in the absm editor (caused incorrect data representation when changing layers).
  • Show handles of entities in the absm editor.
  • Fixed incorrect documentation for PerspectiveProjection::fov
  • Fixed selection issues when removing a state or a transition
  • Fixed PoseWeight property editor (now it allows to select enum variant)
  • Ability to retarget animation to an animation player directly (Model::retarget_animations_to_player).
  • Direct access to animation events
  • Ability to change looping of animations in the animation editor
  • Ability to create layer masks from a hierarchy of nodes + ability to merge layer masks
  • Made InheritableVariable's method names much more clear.
  • Graph::try_get_of_type+try_get_mut_of_type helper methods
  • Removed redundant mutex in parameters container in state machines
  • Leave preview mode in animation editors before saving current scene
  • Removed optional key frames serialization mode
  • Correctly remap handles of layer masks
  • Added documentation for animation blending state machine entities
  • Improved hash map serialization

# Support

If you want to support the development of the project, click one of the links below. Preferable way is to use Boosty (opens new window) - this way the money will be available for the development immediately. Alternatively you can can use Patreon (opens new window), but in this case the money will be on-hold for unknown period of time (details are here (opens new window)).

Also, you can help by fixing one of the "good first issues" (opens new window), adding a desired feature to the engine, or making a contribution to the book (opens new window)

Fyrox Engine 2019 - 2024