System Object

The System object is basically a null object, in that it has no visible editor presence or appearance at render time. Its function is to act as a collator of other X-Particles control system objects and to provide some convenience functions for the user.

So why not just use an ordinary null object? There are two reasons:

  • the System object enables the convenient adding of X-Particles objects to the scene rather than constantly revisiting the Cinema 4D Plugins menu
  • future versions of X-Particles may use the System object for more than just a holding tank for other objects, so it would be sensible to get into the habit of using it from the start

Interface

The System object's interface contains the following tabs and sections:

Parameters

Object tab

General quicktab

Auto-Disable XP Objects

When this switch is turned on, if you then disable the System object in the Object Manager, turning the green tick to a red cross, all the X-Particles objects which are in the object hierarchy under this System object will be disabled automatically. They will all be enabled if you enable the System object again. This lets you enable or disable an entire setup with one click, rather than having to disable every object in that System object manually.

The System object will remember the state (enabled or disabled) of the X-Particles objects under it when the System object is disabled. It will then restore that state when it is re-enabled rather than simply enabling all the objects even if they were previously disabled.

If you don't like this behaviour, uncheck this switch.

Icon Color

In X-Particles 3.5 you were restricted to a small number of coloured icons for the System object. In X-Particles 4 you can choose any colour for the System object icon in the viewport. Simply choose the colour from this setting.

Note that you can change the colour of the icon using this control but if you have the System object's 'Use Color' setting (in the Basic tab) set to anything other than 'Off', the icon will use the colour specified by 'Use Color' and you cannot change it. This allows you (for example) to add the System object to a layer in the scene and change the colour of the layer; the System object colour will be automatically updated.

Icon in Viewport

If this switch is checked, the X-Particles logo will be drawn in the editor viewport. This will not be rendered in the final image. If you don't want to see the icon, uncheck this switch.

Icon Size

This slider allows you to change the size of the X-Particles logo in the viewport.

Only Modifiers in Same System

This switch already exists in the emitter where, if checked, only modifiers which are in the same system as the emitter will affect that emitter. This switch is a shortcut for use when you have more than one emitter in the system. If checked, all existing emitters in that system will only use modifiers in the same system, and any new emitters created in that system will also only use modifiers in that same system. If it is unchecked again, the emitters will revert back to using all modifiers in the scene.

If this switch has been changed, it is still possible to check or uncheck the switch in individual emitters.

Only Deformers in Same System

This works in the same way as for 'Only Modifiers in Same System' but for deformers instead of modifiers.

Cloth Object

If you drag a spline or object into the 'Cloth Object' link field, then choose 'Create Cloth' from the 'Dynamics' drop-down menu, all the necessary objects needed for the Cloth FX system will be created and placed into the correct locations.

Note that this will create an extra emitter even if the System object contains one or more emitters.

Presets quicktab


Please see the Presets manual page for more about the X-Particles presets system and how it works.

Save System As Preset...

Click this button to bring up the Presets dialog. When you save a preset from the System object, the entire System is saved together with all its child objects.

Load System Preset...

Click this button to load a System preset complete with all its child objects.

Replace System on Load

When loading a System preset, this switch controls what happens to the existing one. If the switch is checked, the existing System object is deleted, together with all its child objects, and replaced by the loaded preset. If it is unchecked, the System preset will be loaded as a new System - that is, if you had one System object before loading, you will now have two.

Adding XP Objects

This section has a number of drop-down menus from which you can add X-Particles objects to the scene. They will be inserted under the system object as child objects of one of the object 'folders'.

To add one of these objects, click the small arrow to the right of each button. This will bring up a list from which you can select the desired object.

Note: by default the Object Manager will make the new object the current one. If you prefer to remain in the System object rather than jumping to the new object, hold down the Control key when clicking a button to add an object.

X-Particles scenes can get quite busy in terms of the number of objects which are added. To keep things tidy and so that you know where the objects are, if you add an X-Particles object by using the System object menus, the System object will group Emitters, Group objects, the various generator and dynamics objects, Questions, Actions, and particle Modifiers each under their own 'folder' - a special null object. For example, when you add an Action from the System object the Action will be made a child of a folder called 'Actions'. This folder will be created automatically, if necessary.

Note that adding an Action manually from the main X-Particles plugin menu will just drop it in the object manager in the usual way.

The same thing will happen for emitters, dynamic objects, generator objects, particle groups, and modifiers as well, provided they are added from the System object; and for Questions, if the emitter which adds them is itself a child of a System object. They will be grouped under folders with the names Emitters, Dynamics, Generators, Groups, Modifiers, and Questions respectively. Any other object will be grouped under the 'Other Objects' folder.

Although these special null objects are mainly there to keep the object manager tidy, they do have one other function: if you disable one of them in the object manager, this will automatically disable all their child objects of the specified type (e.g. disabling the Actions folder will automatically disable all its child objects, as long as they are Actions). Note that this functionality is not turned off by the 'Auto-Disable XP Objects' switch referred to above.

It is also possible to create sub-folders of these folder objects. See the 'Folders and Sub-Folders' page for details.

Global Transform tab

In this tab, you can turn on the System object transforms. By default there are no emitters in the 'Emitters' list, so that if the system object is moved or rotated, its child objects will also be moved and/or rotated but the particle stream once generated will not be affected.

If there are one or more emitters in the 'Emitters' list, moving or rotating the System object will also move or rotate the entire particle stream produced by that emitter. Since the position of the particles themselves is changed, this will move objects generated from them such as trails, sprites, the skinner, etc.

Note that if a trail object uses an emitter which is being transformed, the results obtained will depend on whether the trail object is also a child of the same System object or not.

If it is, then the points of the trail will also be transformed independently of the particles. If not then the trail itself is not altered but simply follows the particle movement. You will get very different results depending on whether the trail is a child of the same System object as the emitter or not. This only applies to trail objects and not to other objects using the emitter such as sprites, the generator, etc. These will behave the same whether they are child objects of the System object or not.

Parameters

The tab is very simple and looks like this:

Emitters

Drag all the emitters you want to be transformed into this list. You can prevent specific emitters from being transformed by clicking the green tick so it becomes a red cross.

The emitter(s) to be transformed must all be child objects of the System object. In no case will emitters outside of the hierarchy of this System object be transformed.

Generator and Sprite objects

If an emitter being transformed is also linked to a Sprite or Generator object, this can cause incorrect rotations in some cases. For example, consider what happens if the emitter is rotated as part of a transform. The particle stream will be rotated but the particles themselves will not, unless in the emitter's Extended Data tab rotations are enabled and are set to 'Tangential'. This will force the particles to be rotated to match their drection.

If you have a Sprite or Generator object linked to this emitter, the generated geometry will also be rotated as it will follow the particle rotation. But then, the generated geometry will be rotated a second time if the Sprite or Generator objects are child objects of the same System object. This will cause the rotation of the generated objects to fail to match the source particle. This animation shows what happens:

The solution to this is to force the Sprite or Generator objects not to be rotated by the System object. Due to the priority system in Cinema 4D, this can't be done in the System object or the Sprite or Generator objects, but it is easily fixed by using some very simple Xpresso.

Add an Xpresso tag to the scene and add to it a Constant node. Set that to 'Vector'; the value should be left at all zeroes. Drag the Sprite or Generator object into the Xpresso editor and find its Global Rotation inport. Finally, link the output of the Constant node to the Global Rotation inport. It should look like this:

Then the animation plays correctly:

It isn't always necessary to do this. But if you are rotating the output objects of a Sprite or Generator object, you may need to apply this correction if the objects are not rotated correctly.