This Week in Fyrox #9

Fyrox is a Rust game engine with lots of out-of-box game-ready features and a full-featured editor. This week was mostly dedicated to adding small new features and fixes that improves the workflow and makes it less frustrating.

# Particle System Preview Mode

particle system

Particle Systems now does not update in the editor by default, only when selected. This saves CPU resources when editing large scenes and removes visual clutter. Also there's a new panel that allows you to control preview behavior of particle systems (play, pause or stop).

# Animation Signals

anim editor

It is now possible to select animation signals on the time ruler and edit their properties such as name, id, location, state (enabled or disabled). The properties are edited via standard editor's Inspector.

# ABSM Editor

Animation Blending State Machine editor now allows you to delete animation layers. Previously it was possible only to add animation layers.

# Reflection

Reflect trait is now based on Debug trait (pub trait Reflect: Debug { .. }), so it is now possible printing any values that implement both traits by having just &dyn Reflect. This functionality is extensively used in the Inspector widget to copy values of fields as their string representation.

# Copy Value as String for Inspector

Inspector widget now allows you to copy property value as string. It uses the changes in the reflection system described in the section above. It is very useful for extracting data from fields that does not have any editable fields. For example you can copy contents of an array use it somewhere. To use the functionality, right-click on a property in the Inspector and click Copy Value as String.

# Other

Fixed selection issues in ABSM and Animation editors, fixed crash when trying to add a new layer into an empty ABSM. Fixed crash when trying to add a signal in the animation player. Animation events now also contains animation the signal name, not just its id - this makes it easier to use animation events.

# What's next?

Fyrox 0.29 will be released at the end of the next week (8th of January) and the upcoming release requires a lot of testing of the new and old functionality, which is currently happening in Station Iapetus (opens new window) game. The new release will also add new chapters to the book (opens new window). The next TWiF will be release only on 15th of January, because 8th of January will be "occupied" by the release notes for Fyrox 0.29.

# Full List of Changes in Random Order

  • Update only selected particle systems in the editor
  • Added particle system preview control panel
  • Fixed selection issues in ABSM and Animation editors
  • Fixed crash when trying to add a new layer into an empty ABSM
  • Ability to remove layers in ABSM editor
  • Ability to edit animation signals in animation editor
  • Added UuidEditor and respective property editor for Inspector
  • Fixed crash when trying to add a signal in the animation player
  • Restrict Reflect trait on Debug
  • Wrap clipboard into RefCell
  • Optional ability to Copy Value as String for properties in Inspector widget
  • Pass animation signal name to animation event - makes much easier to respond to multiple animation events with the same name)
  • Ability to maximize UI windows.
  • Rename Animation::events -> Animation::take_events
  • Fixed recent files list in the editor (now it correctly remembers saved scene)

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