User Tools

Site Tools


reference_guide:thinkingparticles_nodes:operator_nodes:dynamics:udeflectoroperator

UDeflector

image116.gif

The UDeflector Operator lets you use any geometry object in your scene as a deflector for your particle Groups to interact with.

Operator Inputs 

ON - (Bool) This input data stream determines whether the operator is considered 'on' or 'off'. You can connect other operators to this input channel such as a Bool Helper to activate/deactivate the whole operator.

Time - (Time) This input data stream is used to define the local time for the operator when the user wants to override the default system time.

Node - (Node) Connect any operator or helper node that offers an output data stream to this input. This node will be used to test the particles against a true surface collision with the connected node object. In order for this operator to function, you MUST connect a node to this input data stream.

Particle - (Particle) Connect any other particle data stream to this input data stream port. You MUST connect a particle node to this input data stream in order for this operator to function.

Operator Outputs 

Position - (Position) This output data stream supplies the current particle position to other operators.

Normal - (Normal) This output data stream supplies the normal vector at the collision point for further processing.

Alignment - (Alignment) This output data stream provides the current alignment of the particle to other operators or conditions.

Collision - (Bool) This Boolean value indicates if a collision for the current particle occurred.

Velocity - (Velocity) This output data stream provides the current particle velocity to other operators or conditions.

UVW - (Vector) This output data stream holds the current UVW coordinate at the collision point on the object's surface.

Face ID - (Integer) This output data stream holds the Face ID at the collision point on the selected object's surface.

Face Coordinates - (Vector) This output data stream holds the Face Coordinates at the collision point on the selected object's surface.

Collision - this output is meant for ME-L integration and needs to be connected the equivalent input of the Expression ME-L node. Handling particle collisions programatically can be easily achieved by using UDeflector and ME-L.

Rollout Menu

image117.gif

Bounce - This spinner controls the amount of bouncing when a particle hits the selected object's surface. Values above 1.0 will create energy with each bounce, while values lower 1.0 will reduce energy per bounce event.

Variation [%] - This spinner sets the amount of variation within the Bounce parameter. When the value is increased, more particles will bounce differently. Use this option to get rid of the sterile uniformity in the bounce of particles.

Energy Depend - Use this spinner to force the particle bounce value to a more “energy based” behavior. In other words, faster particles will bounce more than slower particles as the value is increased.

Surface [%] - This spinner controls the “spring-off” angle after the collision has occurred. The higher this value gets the more the angle is tilted towards the surface of the object. At 100%, particles will appear to be sticking on the surface like water running down a curved surface.

Chaos [%] - When this spinner value is increased, the bounce off angles become more random. When chaos equals 0 the bounce off angle will be based on physically correct rules (incoming angle = outgoing angle). This is a great feature to simulate uneven terrain with particles bouncing off in all directions.

Friction [%] - Increase this spinner value to add a constant friction to the particles that collide and slide along the selected object's surface. Higher values will make the particles slow down very fast when sliding on the object's surface.

Vel Inherit. - This spinner sets the amount of Velocity Inheritance applied to particles hitting the surface. In contrast to the 3ds Max's own UDeflector, thinkingParticles's UDeflector is able to work with non-moving particles and transfer impulses to them.

Random Seed - Change this spinner's value to make identical UDeflector setups look different from each other.

Collision 

Event Only - Activate this check box to use the UDeflector operator to detect the collision event/position only. When active, no “bounce-off” will happen to the particles hitting the surface. To process this event, the Collision output data stream can be used to activate other operators connected to this port.

UVW Channel - This spinner sets the UVW channel that should be used to get the UVW coordinates from the selected object's surface.

Front Side - Select this radio button in order to calculate collision detection on front faces only. Using this option will speed up the collision engine as it will only check for front faces.

Back Side - Select this radio button in order to calculate collision detection on back faces only. Using this option will speed up the collision engine as it will only check for back faces.

Two Sided - When this radio button is active, the collision engine will perform a two-sided collision test. Each collision on a surface will invoke a two face test, and this will result in slower simulation and rendering setup speed.

Collision Offset 

This sub-section of the rollout menu defines how the size (radius) of the colliding object should be handled.

None - Select this radio button when you want to use only the center point for collision detection between particles and the selected object's surface.

Particle Size (*Value) - When this radio button is active, the particle size is used as a radial distance to detect collisions between particles and the selected object's surface.

Value - When this radio button is selected, the Value spinner below is used to increase or reduce the particle size in relation to collision detection.

Value - This spinner is used to increase or reduce the particle size value. When checked the value itself is used as distance check. Keep in mind that this value influences the Particle Size option! Keep it at 0 to prevent unwanted side effects in the collision detection.

Variation [%] - This spinner is used to get more variation into the Value amount explained above.

Offset Axis - This drop down list lets you choose the orientation of the collision plane. Keep in mind that this plane is needed to keep the collision system highly optimized and efficient even with thousands of particles. A detection offset must be specified to help the Deflector in detecting a proper particle collision between a mesh surface and a particle.

thinkingParticles will move the particles along a defined axis to detect a collision in advance. This is like sending out a ray from the particle's position to seek for an object “in between”. For example, setting the Offset Axis to -Z will move the particle a bit further each step in the -Z direction to detect a possible collision. The proper choice of the Offset Axis is very important and depends on the orientation of the surface with which a particle will collide.

©2024, cebas Visual Technology Inc.

reference_guide/thinkingparticles_nodes/operator_nodes/dynamics/udeflectoroperator.txt · Last modified: 2025/05/09 22:06 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki