Branching Modifier

This modifier creates branching structures which can be used in a trail object or rendered with the X-Particles Branch Mesher.

Please see the notes below on using the Branching modifier before using it for the first time.


This modifier includes the following sections:

For the 'Groups Affected', 'Mapping', and 'Falloff' tabs, and for the buttons at the bottom of the interface, please see the 'Common interface elements' page.


General quicktab


If this button is unchecked, the modifier will be disabled (inactive).


Independent [default setting]

In this mode, the modifier will work in the same way as a standard Cinema 4D particle modifier: particles will be affected if they come into the field of effect of the modifier. X-Particle Actions have no effect on the modifier in this mode.


In this mode, the modifier will only act on a particle when told to do so by an Action. Until that point, the particle will not be affected, but once activated for a particular particle, the modifier will continue to influence it as long as it is in the field of effect of the modifier. The modifier's effect on a particle can be halted by means of another Action, if desired.

Action Only

This switch is only available in 'Action-Controlled' mode. It will force a branch to be generated when a Branching Modifier action is triggered which has the 'Force Branch' switch checked. By setting the 'Branch In' setting to longer than the 'Max. Length' setting, you can make the modifier only generate a branch when such an action is triggered.

Length Method

The modifier will set the maximum length of the initial 'stem' of the branched object using the method in this drop-down. The stem will have a length randomly selected between the 'Max. Length' and 'Min. Length' parameters. These length settings can be expressed in terms of time or distance. The settings therefore are:


The length is expressed in terms of elapsed time. The default is set to 3 seconds.

Distance Units

The length is expressed in terms of scene units. The default is set to 450 units (the distance travelled by a particle in 3 seconds at the default speed of 150 units/second).

You can use whichever setting meets your needs, it only changes the units used - there is no effect on the final result.

Max. Time, Min. Time (or Max. Distance, Min. Distance)

These are the upper and lower limits of the stem length. The units of these parameters will change depending on the 'Length Method' setting.

Bending Mode

The stem will deviate from its initial course as it grows. This is either done naturally or in a zigzag style. This drop-down will let you choose between them.

Bend In, Variation

The time between bends in the stem. The smaller the value, the more bends occur. Variation to the time can be added with the 'Variation' setting.

Max. Bend Deviation, Min. Bend Deviation

The degree of bending is randomly chosen between these values. The maximum possible value is 90 degrees. Set these values to zero to remove any bending.

Branching quicktab

This section contains the parameters for the branches from the initial stem

Add Branch Object

This button will add a Sub-Branch object to the Branch modifier. You must do this before any branches are generated. Once you have added a sub-branch this button is unavailable since only one Sub-Branch object per branch level is permitted.

Enable Branching

Unchecking this switch will disable branching from the stem and branching from any sub-branches (the entire hierarchy is disabled, in other words).

Legacy Mode

The algorithm used to calculate when to generate a branch has changed slightly to give a more controllable result when using the 'Branch In' and 'Variation' settings. If you have existing scenes whose branch structure you want to preserve, check this switch. The previous algorithm will then be used instead, giving the same result as previous versions of X-Particles.

Branch In, Variation

The time between branches from the stem. The smaller the value, the more often a branch is generated. Variation to the time can be added with the 'Variation' setting.

Branch From Base, Branch From Tip

These switches, if checked, force the modifier to branch from the base and/or the tip of the stem. If they are unchecked, branching from the base will never occur; branching from the tip may occur but only if the animation time happens to coincide with the time the modifier would branch at anyway.

Number of Branches

This is the number of branches that will be generated (at the same starting point on the stem or parent branch) each time branching occurs.

Max. Branches

The maximum number of branches that will be generated. Most of the time you can leave this setting alone.

Max. Branch Deviation, Min. Branch Deviation

The degree of deviation of the branch from the stem is randomly chosen between these values. The maximum possible value is 90 degrees.

Branch Speed Mode

This drop-down controls the speed of the newly-generated particle which forms the new branch. The options are:

Use Emitter Speed

The speed given by the emitter will be used. If a particle group is specified in the sub-branch object, the speed given in that group will be used; otherwise the speed given in the emitter itself is used.

Source Particle Speed

The speed will be set to the same as the particle which generated the branch.

Set Speed

The value in the 'Branch Speed' parameter will be used.

Branch Speed

The speed of the branch particle, if 'Branch Speed Mode' is set to 'Set Speed'.

Control Splines

There are three splines to control branch distribution, length, and angle of rotation:


This spline controls the distribution of branches along the stem. A value of zero means that no branch will occur at that point; a value of 100% means that a branch will occur, IF the time given in 'Branch In' indicates that a branch should be generated. Any other value is a probability that a branch will occur, again if the time in 'Branch In' would cause a branch to be generated at that point.

Branch Length

