Release notes

Here you can find the release notes for the Kanzi Particles.

0.10.0

  • Kanzi Particles now works with Kanzi 3.9.3.

0.9.14

  • The Kanzi Particles can now emit particles from and attract them to mesh surfaces uniformly using the Particle Mesh Emitter and Particle Mesh Affector respectively. This is enabled by the new Uniform Coverage property in both nodes.

  • Particle Mesh Emitter and Particle Mesh Affector now provide greater control for the ordering and densities of particles. See Using the Particle Mesh Emitter and Using the Particle Mesh Affector.

  • The Kanzi Particles now works with Kanzi 3.6.16.

0.9.13

  • Improved plugin stability to make it suitable for production.

  • Kanzi Particles now works with Kanzi 3.6.15.

0.9.12

  • Introduced the Mesh Particle Renderer to the emitter nodes, which enables you to:

    • Render particles as 3D meshes, instead of billboards

    • Apply to particles advanced lighting effects, such as shadow maps

    See Rendering particles as 3D meshes.

    _images/mesh-renderer.png
  • Introduced to the affector nodes the ability to control the effect of an affector node. See Controlling the effect of an affector node.

    _images/affector-volume.gif
  • Fixed an issue in the Particle Trajectory Affector and Particle Trajectory Emitter nodes that caused the application to terminate in some cases.

  • The Kanzi Particles now works with Kanzi 3.6.14.

0.9.11

  • The Kanzi Particles now uses triple buffering to achieve smoother frame updates and more stable performance.

    Triple buffering is crucial to ensure stable vertex data updates, which is problematic with double buffering when the simulation is running synchronously with rendering. By our measurements triple buffering reduces frame drops and jittering by at least four times. This change increases the memory use by tens of megabytes at most. For example, for a single emitter with a maximum buffer size of 15,000 particles you can expect the increase of memory use by about 5.5 MB.

  • When a Kanzi application tries to quit, the Kanzi Particles now shuts down cleanly without entering into an infinite loop. This fix requires Kanzi version 3.6.10 or newer.

  • Transformation property updates are now synchronized with other property updates.

  • Improved the startup time and Particle System node instantiation overhead.

  • Fixed the rendering of particle node bounding box visualizations to make them visible even when a scene container geometry is tagged as Opaque.

  • The Kanzi Particles now works with Kanzi 3.6.12.

0.9.10

  • Kanzi Particles now works with Kanzi 3.6.8.

  • Kanzi Particles package now includes a setup project that includes the material, render pass, and textures that the Particle System uses to render particles. Use this project to set up your Kanzi Studio project in which you want to use Kanzi Particles. You can find this setup project in the assets directory of the plugin package. See Getting started with the Kanzi Particles.

  • The emitter nodes now include a built-in material so that you can see the particles immediately, without creating or setting the material.

    _images/default-particle-material.gif
  • Removed the Turbulence Affector.

0.9.8

  • Introduced the Particle Sphere Emitter.

    Particle Sphere Emitter emits particles from within a volume the shape of a sphere or from its surface.

    See Using the Particle Sphere Emitter.

    _images/particle-sphere-emitter.gif
  • You can now use the Particle Curl Affector in either 2D or 3D mode. 2D curl requires around two to three times fewer computational resources than 3D curl does for the same amount of particles. The 2D curl mode is ideal for most menus and UIs. See Using the Particle Curl Affector.

    _images/curl-dimension.gif
  • In the assets you can now find the ColorOverLife.kzmat material for use with the Kanzi Particles. With the ColorOverLife material you can set the texture, color, depth of field, exposure, and motion blur of particles throughout their lifetime.

    See Adjusting the appearance of particles.

  • Improved stability of the Kanzi Particles.

0.9.7

  • You can now control the time in a particle system. You can control the speed of emitter and affector nodes with the Time Multiplier property, and the speed of animations in other nodes with the Particle Animation Player. See Controlling your particle system.

    _images/properties-time-multiplier.png _images/particle-animaton-player.png
  • Now when a Particle System node is not visible the Kanzi Particles disables it so that it stops showing the particles from its emitter nodes, resets all emitter nodes, and frees the memory used by that Particle System node. See Controlling your particle system.

  • You can now use tags to control the rendering of individual particle emitters in a Particle System.

  • Added icons for the Kanzi Particles nodes.

    _images/project-particle-attractor-affector.png
  • Added instructions on how to render partially transparent particles. See Rendering partially transparent particles.

    _images/render-partially-transparent.gif

