Date: Thu, 28 Mar 2024 15:04:25 +0000 (UTC) Message-ID: <1444603159.2862.1711638265900@confluence-prod.c.chaos-bs-production.internal> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_2861_93026043.1711638265899" ------=_Part_2861_93026043.1711638265899 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
This page provides information on the Particle Tuner component.<= /p>
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 sim= ulation which would otherwise be hard to achieve. It goes through all = particles in the system from the Affect list cha= nges the values only of those particles that pass the custom condition you = created. Example Conditions and Actions would be:
If the Viscosity of a particle is higher = than 0.5, then delete the particle.
If the distance from a particle to a mesh= is less than 5, then reduce the Size of th= e Foam particle in the simulation.
If the RGB color of the particle is Red, only then affect = the particle with a 3ds Max Wind Force.
You can construct simple conditions such as comparing a value from a par= ticle channel to a number or measuring the distance from a particle to a me= sh, and you can also combine many conditions in a complex expression using = 'AND' and 'OR' logic. At each simulation step, the Particle Tuner will chec= k each particle against this condition and it will modify the particle only= if the condition passes. For example:
If a particle's RGB color is Red
This will essentially force the fluid to start solidifying if it is emit= ted from a Source whose RGB is set to Red, and 5 seconds have passed since = the fluid was emitted. Fluid which is colored differently will not be affec= ted by the Action, even if it's age is greater than 5= .
Unlike the Phoenix Mapper, = the Particle Tuner can also delete particles from the simulation.
The Particle Tuner is a powerful tool and= it will not stop you from creating expressions such as "If the Age is high= er than 0, delete the particle". This will kill all particles immediately a= fter they are born which may cause confusion, so you must be careful.
Note that the Particle Tuner affects all Phoenix Simulators in the scene u= nless they explicitly = exclude it.
Enabled | tun_enabled =E2=80=93 Anim= atable checkbox that turns on and off the effect of the Particle Tuner.
Affect | tun_affectpartsys =E2=80=93&nbs= p;Allows the Particle Tuner to separately affect the Liquid, Foam, Splash o= r Mist particles. You can also affect Drag particles in a Fire/Smoke s= imulation, but note that you cannot change their Velocity channel - they ar= e simply dragged by the fluid. You could affect any Drag particle system by= typing Drag in the list, or you can affect specific&nbs= p;Drag particle systems by using their exact names.
When [ Edit Condition... ] =E2=80=93 Ope= ns the Edit Condition= a> window. The Edit Condition window is used to construct a sequence o= f tests which are evaluated for every particle of the Phoenix Simulato= r, at each simulation Step. If the particle satisfies the condition, the se= lected Then actions are performed - Delete Particle, Change Particle Channel&nb= sp;or Affect By Forces. Otherwise, the particle = is ignored. By default, the condition is set to "Age > 1.000", ther= efore only those particles whose age is greater than one will be affected b= y the specified action. Time Scale different than 1 will affect the&= nbsp;Particle Age used by the Particle Tuners. In ord= er to get predictable results you will have to adjust the buildup time usin= g this formula: Time Scale * Time in frames / Frames= per second See the Particle Channel Ranges page for more= information on the channel ranges.
Then:
Delete Particle | tun_act_op_del =E2=80= =93 When the condition of the Tuner passes for a particle, it wil= l be deleted. If this action is selected, Change Pa= rticle Channel and Affect By Forces<= /strong> will have no effect. Note that this is superior to the Clear = Inside option from the Phoenix Per-Node Properties because it can also work for= particles outside the simulation grid.
Change Particle Channel che= ckbox | tun_act_op_chan =E2=80=93 When= the condition of the Tuner passes for a particle, you can choose which of = its particle channels will be changed and how:
Channel | tun_= act_chan =E2=80=93 Selects the Particle Channel to affect. No= te that if set to Viscosity or RGB, the channel value can be no lower than = 0 and no higher than 1 - Viscosity and RGB are clamped strictly inside this= range. The Channel can be one of: [ Size ], [ Age ], [ Viscosity ],&n= bsp;[ RGB Red ], [ RGB Green ], [ RGB Blue ], [ Velocity X ]= , [ Velocity Y ], [ Velocity Z ], [ Speed ].
Action | tun_<= em>act_chan_change =E2=80=93 Specifies the type of action to= perform on the selected Channel. You can choose to incre= ase or decrease the value at each simulation step, or set it directly to a = certain value.
Action Val= ue | tun_act_value = ;=E2=80=93 Specifies the value for the selected Acti= on.
Buildup Time (sec) =
| tun_buildup_time =E2=80=93 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.
If the Buildup Time is set to 0, the spec= ified 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 t=
han 1 will affect the Buildup Time of Par=
ticle Tuners. In order to get predictable results you will have to adjust t=
he buildup time using this formula:
Time Scale * Time in fra=
mes / Frames per second
Affect By Forces | tun_act_op_force, =
;tun_force_list =E2=80=93 When the condition of the=
Tuner passes for a particle, you can choose which forces will affect it. Y=
ou can pick 3ds Max forces, Phoenix forces, Mappers, or even other Voxel or=
Particle Tuners. Using this, you can for example tell a force to only=
affect the fluid inside a volume, or only affect fluid with certain speed,=
or even based on a texture mask. When using native 3ds Max forces in the T=
uner, you can limit them only to certain particle systems using the Affect list - without using a Tuner, all particle syste=
ms in a simulator would be affected.
With Multiplier |&n= bsp;tun_force_mult =E2=80=93 Multiplier f= or the strength of the forces. This is particularly useful for easily scali= ng the effect of 3ds Max forces over a Phoenix simulation.
&nb= sp;
The Edit Condition windo=
w 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 Particle, Change Particle Channel or
The Conditions Tree is made up of the following expression types: Logic, Compare, = Math, Value.
Foldi= ng (collapsing) of a tree item in the view to the left will show you a simp= lified view of the expression. For example, collapsing the tree in the imag= e below will change its text to "Age > 1.000", meaning the Particle Tune= r 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.
The Value Expression Item= is the lowest level operator. It expects no sub-expressi= ons but can be converted to a Math Expression Item 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 o= r a Texture for a given particle of the Phoenix Simulator, a manually-speci= fied number in a certain range or the distance between a given particle and= an object in the scene.
Number | val_type, = val_number =E2=80=93 returns the specified value.
Random Between | val_type, val_rand_m= in, val_rand_max =E2=80=93 returns a rand= om number in the selected range. Note: a different value is generated for e= ach particle of the Simulator. The value also changes for every frame.
Channel | val_type, val_chan_part =E2=80=93 returns the value of the specified Simulator Par= ticle Channel for the current particle. You must have this particle channel= enabled in the Output rollout= a> of your Simulator. The Channel can be one of:[ Size ], [ Age ], [ V= iscosity ], [ RGB Red ], [ RGB Green ], [ RGB Blue ], [= Velocity X ], [ Velocity Y ], [ Velocity Z ], [ Speed ]. You can= find out more about the usual particle channel ranges in Phoenix here.
Distance To Mesh | val_type,
Distance To Particle | val_type, <=
em>val_dist_to_part_list =E2=80=93 returns the =
distance from the current particle to the nearest particle from the particl=
e systems specified in the From&nb=
sp;field. The distance is in simulation grid voxels. You can specify=
multiple particle systems in the From field by using commas between each one e.g. Drag,Foam,Splashes.
Particles in Radius | val_num_part_in_dist_rad, val_= num_part_in_dist_list =E2=80=93 returns the particle= count of the particle systems specified in the F= rom field in a radius from the current particle.= The radius is in simulation grid voxels. You can specify multiple particle= systems in the From f= ield by using commas between each one e.g. Dr= ag,Foam,Splashes.
Texture | val_type, val_tex=
=E2=80=93 returns the specified texture's color intensity in the=
position of the current particle. The Phoenix Simulator has no Explicit UV=
coordinates therefore the texture's Mapping sho=
uld be set to Planar from Object or
The Compare Expression Item evaluates to true if the specified condition is valid based on the prov= ided sub-expressions. Otherwise, it evaluates to false.
To create a C= ompare Expression in the Conditions Tree, right-mouse-button click either o= n a Logic or a Compare expression and select "Replace with: New Comparison"= .
Compare Type | comp_type = =E2=80=93 Sets the comparison type to perform:
When set to "Is Greater Than", the Compare expression f= or a given particle will be true when the first = Math/Value expression item should return a value larger <= /strong>than the second.
When set to "Is Less Than", the Compare expression for = a given particle will be true when the first Mat= h/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/Valu= e expression items evaluate to the same numbe= r.
The Math Expression Item= returns a number calculated according to the specified Math Type= strong> 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 Item and select one of the "Replace with: (this) ..." op= tions which contains a "+" , "-", "*" or "/" symbol.
Math Type | math_type =E2=80=93 = ;Sets the mathematical operation type to perform:
When set to "Plus", the Math expression returns the&nbs= p;sum of the two Math/Value expressions below it.
When set to "Minus", the Math expression returns t= he 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 o= f the two Math/Value expressions below it.
The Logic Expression Item is a top level operator which returns a value of either True or False, depending on the specified Logic Ty= pe and the provided sub-expressions.
To create a Logic Expre= ssion 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 =E2=80= =93 Sets the type of logic to use:
When set to "And", both Comp= are expressions below should evaluate to true fo= r 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 tru= e for a given particle for the Logic Expression to be true.= p>