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
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:
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:
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)