Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page provides information on the Particle Tuner component.

Overview

...

The Particle Tuner uses custom logic to directly affect the particles of the Phoenix Simulator. It allows you to do very specific tweaks of the simulation which would otherwise be hard to achieve. It goes through all particles in the system from the Affect list changes the values only of those particles that pass the custom condition you created. Example Conditions and Actions would be: 

...

Unlike the Phoenix Mapper, the Particle Tuner can also delete particles from the simulation.

UI Text Box
sizemedium
typetip

The Particle Tuner is a powerful tool and it will not stop you from creating expressions such as "If the Age is higher than 0, delete the particle". This will kill all particles immediately after they are born which may cause confusion, so you must be careful.

Note that the Particle Tuner affects all Phoenix Simulators in the scene unless they explicitly exclude it.

UI Text Box
sizemedium
typewarning

Please note that in order to correctly copy/clone a Particle Tuner in Maya, you must use Edit -> Duplicate Special and check 'Duplicate input graph' and 'Assign unique name to children nodes'.

...

Delete Particle | tun_act_op_del – When the condition of the Tuner passes for a particle, it will be deleted. If this action is selected, Change Particle Channel and Affect By Forces will have no effect. Note that this is superior to the Clear Inside option from the Chaos Phoenix Per-Node Properties because it can also work for particles outside the simulation grid.

...

Buildup Time (sec) | buildup_time – Specifies the time it takes (in seconds) for the Channel to gradually reach the specified Action Value. If Buildup Time is 0, the effect is instant.

UI Text Box
sizemedium
typenote

If the Buildup Time is set to 0, the specified Action will be executed for every step of the simulation. If the Steps per Frame parameter of the Simulator is set to a value higher than 1, the specified Action will be executed multiple times for a single frame.

Time Scale different than 1 will affect the Buildup Time of Particle Tuners. In order to get predictable results you will have to adjust the buildup time using this formula:
Time Scale * Time in frames / Frames per second

...

Anchor
editConditionWindow
editConditionWindow

Edit Condition Window

...

medium
UI Text Box
size
typeinfo

The Edit Condition window is at the core of the Phoenix Particle Tuner. It consists of a Conditions Tree on the left and a Parameters panel for the individual elements in the tree on the right. The Delete ParticleChange Particle Channel or Affect By Forcesactions will only be executed for the particles of the Simulator which satisfy the conditions tree.

The Conditions Tree is made up of the following expression types: Logic, Compare, Math, Value.

Folding (collapsing) of a tree item in the view to the left will show you a simplified view of the expression. For example, collapsing the tree in the image below will change its text to "Age > 1.000", meaning the Particle Tuner will affect only particles whose Age channel is higher than 1 second. You can also read a simplified view of the entire condition expression in the text box below the Edit Condition... button.

...

Section

Value Expression Item


Anchor
valueExpression
valueExpression

UI Text Box
sizemedium
typeinfo

The Value Expression Item is the lowest level operator. It expects no sub-expressions but can be converted to a Math Expression by selecting it with the right mouse button in the Conditions Tree.

The Value Expression Item returns a raw number which can be either the value of a Particle Channel or a Texture for a given particle of the Phoenix Simulator, a manually-specified number in a certain range or the distance between a given particle and an object in the scene.



Numberval_typeval_number – returns the specified value.

Random Betweenval_type, val_rand_min, val_rand_max – returns a random number in the selected range. Note: a different value is generated for each particle of the Simulator. The value also changes for every frame.

Channelval_type, val_chan_part – returns the value of the specified Simulator Particle Channel for the current particle. You must have this particle channel enabled in the Output rollout of your Simulator. The Channel can be one of: [ Size ], [ Age ], [ Viscosity ], [ RGB Red ], [ RGB Green ], [ RGB Blue ], [ Velocity X ], [ Velocity Y ], [ Velocity Z ], [ Speed ]. You can find out more about the usual grid channel ranges in Phoenix here.

Distance Toval_typeval_dist_node – returns the distance from the current particle to the surface of the specified object. Will be positive if the particle is outside the object volume, and will be negative if the particle is inside the object volume. The distance is in simulation grid voxels. Note: currently you can only pick polygon meshes - measuring distance from the current particle to a nearest particle from a particle system is currently not supported.

Intensity Ofval_typeval_tex – returns the specified texture's color intensity in the position of the current particle. The Phoenix Simulator has no Explicit UV coordinates therefore you should add the texture as a projection (right click on a texture in the "Create Render Node" window → Create as Projection) for this to work.

...

Section

Compare Expression Item


Anchor
compareExpression
compareExpression

medium
UI Text Box
size
typeinfo

The Compare Expression Item evaluates to true if the specified condition is valid based on the provided sub-expressions. Otherwise, it evaluates to false.

To create a Compare Expression Item in the Conditions Tree, right-mouse-button click either on a Logic or a Compare expression and select "Replace with: New Comparison".


 

Compare Type | comp_type – Sets the comparison type to perform:

When set to "Is Greater Than", the Compare expression for a given particle will be true when the first Math/Value expression item should return a value larger than the second.

When set to "Is Less Than", the Compare expression for a given particle will be true when the first Math/Value expression item should return a value smaller than the second.

When set to "Is Equal To", the Compare expression for a given particle will be true when both Math/Value expression items evaluate to the same number.

...

Section

Math Expression Item


Anchor
mathExpression
mathExpression

medium
UI Text Box
size
typeinfo

The Math Expression Item returns a number calculated according to the specified Math Type and the provided sub-expressions.

To create a Math Expression Item in the Conditions Tree, right-mouse-button click either on a Math or a Value expression and select one of the "Replace with: (this) ..." options which contains a "+" , "-", "*" or "/" symbol.


 

Math Typemath_type – Sets the mathematical operation type to perform:

When set to "Plus", the Math expression returns the sum of the two Math/Value expressions below it.

When set to "Minus", the Math expression returns the difference of the two Math/Value expressions below it.

When set to "Multiplied by", the Math expression returns the product of the two Math/Value expressions below it.

When set to "Divided by", the Math expression returns the quotient of the two Math/Value expressions below it.

...

Section

Logic Expression Item


Anchor
logicExpression
logicExpression

medium
UI Text Box
size
typeinfo

The Logic Expression Item is a top level operator which returns a value of either True or False, depending on the specified Logic Type and the provided sub-expressions.

To create a Logic Expression Item in the Conditions Tree, right-mouse-button click either on a Logic or a Compare expression and select one of: "Replace with: (this) AND ... " or "Replace with: (this) OR ...".


 

Logic Type | logic_type – Sets the type of logic to use: 

When set to "And", both Compare expressions below should evaluate to true for a given particle for the Logic Expression to be true. 

When set to "Or", at least one of the two Compare expressions below should evaluate to true for a given particle for the Logic Expression to be true.