Advanced Features Thinking Particles Nodes TP Dynamic Group PDeflector
Function available in CINEMA 4D Studio
PDeflector

Basic Node Parameter

Parameter

On this page in the Attribute Manager, you will find all the parameters needed to set up collision detection for particles.

Object

The object that the particles should collide with.

Deflector Type
X Size [0..+∞]
Y Size [0..+∞]
Z Size [0..+∞]
Radius [0..+∞]

You have a choice of four collision modes. In Object mode, the particles will collide with any of the object’s polygons. However, for faster collision detection, you may want to use a box or sphere shape that approximates the shape of the object. In these cases, set Deflector Type to Box or Sphere. The size of the collision box is set using the X Size, Y Size and Z Size parameters, while Radius defines the size of the collision sphere. In Geometry mode, collision detection is at the polygon level provided that a geometry has been assigned to the particles.

Collision Type

There are two sides to each surface: the frontface and the backface. The frontface is the one from which the surface normal extends.

This setting determines whether particles should collide with frontfaces only (Front), backfaces only (Back) or both (Two Side).

Offset Type
Offset [-∞..+∞]
Variation [0..100%]

Especially when using large objects as particles, you will need to offset the distance at which collision detection takes place from the surface against which the particles rebound. This Offset Type enables you to define the type of offset used.

None

No offset will be calculated; the particles will collide directly with the surface.

Particle Size Travel
Particle Size X
Particle Size Y
Particle Size Z

The particle size (in its direction of travel) will be used for the collision detection; this is especially useful when the particle is stretched in its direction of travel.

The particle size along the X axis, Y axis or Z axis will be used for the collision detection, depending on which one of these three settings you choose.

User Defined Travel
User Defined X
User Defined Y
User Defined Z

This is the same option as Particle Size Travel except you can define the offset using Offset. In addition, you can vary the offset using Variation.

These settings have the same effect as Particle Size X, Particle Size Y and Particle Size Z except that you can define the offset using Offset. In addition, you can vary the offset using Variation.

Bounce [0..+∞%]
Variation [0..100%]

Bounce determines how much energy the particles retain after a collision. With a value of 0%, the energy of the particles will be absorbed completely. You can vary the Bounce value using the Variation parameter.

Surface [0..100%]

With hard surfaces and hard particles, the angle of incidence should normally be the same as the angle of reflection. However, this behavior changes when liquids are involved, so you can adjust this behavior using the Surface value. A value of 0% reflects the particles normally, while a value of 100% reflects the particles parallel to the collision surface.

Energy [0..+∞%]

With an Energy value of 0%, all particles rebound in the same way. The energy of each particle then depends on its speed and mass. With Energy values greater than 0%, particles of high mass and low speed reflect less strongly than those with a low mass and high speed. A value of 100% simulates a mathematically correct behavior, taking into account the particle speed and mass.

Friction [0..100%]

When a particle moves along the surface (at a low angle or high Surface value), it will be slowed by friction. A value of 0% set here applies no friction to the particles and will not slow them down.

Spin [0..+∞%]

This allows you to apply spin to the particles at the time of the collision. The Spin value defines the angular speed of the spin. The direction of the spin will be calculated automatically based on the direction of flight and the collision angle.

Chaos [0..100%]

The Chaos value distributes friction unevenly over the surface. This will scatter the particles as they move over the surface.

Vel. Inheritance [-∞..+∞%]

Determines how strongly the particles inherit the velocity of the surface with which they collide. Think of a ball that bounces off the bumper of a moving car. The ball will inherit the velocity of the car in addition to its own velocity.

A value of 0% means that none of the surface’s velocity is inherited by the particles, while a value of 100% means that the velocity is inherited completely.

Event Only

If this option is enabled, the node merely detects collisions, the velocity of the particles is not changed by the node. This is especially useful for triggering events when particles collide with particular surfaces.

A particle stream emitted from a Null object; the particles are given a shape and are assigned to a group. The particles in this group are now passed to a PDeflector node, which has a large sphere assigned to it, so that the particles bounce off the sphere, as shown.

Additional input ports:

Particle

Connect this port to the stream of particles that should collide with the surfaces, such as to the Particle output port of a PPass node.

On

A Boole value of True switches the node on; a value of False switches it off.

Animation Time

Since the node’s parameters can be keyframe animated, by default the Cinema 4D time is used internally to ensure that the values are interpolated correctly. However, you can pass your own time value to this port. This should be of the data type Time, which is a Real number in the simplest case. If no value is passed, Cinema 4D’s time is used.

Output ports:

Event

Outputs the Boole value True for each particle that has collided with a surface at the current frame.

Event Position [XYZ ]

Outputs the positions, as vector values, where particles have collided with surfaces at the current frame.

Event Normal

Outputs the direction of the surface normal at the positions where particles have collided with surfaces.

Event Reflection

Gives the angle of reflection of each particle after the collision.