xpFlowField enables you to create custom velocity fields to affect your particles.
A flow field uses an array of vectors to control the movement of particles within.
It is especially useful for such things as chaotic movement, fluid movement, movement controlled by procedural formula and noise-controlled movement.
A flow field is an area of 3D space, divided up into a grid of smaller cubes or cells.
Each cell contains a parameter which is a velocity vector: a direction and speed of movement.
When a particle enters a cell, its direction is transformed to match that of the vector in the cell.
As it moves through the field it will enter other cells containing velocity vectors, that change its movement again; this will continue until the particle leaves the field.
The crucial factor in a velocity field is the arrangement of the vectors; these could be completely random or they could force the particle to follow a path.
xpFlowfield offers a number of ways to set these vectors.
General tab
General tab settings menu.
Enabled
On, by default, this box can be unchecked to disable xpFlowField.
xpFlowField enabled, with the Layers setting of Random.
Layers
To add layers to this list, select the layer type from the Add menu button below the list; you can add as many layers as you wish.
At any point you can temporarily disable a layer by unchecking the box on its left.
Each layer has a different set of options.
To edit these options, click a layer to select it, and then they will appear in the Layer Options section.
You can also reorder the layers by dragging them above or below other layers; for blending purposes the layer order is important.
Add
Use this menu button to add layers to the Layers link field.
The options are: Random, Shader, Target, Along Spline, To Spline, Surface Tangent, Particles, Turbulence, Curl, ExplosiaFX, Import, Fields and Surface Flow.
Strength
The overall strength of the flow field.
The higher this value, the greater the effect on the particle.
When a particle enters a cell, its direction will change to that of the vector in the cell but this will result in an abrupt change of direction, which may be undesirable.
This parameter controls how quickly the direction changes.
Low values cause a slow change and a smoother curve, but with low values the particle may leave the cell and enter another before the change in direction is completed.
The value in this parameter will depend on a number of things including particle speed, cell size and how desirable it is that the particle fully completes its change of direction before leaving the cell.
Animation to demonstrate the effect of increasing the Strength parameter.
Cell Size
The size in scene units of the individual cells.
Each cell is a cube, which does not change, whatever the size or resolution; the cell has the same dimensions on each side.
This animation shows how decreasing the Cell Size value affects the overall scene.
Size
The size of the flow field box in screen units.
You can also change the size by dragging one of the resizing handles of the object in the viewport.
Note: As you increase or decrease the size, the number of cells along that axis will change.
Field
Set as Direction, by default.
This setting determines what the flow field does to the particle.
The alternatives are: Velocity and Acceleration.
Direction
The flow field will alter the particle direction but not its speed.
The rate of changing direction will depend on the Strength parameter.
Velocity
The flow field will alter the particle direction and its speed, up to a maximum speed, which is set in the Speed parameter.
The rate of changing direction and speed will also depend on the Strength parameter.
Acceleration
The flow field will alter the particle speed and the speed will continue to increase while the particle remains in the flow field box.
The rate of speed increase is set in the Acceleration parameter and the direction will only change if the Acceleration value is greater than zero.
The rate of changing direction and speed will, once again, depend on the Strength parameter.
Invert
If enabled, this will invert any direction change caused by the flow field.
Speed
If Field is set to Velocity, this is the maximum speed the particle will reach.
If this value is lower than the particle's current speed, it will slow down to that speed.
Acceleration
If Field is set to Acceleration, this is the rate of speed change while the particle remains within the flow field box.
Negative values are possible and have the effect that the particle speed will slow to zero then accelerate again, but with a reversed direction.
Layer Options
All layers have this set of common properties:
Flow
This menu is the same as the Add menu below the Layers list.
It enables you to change from one type of layer to another without having to delete the layer and add a new one.
Invert
If enabled, the vectors generated by this layer are inverted.
Blend
This is a powerful option, which lets you blend layers together.
Each layer is automatically blended when it is added.
When two layers are blended they use the algorithm selected from this menu, which can be different for each layer; the blend is weighted by the Strength setting.
Normal
The default setting, when more than one layer is in the scene; vectors are simply using the Strength setting for the upper layer, which you can find in Layer Options and is 100%, by default.
This means there is no blending, the flow field is using the new, upper layer in the Layers link field for instruction.
Min
The smaller of the vectors from the layers is blended with the other layers.
Subtract
The upper layer is subtracted from the lower and the result is blended.
Multiply
The two vectors are multiplied together and the result is blended.
Max
The larger of the vectors is blended with the other layers.
Add
The two vectors are added together and the result is blended.
Strength
This is the blend weight used to blend a layer with the layer(s) beneath it.
Note: A value of 0 (zero) % will always result in the upper layer making no contribution to the final vector.
However, a value of 100% does not mean that only the upper layer is used for the vectors, except when Blend is set to Normal.
Additional Parameter Settings
There are additional parameters which are specific to certain layers only.
These are detailed below.
Random layer
This layer simply generates random vectors; there are no additional settings.
Animation to demonstrate the Random layer settings.
Shader layer
In this layer, a shader is used to generate vectors.
There are six additional settings.
This animation shows the effect of a Gradient shader in the Shader layer settings.
Shader
Use this link to specify a shader to use here.
By far the most useful are shaders that can be animated, such as Noise, but you can use any shader.
Note: If you set Color to Direction to Gradient, you must enter a gradient shader here or the layer will have no effect.
The parameters of the shader can have very significant effects on the result.
For a Noise shader, for example, changing the noise type, octaves, space, scale, animation speed, cycles, high and low clipping, brightness and contrast will all markedly affect the flow.
Note: The shader only affects the flow field vectors.
What direction the particle moves in will be influenced by the vector, but also by other factors, not least of which is the direction the particle was moving in when it entered the flow field.
Color To Direction
The default setting is Gradient.
This will use the brightness of the gradient knots to determine the direction.
The vectors will be oriented to the brightest color, but the actual color is not relevant.
If there is no brightness gradient, it will have no effect.
The other options are: Red, Green and Blue, Red Only, Green Only, Blue Only, Red and Green, Red and Blue and, finally, Green and Blue.
Zero Non-Mapped Colors
If this is enabled, there will be no contribution to the vector from any color which is not mapped, as determined by the Color To Direction parameter.
If it is unchecked, any non-mapped color will contribute to the direction vector using its raw value.
Note: Such values, if non-zero, will always be positive.
Brightness to Strength
If enabled, this causes each vector in the flow field to be assigned a strength, depending on the overall brightness of the sampled color.
Animate Flow
If you are using an animated shader, such as animated noise, or have keyframed a parameter of a shader and you want the flow vectors to change as the shader changes, check this box.
If it is unchecked, the flow vectors will not change even if the shader does.
The setting has no effect if the shader is not animated, but it will cause the flow vectors to be re-calculated each frame, which may slow the simulation considerably.
For this reason the box is unchecked by default.
Resample Layer
It can sometimes happen that making changes to the shader won't alter the flow vectors until you rewind the scene.
If it is already at the start, you would need to advance at least one frame, then rewind, to update the vectors.
This is inconvenient so, if this happens, you can click this button at any time to force the flow field object to update the vectors from the shader.
Target layer
The vectors point towards a target object.
There are four additional settings.
In this animation, a Capsule has been dropped in the Target field, to illustrate the Target layer settings.
Target
Drag the object to be used as the target into this field.
As soon as you do, you will see the vectors change to point to the object and if you move it around the vectors re-orientate to point to it.
The object can be anything - a null object is fine - and once you have arranged the vectors to your liking you can delete the object.
Alternatively, you can leave it in place and animate its position and the vectors will constantly re-orientate themselves.
Cell Strength
Target mode offers several ways to alter the strength of the effect applied by each vector.
The main Strength setting will affect all cells in the object in the same way, but you can vary the individual cell strength with this drop-down menu.
Constant
The default setting; the cell strength is at maximum in all cases, regardless of distance from the target object.
By Distance
With this option, the maximum distance of any cell from the target object is calculated and then each cell is assigned an individual strength value, depending on how far the cell (not the particle) is from the target.
The closest cells to the target then have the greatest strength, while those which are farthest away have the weakest.
The value obtained for each cell is then adjusted by multiplying by the Strength Falloff setting and then again by the Strength setting to give the final result.
Strength Falloff
With this drop-down the strength of each vector can be altered depending on how far the particle (not the cell in this case) is from the target.
The default setting is None.
Other options are: Boundary, Linear and Inverse Square.
None
The strength of effect is not altered by the particle distance from the target.
Boundary
In this case, the effect strength is zero if the particle is outside the boundary (as determined by the Falloff Boundary setting) and at maximum if it is inside the boundary.
Note: A strength of 0 (zero) will mean that the particle direction will not be affected by the vector at all.
Linear
The strength of effect varies linearly with the distance of the particle to the object, being 0 (zero) outside the boundary and at maximum when the particle is at the target position.
Inverse Square
The same as Linear, except that the strength decreases by the square of the distance.
This causes a very rapid falloff and leads to little or no effect until the particle is very close to the target.
Falloff Boundary
The boundary of the effect if Strength Falloff is set to anything other than None.
It is shown as a yellow sphere in the viewport.
Along Spline, To Spline, Surface Tangent and Surface Normal layers
There are six additional identical settings for these layer types.
Along Spline
This option requires a spline object.
Here the flow vectors will point in a direction, which is at a tangent to the nearest point in the spline.
Animation to show the effect of a Helix spline, used as the object in the Along Spline layer settings.
To Spline
This option also requires a spline object but differs from Along Spline in that the vectors point towards the nearest point in the spline.
A Flower spline has been dropped in the Objects window, to illustrate the To Spline layer settings.
Surface Tangent
This option requires a polygon object.
The vectors point along a tangent to the surface normal.
This animation demonstrates the Surface Tangent layer settings, with a Capsule dropped in the Objects window.
Surface Normal
This option requires a polygon object.
The vectors point in the same direction as the normal of the nearest polygon.
Similar settings to the above animation, using a Capsule, except this animation illustrates the effect of the Surface Normal layer settings.
Objects
Drag the splines or polygon objects (depending on the layer type) into this list.
You can use multiple objects.
Falloff
If checked, the falloff Distance and Spline settings become available.
If it unchecked, the falloff spline has no effect.
Distance
Grid cells which are further away than this distance from the object(s) have a strength value derived from the right-hand end of the spline.
The closer the cell is to the object, the more the strength value is shifted to the left of the spline.
Spline
The spline used to derive the cell strength, depending on how far a cell is from the object.
Direction
Only available in Surface Tangent mode.
This is a drop-down menu, which controls direction of the vectors.
The default setting is Polygon.
Polygon
The vectors are derived from the surface normal of the polygon nearest the cell.
They will be tangential to the normal in Surface Tangent mode but point towards the polygon in Surface Normal mode.
Local X, Local Y and Local Z
The vectors are derived from the surface normal and a vector pointing along the respective axis of the flow field object.
This has the effect of pointing the vector along that axis while remaining tangential to the surface (Surface Tangent mode) or towards it (Surface Normal mode).
In these modes, rotating the flow field object will not affect the direction of the vectors.
World X, World Y and World Z
The same as for Local X, Local Y and Local Z, but rotating the flow field object itself will affect the tangent direction.
Object
In this mode, you can add a separate object to the Object field and the tangents are then derived from the surface normal and the position of this object.
This mode behaves like Local X, Local Y and Local Z, but the vectors are aligned to point to the object.
Origin
Each vector is derived from the surface normal and the position of the cell the vector is in.
Object
The object to use when Direction is set to Object.
Particles and ExplosiaFX layers
With these two modes, the same settings as for one of the four spline or polygon object modes are used, but with these two additional options.
Particles
In this mode, the flow field will track the movement of a stream of particles through it and, for each cell, the vector will be altered to point towards the nearest particle.
Add one or more emitters to the Objects list, rather than polygon or spline objects.
In this animation, demonstrating the Particles layer options, the xpEmitter_Particles emitter has been dropped into the Objects window.
ExplosiaFX
This mode will display the vectors generated by ExplosiaFX object(s).
Add one or more ExplosiaFX objects to the Objects list, rather than polygon or spline objects.
This animation shows the ExplosiaFX layer settings, with xpExplosiaFX having been dropped into the Objects window.
Type
Set as Direction, by default, this controls how the flow field vectors are influenced by the particles.
The alternative is Velocity.
Direction
The flow field will depend on the particle direction, but its strength is not affected by particle speed.
Velocity
The flow field will depend on the particle direction and its strength is affected by particle speed.
Smoothing
This setting is used to smooth out abrupt changes in vector direction as the particles move in the flow field.
Turbulence and Curl layers
There are two additional settings for these two layer types
Animation to demonstrate the effects of the Turbulence layer options.
This animation shows the Curl layer effects.
Scale
Increases or decreases the scale of the turbulence (or curl).
Smaller values give less variation between the vectors in adjacent cells, leading to smoother, more flowing particle movement.
Larger values give more variation between cells leading to more chaotic movement.
Note: Values above 100% may show little change compared to a 100% setting.
Frequency
This affects the rate of change of the vector in each cell.
High values give a high rate of change and, if too high, the particle movement becomes almost random.
Low values reduce the rate of change, but can give some very interesting results.
Import layer
There is just one additional setting for this layer type.
FGA File
Use this field to select an .FGA file.
The file will be loaded automatically and vectors created from it.
Fields layer
The options available are the standard interface for creating and editing a Field object.
In this animation, demonstrating the Fields layer, a Cone Field and a Torus Field are both being used.
Surface Flow layer
With this layer, the vectors will cause particles will flow over and around an object.
There are four additional parameter options available.
With a Torus dropped into the Objects window, this animation shows the effects of the Surface Flow layer settings.
Objects
Drag the objects you want to use into this layer.
These must be polygon objects or primitive objects, which - if made editable - would be a polygon object.
Direction
This is the direction of the vectors and is set at World Z, by default.
Local X, Local Y and Local Z
The vectors are oriented along the selected axis of the flow field object.
Moving/rotating the flow field object will cause the vectors to retain the same orientation to the flow field object.
World X, World Y and World Z
The vectors are oriented along the selected axis of the 3D world.
Moving/rotating the flow field object will cause the vectors to change their orientation in respect to the flow field object.
Object
The vectors point towards an object, which you specify in the Target field.
Target
Only available if Direction is set to Object.
Drag the object the vectors should point towards into this field.
Animated
If the object in the Objects list is not animated or if it is animated and this box is unchecked, only the object shape is used in generating the vectors.
If it is animated and this setting is enabled, the velocity of the object is used in calculating the vectors, in addition to the object shape.
Actions tab
Actions tab menu.
Actions on Escape
When a particle leaves a flow field box, the object will trigger any actions in the Actions on Escape window.
You can use this to kill particles which leave the box.
Drag any actions to be triggered on leaving the box into this window.
Add Action
Click this button to create a new action and add it to the list.
Export tab
Export tab menu.
These controls allow you to export a flow field as an .FGA (Fluid Grid ASCII) file.
Strength Multiplier
This setting will multiply the magnitude of the vectors, which gives particles their initial speed.
By default it is set to 1, which leaves the vectors unchanged.
Export File Name
This is the file to which the flow field will be exported.
The file will not actually be exported until you click the Save Flow Field button.
Save Flow Field
Click this button to save the flow field to the specified file.
Display tab
Display tab parameter settings.
Show Vectors
Enabled by default, if this box is unchecked the vectors will not be shown in the viewport.
Direction Only
This setting is only available if Type is set to Line or Arrow.
When enabled, the vector display will show vectors which are all the same size.
In this case, vector strength is shown by the color from the Color parameter.
If this is disabled, the size of the vectors will be dependent on the strength of the vector.
Type
The shape used for the vectors.
The default is Trail.
The other options are: Line, Dot and Arrow.
In Trail mode, a trail is drawn to show changes in each voxel over time.
Mode
Set as XY Plane, by default, with this menu you can alter how the vectors are shown.
Voxels
A vector is shown for each voxel.
XY Plane, YZ Plane, XZ Plane
A single column or row of vectors is shown in the center of the object.
These options give more clarity than a full voxel display, especially with high resolution grids.
Transparency
Use this control to alter the opacity of the vectors.
This is useful if the vectors are obscuring other details.
Color
This gradient is used to color the vectors according to their strength.
The weakest vectors use the color from the left-hand end of the gradient, while the strongest ones use the color from the right-hand end.
Length
Only used when Type is set to Trail. It is the length of the trail shown in the display.
Groups Affected tab
Groups
To specify the group, drag and drop the desired Group object into this field.
This setting is useful if you want to ensure that the spawned particles are, or are not, affected by xpFlowField.
Mapping tab
The modifier’s settings can be mapped to particle data.
Use the dedicated manual page, below, for instructions on how this works.
Fields tab
You can use the Fields options to control where xpFlowField operates.
Copyright
2023 INSYDIUM LTD. All rights reserved.










