Sprites are small objects (actually Cinema 4D primitives or lights) which are a convenient way to generate simple geometric objects without setting them up with the Geometry tab as described above. They have the advantages that they are small, lightweight objects which can be readily controlled via the X-Particles control system, including changing the type of generated sprite and their attached materials.
The initial interface when the object is first created looks like this:
For the 'Groups Affected' tab and the buttons at the bottom of the interface, please see the 'Common interface elements' page.
For objects to be generated from particles, you must tell the Sprite object which emitter it will work with. Drag an emitter object into this field to do that. Until you have done so, you will not be able to access any of the other settings in the Sprite object.
Click this button to create a new emitter and add it to the 'Emitter' link field.
Sprites From Particle Birth
If this switch is checked, a sprite will be generated for each particle as soon as it is created. If it is unchecked, no sprite will be generated for newly-created particles until this switch is checked again, or until sprite generation for a particle is turned on by an Action.
Set Rotation to Face Camera
This is a convenience function. If there is an emitter in the 'Emitter' link field, clicking this button will make the following changes to the emitter:
- 'Use Rotation' is turned on
- 'Rotation Mode' is set to 'Face Camera'
- 'Persist Orientation' is turned on
You don't have to use this button if you don't want to. All the above changes can be made manually in the emitter.
This drop-down menu lets you choose which type of object will be generated. These are all very simple Cinema 4D primitives, so are quick to generate and draw, speeding up viewport performance. The various types are:
- Cube: a small cube primitive.
- Cross: the cross object supplied with X-Particles. You can choose if you want this to be a 2D- or 3D-cross.
- Placard: a single small polygon. Useful for applying a texture with an alpha channel to act as a billboard sprite in conjunction with the 'Face camera' option in the emitter rotation section. The initial orientation plane can be set for this sprite type.
- Sphere: a sphere primitive. You can set the number of segments to improve performance.
- Cylinder: a cylinder primitive. You can set its orientation and whether it has caps or not. There is also a height multiplier value which can be used to increase the height of the cylinder without increasing its radius.
- Capsule: You can set its orientation and there is also a height multiplier value which can be used to increase the height of the capsule without increasing its radius.
- Cone: a cone primitive. You can set the height and rotation segments, and the orientation, just as in the object manager for a cone primitive.
- Pyramid: a pyramid primitive. You can set the orientation, just as in the object manager for a pyramid primitive.
- Disc: a disc primitive. You can set the rotation segments, internal radius, and the orientation, just as in the object manager for a disc primitive.
- 3-Plane: an object made from three single polygons, each one oriented on a different plane.
- Light: an omni light, which is useful for generating large numbers of visible lights very quickly and making their parameters dependent on the age of the particle.
- Points (Individual): the sprite object will generate a series of splines each containing one point. This is very useful for use with the Metaball object in Cinema 4D. Just make the Sprite object a child of the Metaball and adjust the Metaball parameters as required. Note that with this option there are no other parameters to be set in the Sprite object.
- Points (Point Cloud): the sprite object will create a single polygon object with one vertex per particle, but no polygons. This point cloud can be used in the Skinner object or OpenVDB Mesher to generate a mesh.
- Text: simple text generation.
- Rubble: the sprite object will generate small object primitives to give the illusion of small pieces of rubble or gravel.
Changing the sprite type will either add a new tab to the interface (In the case of Light, Text or Rubble types) or will add additional controls to the interface. In the case of the Cinema 4D primitives, these are the same settings as you can find for that primitive in the Cinema 4D interface; please refer to the Cinema 4D documentation for details.
It determines what the Sprite object shows in the editor and at render time. It has four settings:
This will turn off the editor display of the particles. This is because it can be distracting to see the particles and objects in the editor at the same time, especially in wireframe views.
Geometry will not be displayed and only the particles are shown. This is very useful if you are caching a scene which generates a lot of geometry. Because Cinema is quite slow in drawing multiple objects on screen, caching a lot of particles with geometry is also slow, as the sprites are shown in the editor. You can use this setting to generate the cache, then reset the drop-down menu to one that produces geometry before you render the cached scene.
Geometry and Particles
Both objects and particles are displayed.
Geometry on Render Only
With this setting, geometry will not be generated in the editor (so speeding up the viewport) but will automatically be generated when rendering. This is a convenience setting so you don't have to remember to switch sprite generation on and off when creating a scene or rendering it.
The size of the sprites can be set in one of two ways from this drop-down:
The scale of the particle will be used to scale the sprite. By default particles have a scale of 1, so with this option the generated object will have the default size given to it by the Sprite object, unless the particle scale is changed.
This option will scale the sprite size up or down to match the particle radius.
If you choose 'Light' as the sprite type, the interface changes to give the light parameters.
Details of the generation of lights by the Sprite object can be found on this page.
If you choose 'Rubble' as the sprite type, the interface changes to give the rubble parameters.
Details of the generation of rubble by the Sprite object can be found on this page.
If you choose 'Text' as the sprite type, the interface changes to give the text parameters.
Details of the generation of text by the Sprite object can be found on this page.
This tab enables you to apply textures to the sprites. The textures can be any Cinema 4D channel shader or bitmap. To get age- or other particle-related effects, you should use the X-Particles sprite shader.
Choose Material to Apply
This drop-down menu lets you choose which material is applied to the sprites. Available options are:
Material 1 Only
The first material in the 'Texture List' box is used. If there is no material in that list, no textures will be applied to the sprite.
For each particle the sprite object will choose at random a material from all those in the 'Texture List' box.
Select by Index
You can select which material is used from the list, where the first material has index 1, the second material index 2, and so on. It is up to you to make sure that there is a material corresponding to the index you entered. If you enter '3' and the list has no third material, no material will be applied to the sprites.
The index of the material to use if 'Choose Material to Apply' is set to 'Select by Index'. The index is the position of the material in the 'Texture List' box.
The texture mapping modes, as in a standard Cinema 4D texture tag. If you choose 'Camera Mapping' the following controls become available:
These are the same controls you see in the Cinema 4D Texture tag. Please refer to the Cinema 4D documentation for details.
Tiles X, Tiles Y
The tiling values , as in a standard Cinema 4D texture tag.
This drop-down menu lets you use the Mograph Multishader to texture the generated sprites. It has several settings. To use this option, you must apply a material to the Sprite object which has a Multishader in the Color channel.
The multishader is not used.
Each sprite is assigned a random greyscale value. This is then used to select the shader to use from the shaders in the Multishader.
Similar to 'Greyscale' each sprite is assigned a random RGB value and this is used to select from the list of shaders. This will give different results to 'Greyscale' especially when using the 'Color Red' (or Green or Blue) modes in the Multishader.
With this setting the 'Gradient' setting becomes available. You can then design a gradient, either greyscale or color, which will give you control over the distribution of shaders from the Multishader.
The gradient used when 'Multishader Control' is set to 'Use Gradient'.
Random Start Frame
This switch is used when you have an animated texture and you don't want to start texture playback at the same frame for each individual sprite. Check the switch to enable this feature.
See below for details of how to use animated textures with a random start frame.
The random seed for calculating random start frames in animated textures. You can change this seed if you don't like the initial results of the random selection.
Used for animated textures. This sets each frame in the animation to use the selected animation mode. They are the same as in Cinema 4D's bitmap shader and the options are:
Please see the Cinema 4D documentation for details. Selecting an option here means that you don't have to go through each individual frame selecting the required option in each one, the Sprite object will do it for you.
Normally, the random frames are reassigned when you rewind the scene to the starting frame. However, if you need to do that at some other point, you can click this button.
The list of possible materials to apply to the sprites.
Using animated textures with random start frames
There are some limitations when using animated textures with sprites. For more details, please see the page 'Animated Textures with Sprites' which gives full details of how to set this up plus a worked example.