Stoke MX Velocity Field Sources
Last Edited on April 23, 2015
In 3ds Max, both the legacy particles and the more advanced Particle Flow and Thinking Particles move according to a simplified representation of Newtonian physics:
- When a particle is acted upon by a Force, its Velocity changes and the particle moves along the Velocity vector.
- A particle can also be assigned a Velocity directly using non-physical means like setting its Velocity channel directly using a Speed operator.
- If no Force is applied to a moving particle, it will continue moving in the last direction with the same speed.
- If no Force is applied to a static particle, it will remain static,
- The above rules represent motion in vacuum. To represent the resistance of a medium like air or water, an additional Drag force has to be applied (the Drag Space Warp can reduce the Linear and Angular Velocity of a particle by a given percentage along each axis)
In the case of Stoke MX, the Stoke particles are assumed to be in a medium and move with this medium.
- The various Velocity Fields (defined by FumeFX and Ember simulations, 3ds Max Force Space Warps, or other particles) are considered the medium in which the particles are submerged.
- If there is a non-zero Velocity at the position of the particle, it will be moved according to that Velocity
- If the Velocity is zero, the particles will not move. The particle does not possess its own Velocity and shows no inertial behavior - if a moving particle encounters a point in the Velocity Field with a zero velocity, it will stop immediately.
This difference between classical 3ds Max particles and Stoke particles is CRUCIAL to understanding the Stoke workflows and providing usable Velocity Fields to simulate good-looking motion.
Velocity Fields From 3ds Max Force Space Warps
Stoke MX can use the Acceleration data of some Force Space Warps like Wind, Gravity and Vortex as a Vector Field.
- The 3ds Max Force Space Warps were originally designed to provide acceleration data to particles in legacy and Particle Flow systems. See the General Considerations topic above.
- In Stoke MX, the Force Space Warps are used as Velocity Fields that assign the Velocity directly to the Stoke particles, similar to how the FumeFX Follow operator sets the Velocity in Particle Flow.
- The same behavior can be emulated using Particle Flow by adding a Force operator with a Drag of 100% before the Force operator applying the Space Warp driving the particles - see this tutorial for details.
Velocity Fields From FumeFX Simulations
Stoke MX can access the Velocities stored on a FumeFX Simulation Grid.
- Stoke behaves similar to Particle Flow with FumeFX Follow set to 100% influence.
- In Particle Flow with FumeFX Follow, if a particle manages to move outside of the simulation grid, it will lose the influence of the FumeFX velocity field and continue moving straight with constant speed unless another force is applied to it. The typical workaround is to enable the option in the FumeFX Follow operator to delete such particles.
- In Stoke, particles attempting to leave the simulation grid will get a velocity of zero and will stop at the border of the grid, producing less artefacts. Deleting these particles would be possible using Magma and Krakatoa Delete.
- Below is a comparison of Particle Flow particles advected using FumeFX Follow (top), and the same setup in Stoke (bottom):
Stoke 2.0 Velocity Fields
The Stoke MX Particle Simulator can access the Velocity channel of Stoke Field Magma and Stoke Field Simulator objects which are now part of Stoke MX 2.0.
- The Stoke Field objects opens the door for complex custom simulation setups, blending of velocity data from various sources in creative ways and much more.
Velocity Fields From Particle Systems
Stoke MX can use the velocities of any 3ds Max particle systems, including Particle Flow, Legacy particles and Thinking Particles, to create Velocity Fields that affect Stoke simulations.
- The particles will be splatted on a staggered grid with dimensions based on the size of the particles bounding box.
- The grid will then be padded with N voxels on each side to handle boundary conditions. This is controlled by the Grid Padding value.
- The Grid Spacing parameter defines the voxel size of this grid - the higher the value, the more smoothed out / blurred the velocity data will become as more and more particles fall into the same voxel. The Grid Spacing is not animatable over time and must be selected correctly in the beginning of the simulation.
- The Velocities of the particles can be taken As Is, or converted to Fluid Motion by removing the Divergence from the Grid. This recalculates the Velocity Field as an uncompressible fluid without any Sinks and Sources. In other words, at every point in the grid, the amount of fluid coming in will be equal to the amount going out.
- The Grid Spacing, Padding, and Create Fluid Motion options can be specified either globally for all particle-based velocity sources in the Stoke object, or individually per source. In the latter case, the same particle source can be picked more than once and set to use different Spacing, Padding and Fluid Motion settings to achieve advanced results - see the Stoke MX and Legacy Particles tutorial for an example.
Velocity Fields From 3ds Max Legacy Particle Systems
Stoke MX can use the particles of all 3ds Max legacy particle systems as velocity sources to drive the Stoke particles.
- The Legacy Systems were implemented between 3ds Max 1.0 and 3.0 and are thus quite outdated, but at the same time very easy to use.
- The Legacy Systems include Spray, Snow, SuperSpray, Blizzard, PArray and PCloud and any 3rd party particle systems supporting the standard 3ds Max particle interface.
- The Legacy Systems do not support sub-frame sampling, thus setting the Stoke simulation to use sub-frames above 1 has no positive effect on the simulation quality when using Legacy Particles as Velocity Sources.
- The Legacy Systems support the PathFollow Space Warp which is not supported by Particle Flow. This makes them ideal for simple "follow the spline" type of simulations - see the last part of the Stoke MX and Legacy Particles tutorial for an example.
Velocity Fields From 3ds Max Particle Flow Systems
Stoke MX can use the particles of a Particle Flow system as velocity sources to drive the Stoke particles.
- When picking a Particle Flow source, the PFlow Events will be added instead - you can turn them on and off via the enable checkboxes, or remove the ones you don't want to use.
- Particle Flow supports sub-frame sampling.
Velocity Fields From Cebas Thinking Particles
Stoke MX can use the particles of Cebas Thinking Particles systems as velocity sources to drive the Stoke particles in a similar way to Particle Flow and Legacy Particles.
- Other than the Legacy particles, TP supports sub-frame sampling.