Hints, Tips, and Known Issues

This page contains a number of hints and explanations about X-Particles which will help you get the most from the system. There is also a section on 'known issues' where problems have been encountered and possible workarounds presented.

Hints and Tips

1. The control system

1.1 Why doesn't the Question appear to do anything?

There are several possible reasons for this:

  • the Question is not present in either of the Questions lists of the emitter. This may happen if you removed it manually from the list.
  • the Question is disabled in the Object Manager.
  • the Question is never tested by the emitter. This can happen if the Question is in the 'Test and Pass Once' list and is bypassed because another Question is answered first (see the Question object for more details).
  • the parameter tested never satisfies the condition. E.g. if you test particle age and wait until that is greater than the number of frames in the scene, the Question will never be passed.
  • the Question is being asked but the Action doesn't do anything (see below for possible reasons). It can be very helpful to have the Action alter the particle display, e.g. the editor colour, so that at least you know the Question is being asked and passing control to the Action.
1.2 The Action doesn't appear to do anything.

If this happens, first check that the Action is being called by the Question. If you make the Action alter the particle display, e.g. the editor colour, so you know that the Action is gaining control of the particle. Possible reasons why nothing apparently happens are:

  • the Action is not present in the Actions list of a Question object (and it must be the correct Question object - it's easy to drag an Action into the list of the wrong Question). If you use the button in the Question object itself to add an Action, you will avoid this problem.
  • the Action is disabled in the Object Manager.
  • the Action can't do anything because it lacks some piece of information. For example, to affect a modifier you must drag the correct modifier into the link field in the Action.

2. The Emitter

2.1 How to make the Emitter emit one single particle

The easiest way to do this is to set the Emission Mode to 'Shot' and the Shot Count to 1. There are other methods which may be better depending in what you are trying to do:

  • turn on Shot emission and set the shot count to 1
  • or set the Birthrate to 1, uncheck 'Emit in all frames' and set 'Start emission' to 0 and 'End emission' to 1
  • or turn on Pulse emission, set Birthrate to 1, and set the Pulse interval to longer than the scene length
2.2 How to emit particles from an object being generated by an X-Particles Generator object (or Sprite or Trail object)

For this you will need two emitters. For the first one, set it up as you like. Then add a Generator object and something for it to generate, such as a sphere. Link the Generator to the first emitter, and play the animation. You see spheres being generated, as you would expect.

Suppose you would like the spheres being generated to emit particles themselves. In the second emitter, set the 'Emitter shape' to 'Object'. Drag the Generator object into the 'Object' field. DON'T drag the sphere into that field - it won't work! Set up the second emitter as required and play. Now you see spheres which are also emitting particles.

You can do the same with the Sprite or Trail objects instead of a Generator object. You can also use the Trail object in a Sweep object and drop the Sweep object into the Object field of the second emitter so that particles are emitted from the Sweep object.

3. Using X-Particles with Pyrocluster

This is deprecated in X-Particles 3 and above: use the XP Material or Gaseous Material for volumetric rendering instead.

If you want/need to use Pyrocluster for some reason, it requires Thinking Particles, so first you must set up X-Particles to generate Thinking Particles. To do this:

  • in the Emitter object, Particles tab, Thinking Particles section, turn on 'Generate Thinking Particles'
  • optionally, drag a TP group from the Thinking Particles settings dialog and set any other options
  • set up Pyrocluster in the usual way - add a Particle Geometry and Environment object to the scene, create the two Pyrocluster shaders, apply the Volume Tracer to the Environment object and the Pyrocluster material to the Particle Geometry object.

That's really all you need to do.

4. Using the Hair material to render your particles

This is deprecated in X-Particles 3 and above: use the XP Material instead.

If you must use a Hair material to render your particles, it requires Thinking Particles, so follow these steps:

  • in the Emitter object, Particles tab, Thinking Particles section, turn on 'Generate Thinking Particles'
  • optionally, drag a TP group from the Thinking Particles settings dialog and set any other options
  • add a Hair material to the scene - this should set the Hair render options you need automatically
  • add a Particle Geometry object to the scene and apply the Hair material to that object
  • add a Hair render tag to the Particle Geometry object (Hair tags -> Render)
  • play and render the animation

One other point to note: the Thickness setting in the Hair material will control the size of the rendered particles.

5. Rendering splines

X-Particles allows you to render any spline, including those created by the Trail object, using the XP Material rather than the Hair material and without having to create geometry such as a Sweep object. Simply create the spline, assign an XP Material to it, and render.

6. The Trail object

6.1 How do you disable trails right from the start of an animation?

Normally, trails start to be generated as soon a particle is born. So how do you disable trails from particle birth and turn them on later? You do it with Actions. To turn trails off from the start, create a Question for the emitter which tests if the particle age is greater than zero. Add a Change trails action to the Question, and in the action set 'Per-particle effects' to 'Don't generate trails'. This will prevent trails from being generated. To turn them on, just use another Question and Action, this time setting the action to 'Generate trails'.

6.2 When loading a file created in XP3.5 or earlier into later versions of X-Particls the spline settings are not preserved

If you changed any of these values ('Type', 'Close Spline', 'Intermediate Points', etc.) in XP3.5 then when you load the file into X-Particles the settings are reset to their default values. This is not a bug but a consequence of interface changes in X-Particles. Simply reset them manually to what you need and resave the file.

7. Priorities

As anyone who has tried to develop a complex animation will know, and certainly many plugin developers will know, Cinema 4D has a priority system which is limited, to say the least. This system determines the order in which various objects in the scene carry out their roles. Objects with equal priorities are executed in order they appear in the Object Manager.

This doesn't matter much unless you have an animation in which correct playback depends on certain functions being carried out before others. In X-Particles, the Emitter must have first priority as it must execute its functions before the Generator, Sprite, etc. These priorities are set internally and can't be altered by the user.

But suppose you have an emitter, set to use Subframe emission (the default setting) and the emitter moves along a spline by using Cinema's Align to Spline tag with a keyframed 'Position' parameter. You see that the particle emission occurs in separate pulses rather than in one smooth stream of particles:

Priority problem - 1

In the tag, priority is set to Expression with a value of 0 (zero), while the emitter is set internally to Animation + 10. This means that the emitter completes its execution before the tag, so it emits particles and then is moved by the tag to a new position. Next frame it emits another burst of particles but in a different position.

Now if we change the tag priority to Animation, so that the tag starts to execute before the emitter, everything works as intended:

Priority problem - 2

In this case the tag starts to move the emitter which then (using subframe emission) emits particles while being moved.

If you run into problems like this, where things don't appear to work correctly, consider a possible priority conflict. You can change the priority of many Cinema features, and all you have to know is what to change it to. The following table indicates the priority assigned to various X-Particles objects:

Execution point Priority setting
Emitter emits particles Animation + 10
Modifiers executed Expression - 10
Collision engine initialised Generator + 50
Collisions executed Generator + 60
Collisions updated Generator + 90
Final particle update, particle positions/properties updated and killed if necessary Generator + 100

You can see now why setting the Align to Spline tag priority to Animation works. In fact it will work if it set to Animation + 9 (because that is less than the Emitter priority) but it fails at Animation + 10.

Hopefully this will let you solve these annoying issues. This is not X-Particle's fault, it's the nature of the priority system in Cinema 4D.

8. Object morphing

This is quite a complex process and for this reason it has its own manual page. Please see that page for hints on how to use the morphing feature.

Known Issues

1. Rendering in hardware or software OpenGL in Cinema 4D R19

If you cache an emitter then try to render the cached particles in hardware or software OpenGL, this works correctly in Cinema 4D versions up to and including R18 but not in R19. While we investigate the reason for this, here is a simple workaround.

In the Cache object expand the section next to the label 'Folder' by clicking the little black arrow, then uncheck (turn off) the option 'Skip Render Pre-Roll', which is checked by default:

Once you turn this off you can render the cached particles in hardware or software OpenGL.

2. X-Particles and/or the OpenVDB Mesher is not present after installation (Windows only)

If, after a correct installation, X-Particles or the OpenVDB Mesher is not present in the Cinema 4D menu bar and there are no X-Particles error messages in the console, the most likely cause is a missing Windows runtime library.

Please see this link for more details and how to correct the problem.

3. When caching a scene, do not use Unicode characters in filenames or object names

Doing may cause the cache to fail to reload when you reopen the cached scene. For more details, see the Cache object page.