modo bubbble logo

Blob


Home >> Shade, Light & Render >> Blobs

back next

Blob Sample

The 'Blob' item provides a means for users to procedurally create blobby meta-ball like shapes; combinations of spherical forms with an interpolated smoothly curved surface covering them. The positions of individual blob shapes are determined by the vertices of a 'Particle Source' item, where each vertex in the Particle Source produces a single blob (The Particle Source can be a number of items described under the 'Particle Source' option below). The form itself is dependant on the radius of the Blob particles and the distance between adjoining vertices, as the surfaces get closer together, they will try to join their surfaces (think like water droplets when they get close to each other). The resulting surface can be further controlled with the addition of textures added via the 'Shader Tree' producing complex surfaces very easily.

Adding Blobs

A Blob 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 > Blob" option. Once added, the item will appear at the bottom of the Items List viewport. When selected, a number of attributes controlling the blobby shape appear in the 'Properties' viewport.

Applying Materials

Normally, surfaces are applied through the use of polygon tags that define masks in the Shader Tree controlling material placement, however, 'Blobs' are a procedural surface created at render time and have no user selectable polygons to apply a tag to, so surfacing is applied to the 'Blob' item through the use of an Item Mask. Users can quickly create an 'Item Mask' by RMB+clicking on the Blob 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. Users may also wish to control additional attributes of the Particle Source that are not surface specific (such as 'Particle Size' and 'Particle Density' for the Source), this can be done by creating an additional Item Mask and applying texture layers set to the appropriate 'Effect' under 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.

Transform--

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).

Geometry--

Particle Source: When a 'Sprite' item is added to a scene, it is represented by a single locator type point at the world origin producing a single sprite image. To produce additional sprites, users will want to define a 'Particle Source', this can be any Mesh Item layer that contains vertices, where each vertex position is used to determine the position of the Sprite 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 Sprite image. 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'.

Stretch Particles: This percentage controls the scale of particle stretching based on velocity. Values are additive to the base value, so a 'Stretch Particle' value of 100% would produce a particle that was stretched twice the length (200% altogether).

Size Gradient Input: The 'Size Gradient Input' provides a means for the user to define an input parameter in which to apply the following 'Size Gradient', determining the scaling of the resulting volume based on the chosen parameter. Users can choose from a number of Input parameters specific to Volumes and Particles, such a Texture Value (Density), Distance, and Particle Velocity.

Size Gradient: This is an inline mini gradient editor allowing users to define gradient value keys easily without having to leave the basic MODO interface. Much in the same way a keyframe stores transform values for items, gradient keys will store values and softly attenuate between the defined key positions. Keys can be added by MMB+clicking along the gradient and then with the LMB, the key can be dragged up or down adjusting the value at that position. The gradient bar directly underneath provides a visual reference to the values being generated by the gradient itself. The defined values will acts as a multiplier of the final volume size on the preceding 'Size Gradient Input' option.

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.

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). Note that in the case of blobs, this option is disabled by default as it adds a bit to render time (around 30%), so don't use it if you don't need it.

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

Density--

Hypertexture Amplitude: Determines the amplitude (intensity) of a 'Volume Density' texture layer applied to the Blob 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.


Amplitude 0%
 
Amplitude 25%
 
Amplitude 50%
 
Amplitude 75%
 
Amplitude 100%

Surface Level: The surface level option determines the height of the limit surface, in-turn controls how smooth or abrupt the transitions are between neighboring Blobs. Low values produce smoother blobs that are slightly smaller, and higher value will produce more spherical shapes that are slightly larger. At 100%, individual blobs will no longer blend and simply look like a collection of spheres.


Surface Level 0%
 
Surface Level 25%
 
Surface Level 50%
 
Surface Level 75%
 
Surface Level 100%

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

 

Top

back next