modo bubbble logo


Home >> Shade, Light & Render >> Sprite

back next

Blob Sample

The 'Sprite' item provides useful functionality when using bitmap images to generate volume like effects that render much more quickly than standard 'volume' effects.

Adding Sprites

A Sprite item can be added to a scene by utilizing the 'Add Item' function found in the 'Items List'. Users can LMB+click the button itself, opening the popup menu and select the "Volumes > Sprite" option. Once added, the item will appear at the bottom of the Items list viewport. When selected, a number of attributes controlling the Sprite textures appearance appear in the 'Properties' viewport, this is where users specify the actual sprite texture and point source options.

Applying Materials

Normally, surfaces are applied through the use of polygon tags that define masks in the Shader Tree controlling material placement, however, 'Sprites' are a procedural constructs created at render time and have no user selectable polygons to apply a tag to, so surfacing is applied to the 'Sprite' item through the use of an Item Mask. Users can quickly create an 'Item Mask' by RMB+clicking on the Sprite item in the Items list and choosing the 'Create Item Mask' option from the contextual menu. Users can then add 'Materials' and other Shader Tree items, setting the appropriate 'Effect' for each layer building up surfacing attributes just as one would for any other surface. The Materials Volumetric Scattering and Absorption options will be the main controlling factors in its appearance. Users may also wish to control additional attributes of the Particle Source that are not surface specific, this can be done by creating an additional Item Mask and applying texture layers set to the appropriate 'Effect' using the 'FX' item of the Shader Tree. For more on using FX, see that page of the documentation.

Blob PropertiesName: This data field displays the current item name. Users may easily change it by LMB-clicking within the field and typing the new name.


Position: An Item transform that allows the user to numerically position the item in XYZ space. By default, Position transforms originates from the Center position.

Rotation: An Item transform that allows the user to numerically set the rotation of the item. By default, Rotation transforms originate from the Center position.

Order: Allows the user to set the order that rotations are applied to the camera item. Changing the order that rotations are applied can sometimes help to reduce or eliminate gimbal lock.

Scale: An Item transform that allows the user to numerically set the size of the item. By default, Scale transforms originate from the Center position.

Reset: Resets the selected transform values to (0,0,0) returning the items back to their default state.

Zero: Resets the chosen transform property values to '0', leaving the 'Center' position and Mesh position intact.

Add: Transform Items are the channel groups associated to an item that store its transform values, controlling its position, rotation and/or scale. By default, new items do not have any transform items associated with them (even though they are visible here within the Properties panel). This is useful as an optimization as only the necessary transforms are added on an as-needed basis, reducing scene overhead. There are several ways to add them. One is by simply transforming the target item with one of the various transform tools (or by editing the values input fields). This action will cause the particular transform item to be added automatically to the 'Channels' viewport list. The 'Add' function here can also be used to add the selected set of transforms to the Channel list while keeping the default 0,0,0 values (a necessary step for 'Referencing', in order to override the channels, they must first exist).


GL Display: This option toggles the display of the 'Sprite' proxy in the 3D OpenGL viewport, generally user will want this enabled to get an approximation of how the sprite particles will render (the default state), but in heavy scenes it may be useful to disable this option to increase scene interactivity.

Particle Source: When a 'Sprite' item is created, it is represented by a single locator type point at the world origin producing a single Sprite image. To produce additional sprites or Sprites as a volume, users will want to define a 'Particle Source', this can be any item layer that contains vertices, where each vertex position is used to determine the position of the blob particle (any type of geometry can be used- single point polygons, vertices, two-point polygons and regular polygons, however, only the vertex positions of any component will be used). Source layers can be normal geometric forms, point clouds that are imported or created using the 'Particle Cloud' item or any of the 'Particle Tools'. They can be imported particle simulations controlled by way of a MDD deformer, RealFlow Point Cache or an Alembic format data file.

Radius: This option determines the base size of the blob. From here, the size can be altered via the 'Random Size' option, the addition of a 'Particle Size' vertex map that allows users to paint the scale for individual particles interactively, or with the application of a texture layer, under the FX item of the shader tree, set to control 'Particle Size'.

Random Size: This option controls the amount of randomness added to the scale of each individual particle blob. The amount is determined by a scale percentage- a setting of 25% would adjust the scale of the base radius size by an amount of 0%-25% randomly across all particles, a setting of 50% would adjust the size by 0%-50% randomly across all particles and so on.

Position Offset: Adds an offset to the Sprite position along the particle normal direction. This is mostly useful for surface particles when you want to detach them from the surface they originate from.

Use Particle Orientations: Aligns the particle to the direction vector from the particle source. The direction vector is usually the surface normal for surface particles or the particle velocity vector for simulation particles (like from RealFlow).

Align to Path: Aligns the particle to its local motion vector.

Automatic Texture Offset: Adds an offset to the hypertexture different for each particle so that each particle looks different.


Sprite Image: Determines the image used for the Sprite particle. Load an image into the Image List to select it here. Multiple Images may also be used when defined as a 'Group'. For more on creating Groups, please see that page of the documentation.

Luminosity as Density: When this option is enabled, the luminosity or Brightness of the image is used to determine the density of individual Sprite particles.

Billboards: When this option is enabled, the assigned Sprite Image will act like individual single polygons with the image mapped to the surface that always face toward the camera. (Under Shading, set 'Density' to 100% and 'Falloff' to 0% for the full image effect)


Density: The 'Density' value determines the thickness or opacity of the individual sprite particles, controlling the apparent amount of particular matter that is visible in the overall volume.

Falloff: The 'Falloff' determines the attenuation of the individual sprite particles from its center point out toward its edges.

Level: Changes the level in the hypertexture.

Hypertexture Amplitude: Determines the amplitude (intensity) of a 'Volume Density' texture layer applied to the Sprite volume. The higher the value the more you see the effect of the density texture. It's similar in concept to displacement amplitude but applies to volumes.

Hypertexture Scale: The 'Hypertexture Scale' option changes the size of the Hypertexture, it is the same things as changing the Texture Locator scale settings.

Texture Effect: Hypertextures can be animated on particles to create billowing or dissipation effects. The goal of these effects is to add secondary animation to the particles, which is important for explosions and smoke.
The various texture effects are the following-
None- Disables the Texture Effect.
Velocity Translate- moves the texture in the direction of the velocity vector.
Expand- the texture is scaled over time to give the impression that it expands.
Expand and Dissolve- like the previous effect but with the addition of a dissolve effect so as the texture expands it also dissolves.
Pyroclastic- a boiling like motion where hot gas swirls around within the form adding a realistic secondary motion to the volume. Good for smoke.

Effect Speed: Controls the speed at which the 'Texture Effect' animates.

Scattering: This is the overall scattering amount on the Sprite volume, this is similar to the volume scattering amount in the material.


comment balloon Comments (1) RSS Icon

Vance Bowman April 2, 2015 at 4:42 PM

This page does not address the RGBA Gradient input feature in 801.


back next