Render Boolean

Blob Sample

Booleans, as they relate to 3D computer graphics, are a technique of using geometry from one Mesh Item to modify the geometry of another; their intersection produces a subtractive trimmed surface that would be difficult to create otherwise. The render boolean item provides a means to trim away areas of an object or surface at render time, without needing to physically modify the mesh itself. The benefits are that the mesh remains fully intact, the results are fully animateable and it produces a texturable surface where the render boolean intersects with the trimmed mesh. Also, since the boolean is generated at render time on the final subdivided geometry, there is a less likely chance of producing the errors generally associated with boolean trimming of subdivision surfaces.

Adding Render Booleans

You can add a render boolean item to a scene in the Items list, by clicking Add Item > Volumes, then double-clicking Render Boolean. Once added, the item appears at the bottom of the Items list. When selected, a number of attributes controlling the boolean's functions appear in the Properties Panel.

Applying Materials

When utilizing the procedural geometry options of the render boolean, you can texture the resulting boolean surface with the use of an item mask. By right-clicking on the render boolean item in the Items list and selecting the Create Item Mask option, a new material group is added to the Shader Tree. You can then use the Add Layer option of the Shader Tree to add materials and texture layers that are then confined only to the areas where the booleans intersect with the target mesh. For more on working with layers in the Shader Tree, see Shader Tree. The render boolean item trims all items/surfaces in the scene, unless you explicitly disable the Enable Surface Clipping option of the Material item on a per surface basis (this option is enabled by default for all surfaces). When the Use Surface option is enabled for custom boolean meshes, the intersecting surface gets its surface shading from the Mesh Item itself. If you don't want this, you can disable the Local Shader option to have the target surface retain its own material attributes.

Animated Booleans

You can animate the render boolean operation by creating keyframes on the render boolean item when using the procedural shape option, or when a Surface as Volume mesh layer is specified. Animating the target mesh layer produces the animated boolean operation. For more on setting keyframes and animating in Modo, see Animating.

Blob Properties

Option

Description

Name

Displays the current item name. You can change it by clicking on the field and typing the new name.

Transform

Position

An item transform that allows you to numerically position the item in XYZ space. By default, Position transforms originate from the center position.

Rotation

An item transform that allows you to numerically set the rotation of the item. By default, Rotation transforms originate from the center position.

Order

Allows you 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 you 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 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 with 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 causes 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

GL Display

Toggles the display of the particle geometry proxy in the 3D OpenGL viewport. Generally, this should be enabled to get an approximation of how the boolean item renders (the default state), but in certain instances it may be useful to disable this option.

Use Surface

When enabled, you can select any arbitrary mesh layer from the scene and use it as a boolean volume. While render booleans work for nearly any geometry type, for best results, both should be fully closed watertight models, meaning they could virtually hold water without leaking.

Surface As Volume

Specifies the mesh layer that is used for the boolean operation, only when Use Surface is enabled.

Particle Geometry

The render boolean item also generates procedural geometry. You can choose between a cube, a sphere and a cylinder.

Radius/Height

Defines the outside dimensions of the particle geometry object. Radius refers to the overall dimensions of the sphere and cube shapes, and Radius and Height work together to define the dimensions of a cylinder.

Local Shader

This option is applied when using the procedural geometry of the render boolean. You can create an item mask for the render boolean item itself in the Shader Tree and assign materials and shading to it. Enabling the Local Shader option uses the defined shading of the item mask on the cut-away portions. When disabled, the shading for the item being trimmed is applied to the cut-away portions.

Tip:  Render booleans aren't strictly for trimming geometry, they can also affect volume items such as Blobs, Sprites and Volumes.

Create Boolean Effects at Render Time using mPath

Assigning a material as a boolean subtract in mPath allows you to create holes in your mesh at render time, without the need to create special items or physically alter your mesh. For the best results when using render booleans, both the subtractive objects and the objects being cut should consist of watertight enclosed volumes with outward facing normals.

Setting Up Render Booleans

To enable render booleans in mPath, you first need to mark your mesh as a Subtract Boolean within the mesh’s material. To do this:

  1. Select the material of the mesh you want to act as a render boolean in the shader tree
  2. Once selected, navigate to the Material Rays tab of the material’s Properties viewport
  3. Within the Material Rays menu, enable Boolean Subtract
  4. The render boolean is now applied
Before marking the cube mesh as a Boolean Subtract
After the cube is marked as a Boolean Subtract