This is a scale spline which affects the length of the branches. It scales the value given in the branch length setting in the Sub-Branch object (not this modifier). You can use this to have long branches near the base and short ones at the tip, for example.

Rotation Mode

This governs the angle around the branch at which the branch emerges from the stem. This is NOT the deviation angle of the branch. If you imagine a 360 degree circle around the stem, this is the point on that circle where the branch originates. The drop-down has the following settings:


The branches will be generated from a random angle around the stem.

Use Spline

The spline will control the angle completely. The spline angle at the point the branch occurs is not an absolute value; it is an incremental value, added to the previous angle. For example, if you set the spline to have a constant value of 30 degrees, each time a branch is generated it will be rotated 30 degrees around the stem from the previous branch. This allows you to generate a completely regular structure around the stem.

Random Then Spline

The modifier will first select a random angle around the stem and will generate a branch. For all subsequent branches the angle will be incremented by the angle in the spline at that point along the stem.

Set Angle

The angle is given by the value in the 'Angle' parameter.

Set Angle Then Spline

The modifier will first set the angle around the stem from the 'Angle' parameter and will generate a branch. For all subsequent branches the angle will be incremented by the angle in the spline at that point along the stem.


The angle used in the 'Set Angle' and 'Set Angle Then Spline' modes.


The control spline used for controlling rotations.

Spawning quicktab

You can spawn from the particle used in the stem with these settings. If you also want to spawn from the branched particles, these same settings are used but you will also need to enable spawning in the Sub-Branch object.

Important note about Spawning

For spawning to work correctly, the Branch modifier MUST be added to the modifiers exclusion list of the spawning emitter. This will be done automatically if you use the 'Create Spawning Emitter' button or if you drag an emitter into the 'Spawning Emitter' link field. However, if you then remove this modifier from the exclusion list, or change the list to 'Include' rather than 'Exclude', or any other change which would allow this modifier to act on the spawning emitter, no spawning will occur.

This is a safety measure. Since X-Particles is threaded, using a spawning emitter which is then acted upon by the branch modifier means that the modifier will attempt both to spawn from the spawned particles and create branches from them. This can cause a crash, so allowing the modifier to act on an emitter it is using for spawning is not permitted.

Enable Spawning

Check this switch to enable spawning from the stem particle.

Spawning Emitter

The emitter used to generate spawns. This should NOT be the same emitter whose particles are generating the branches.

Create Spawning Emitter

Click this button to create a new emitter and add it to the 'Spawning Emitter' link field.


This is how the direction of the spawned particles is determined. There are two options:


The direction of the spawned particles is set to a random value, which in practice means that the spawns adopt a spherical distribution.

Source Particle

In this mode the direction of the new particles is the same as the source particle.

Spawned Particle Speed

This option controls the speed of the spawned particles. There are two options:


The spawned particle speed is determined by the spawning emitter.


The spawned particle speed is the sum of the source particle speed and the speed from the spawning emitter. If the spawning emitter sets a speed of zero, the spawns will have the same speed as the source particle.

Number to Spawn

The number of particles to spawn each frame.

Spawn Interval

The time interval between spawns. Set this to zero to spawn new particles each frame.

Use Random Offset

If checked, a small offset (derived from the particle radius) is applied along the spawned particle's direction of travel. This is to prevent a too-regular appearance of the spawns. If in fact you prefer the appearance to be regular, uncheck this switch.


Spawned particles can be assigned a new group. Drag the Group object you want to use into this link field.

Using the Branching Modifier

The Branching modifier is a complex modifier. Please read these notes if you are not familiar with its use.


Think of the modifier as producing something like a plant structure. It has a stem, which has branches coming from it, and these branches may themselves have branches, and so on. The number, position, length, rotation around the stem, etc. may all be set.


The Branching modifier itself only produces data used for the stem of the branched object. To generate actual branches you need a Sub-Branch object to be added to it as a child object. This can easily be done by clicking the 'Add Branch Object' button. The Sub-Branch object has a similar button which you can click to add a sub-branch to the branch - there is no limit to how many levels are generated. Usually from one to three is all that is needed.

Although the hierarchy can have any number of levels, each one can contain just one Branch object. There is nothing to prevent you from duplicating the Branch objects but they will do nothing - only the first one on each level is used.


The modifier will create an extra particle for each branch that is generated. This can result in quite a lot of extra particles! So if you have limited the number of particles that can be emitted from the emitter, you may not see any branches if the emitter has reached its limit. This is important if you only want to generate a small number of branched systems - don't do it by reducing the maximum particle count, instead use the Start/End emit settings in the emitter, or use Shot or Pulse or Defined Emission modes.

Visualising your branches

To see the branched structure, link a Trail object to the emitter. This will generate a branched structure which you can render with the XP material, or use in the X-Particles Spline Mesher object, or use in a Sweep object.