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.
See also the Articles section of this manual, covering a number of topics about using X-Particles effectively.
- The control system
- The Emitter
- Particle speed and world speed
- Using the Hair material to render your particles
- Rendering splines
- The Trail object
- Object morphing
- X-Particles is not present after installation (Windows only)
- Unicode characters in Cache object filenames
- Emitting particles from a Cloth object
Hints and Tips
1. The control system
1.1 What is the difference between independent and action-controlled modes in the modifiers?
To understand the difference between these modifier modes, please see the article Modifiers: independent or action-controlled?
1.2 Why doesn't the Question appear to do anything?
There are several possible reasons for this:
- the Question is not present in the Questions list 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 set as 'Test and Pass Once' 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.3 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. You can also use the Output to Console action to print data to the Cinema 4D console when it is triggered. 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. Particle speed and world speed
Particles always have a speed value but they can have a 'world speed' value as well. The difference between them, and why world speed can prove very useful, is discussed in the article Particle speed vs. World speed.
4. Using the Hair material to render your particles
There is really no need to do this and you should 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 enables you to render any spline, including those created by the Trail object, using the X-Particles Material 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-Particles 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.
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:
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:
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 article devoted to it, Morphing objects. Please see that page for hints on how to use the morphing feature.
1. 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 page for more details and how to correct the problem.
2. 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.
3. Emitting particles from a Cloth object
If you have used the 'Create Cloth' command to create a Cloth object then as part of that process a Constraints object and Gravity modifier will also have been created. If you then add another emitter intending to emit from the Cloth object, you should be aware that the Constraints and Gravity objects will also work on that new emitter.
This won't always be a problem but if you check the 'Stick Particle to Source Object' switch in the new emitter, it may not work correctly. In that case it may be the Constraints object which is causing the problem. To resolve this, drag the Constraints object in to the emitter's 'Modifiers' list, and change the yellow tick to a blue dash like so:
The emission should then work as intended.