Render Boolean
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.
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:
- Select the material of the mesh you want to act as a render boolean in the shader tree
- Once selected, navigate to the Material Rays tab of the material’s Properties viewport
- Within the Material Rays menu, enable Boolean Subtract
- The render boolean is now applied