We’ve just uploaded a small but important update to the component set. Basically, the major reworking of the components in the last update messed with the actual integration functions – this has been fixed. More specifically, we’ve settled on a leapfrog integrator for a force based simulation and the RK4 integrator, with a fast option, for regular integration.
In general, we are shifting our focus away from adding new functionality (check out the dynamics source code – you can write your own!) towards optimizing performance. This release is a first step in that direction. Also, some updated example files have been added – more to come.
Check out the new Distance Binning component. At only %30 speed increase, it’s still a WIP.
This release features a major reworking of the component set. Yes, we managed to break all functionality during the refactoring; No, we couldn’t figure out how to fix it for a quite while…..In the end, it all came together, though. The biggest change is that we combined the Static and Dynamic Integrators into one. This means you can toggle between the two modes on the fly. Beware, though, if you leave the timer enabled and switch to the static integration, you’ll rebuild the solution at every time step (i.e. crash)!
We have also decided to release our code for the dynamics. This means that if you adhere to structure, you can build your own dynamics.
- Acceleration component has been removed. By default, the simulation assumes all vectors are forces. This can be toggled in the settings if you simply want to integrate.
- The settings component has been broken out into three components and a few menu options.
- Inter-particle forces have been added. This is meant more as a prototype for future developments (flocking has been done many times before…more on this later). These dynamics are SLOW!
- Dynamic Emitters! These are really fun…
Surface Attraction: Turns any list of surfaces into gravity attractors or repellers.
Surface Flow: When particles are close, they flow along any list of surfaces.
Separation: Assign a distance to be maintained between particles within a given radius.
Cohesion: Particles will tend towards the average of their neighbours.
Alignment: Particles will tend towards travelling in the same direction as their neighbours.
Dynamic Keyframe: Give collections of dynamics time intervals to be activated.