Migration guide

  • If a node uses the Particle Animation Player, remove the Particle Animation Player from all nodes, update the Kanzi Particles, and add the Particle Animation Player to all nodes that used it. If you already updated the Kanzi Particles before you removed the Particle Animation Player, load the previous version of the Kanzi Particles and then remove the Particle Animation Player from all nodes.

  • Changes to the Kanzi Particles affect the values of the Flow Speed property in the Particle Curl Affector and Particle Vector Field Affector nodes. After you update the plugin to the latest version, adjust the value of the Flow Speed property to get the same result with the latest version.

0.9.6

  • Converted Particle Trail Emitter unit from particles per frame per trail to particles per second. Migration work required to adjust the particle emission.

  • Added these properties to the Particle Vortex Affector:

    • Tightness

    • Flow Speed

    • Gravity Well

  • Improved performance of Particle Mesh Affector and Particle Mesh Emitter nodes.

  • Fix overriding texture property in node.

0.9.5

  • The Kanzi Particles now supports hierarchical structures in the scene graph. This provides more flexibility and improves the plugin workflow:

    • The transformation of a parent node is applied to each descendant node.

    • Affector nodes affect only their parent node and all their sibling nodes. This allows you to limit the scope of affector nodes to specific emitter nodes within a single Particle System node.

  • Added the debug visualization for the Particle System and Particle Attractor Affector nodes.

  • Instead of relying on the delta time, the Kanzi Particles now advances the time every frame by 1/framerate. This allows you to achieve smoother particle simulation.

  • The values of the Trajectory Animation Speed property in the Particle Trajectory Affector node and the Animation Speed property in the Particle Trajectory Emitter node now set the number of revolutions each second around the trajectory in those nodes. If you used these properties, to achieve the same result, you must readjust the values of these properties in your project.

  • Fixed issues that prevented the Particle Mesh Affector from working correctly in some cases.

  • Significantly improved the performance of the Particle Curl Affector and the general performance of the Kanzi Particles.

0.9.3

  • The Kanzi Particles now works with Kanzi 3.6.3.

  • Added to the Particle System node the Total Particles property, the value of which shows the number of all particles in that Particle System node.

  • Added to the Particle System node the Target Simulation Framerate property, which you can use to set the framerate for a particle system.

  • Fixed the simulation interval behavior issue.

  • Fixed the issue in the Particle Mesh Affector which caused the application to terminate.

  • Included several performance improvements.

0.9.1

  • Changes to how the plugin handles vector fields:

    • The plugin now loads vector fields directly from fga files, and not from images.

    • Added the Outside Behavior property to control the behavior of the Particle Vector Field Affector outside the bounding box of the affector.

    • The rotation behavior now works correctly.

  • Added debug visualization graphics.

  • Added particle UV position property for image emission and transition effects. This enables you to set the UV position of the mesh that emits particles.

  • Added the particle sorting feature, which enables you to sort particles by age on x, y, and z axis.

  • Added Surface Emission property to the Particle Box Emitter to emit particles from the surface of the box, instead of from the entire volume.

  • Changed the particle property workflow. For many properties to define the range you now use a base with percentage variance values.

  • Improved the plugin documentation to include more information on how to work with the plugin.

  • Made several refactorings and optimizations.

  • Fixed issues:

    • The vector fields now work on Android.

    • The vector field repeat mode rotation now works correctly.

    • In Kanzi Studio you can now set for meshes the GPU Memory Type property to GPU Only.

    • Triangle rendering now works.

    • Property naming between emitters and affectors is now consistent.

    • When you use Kanzi 3.6.2, trajectories no longer leak 68 bytes of memory.

    • Editing or navigating the Kanzi Particles content no longer causes Kanzi Studio to become unstable.

    • Particle rotations now work correctly.