Skip to content

Search

Documentation

boolean3d component

Draws the node as its children combined by operation: union, difference or intersection. The children stay in the tree, hidden and editable; color…

Trên trang này

3d · render · 17 properties · 3D

Draws the node as its children combined by operation: union, difference or intersection. The children stay in the tree, hidden and editable; color, texture and material dress the result.

In a scene, boolean3d is the node key that applies it. A script reaches each property below as a field on node.boolean3d: reading one asks the running component, and assigning one leaves the rest alone. The whole table is node.boolean3d.get() and node.boolean3d.set(table).

Properties

property type default description
cast_shadow bool true Whether the result casts a shadow from the lights that cast
color color [0.8,0.8,0.8,1] Tint of the result, as channel floats or #rrggbb / #rrggbbaa
depth_test bool true Let the scene hide it; off draws it over everything drawn before it and leaves the depth as it was
dot_color color [0,0,0,0] The vertex dots' colour; an alpha of zero takes the node's own. Not drawn on a skinned mesh, which Balaur poses in its own vertex stage
dot_size float 0 Size of a dot drawn on every vertex; zero draws none. Not drawn on a skinned mesh, which Balaur poses in its own vertex stage. Not on WebGL2 At least 0.
dot_sizing enum world What dot_size counts: world is pixels at one world unit from the camera, thinning with distance, screen is pixels One of world, screen.
draw_surface bool true Whether the surface draws; off leaves the wireframe and the dots alone
light_layers int -1 Light-layer bitmask; a light3d lights the result when their masks share a bit. -1 is every layer
material asset · material — The material the result draws with; empty takes an inherited material component, else the built-in one
operation enum union How the children are combined, in the order they are declared One of union, difference, intersection.
receive_shadows bool true Whether shadows land on it; off lights it as if nothing stood between it and every light
render_layers int -1 Layer bitmask; a camera3d draws the result when their render_layers share a bit. -1 is every layer
segmentation_id int 0 The id render.snap_aov("segmentation") colours this node by; nodes sharing one share a colour. Zero takes one of its own, from 1 up At least 0.
texture asset · texture — Image file, project-relative, or a texture asset the result is drawn with, over the UVs the children carry through the cut; empty draws the colour alone
wireframe_color color [0,0,0,0] The wireframe's colour; an alpha of zero takes the node's own. Not drawn on a skinned mesh, which Balaur poses in its own vertex stage
wireframe_sizing enum world What wireframe_width counts: world is pixels at one world unit from the camera, thinning with distance, screen is pixels One of world, screen.
wireframe_width float 0 Width of a line drawn along every triangle edge; zero draws none. Not drawn on a skinned mesh, which Balaur poses in its own vertex stage. Not on WebGL2 At least 0.

Asset types this component references: material, texture.

Script functions

Methods of node.boolean3d, the handle a node carrying this component exposes. Every handle also has get(), set(table), patch(table), has() and remove().

From render:

method what it does
built_mesh() -> any The triangles the node's boolean settled on, as #{ positions, indices } ready to be written out as a mesh asset; nil when the node draws no built geometry.