Gets all unique materials associated with this node and its descendants.
An array of Material instances.
Shorthand proxy property to get the mesh material's opacity.
Shorthand proxy property to set the mesh material's opacity.
Gets the spatial 3D position vector of this node. Modifying individual components of this vector will automatically flag the node as dirty.
Sets the spatial 3D position vector of this node. Copies the components of the incoming vector and flags the node as dirty.
Gets the spatial Euler rotation vector (pitch, yaw, roll) in radians. Modifying individual components of this vector will automatically flag the node as dirty.
Sets the spatial Euler rotation vector (pitch, yaw, roll) in radians. Copies the components of the incoming vector and flags the node as dirty.
Gets the spatial Euler rotation vector in degrees. Accessing or mutating components of this proxy converts automatically to/from radians.
Sets the spatial Euler rotation vector in degrees. Converts the incoming components to radians and flags the node as dirty.
Gets the spatial 3D scale vector of this node. Modifying individual components of this vector will automatically flag the node as dirty.
Sets the spatial 3D scale vector of this node. Copies the components of the incoming vector and flags the node as dirty.
Instantiates a renderable Mesh node coupling geometric buffers and material settings.
Parent context.
Instantiation options containing geometry, material details, and legacy texture fallbacks.
Adds a child node to this node's hierarchy. If the child already has a parent, it is automatically removed from that parent first. Sets the child's dirty flag to true to force transform updates.
The Node instance to append as a child.
Detaches the Mesh from its hierarchy parent and optionally destroys associated GPUBuffers and Materials.
If true, releases GPU vertex/index buffer allocations immediately. Defaults to false to allow shared geometric allocations across instanced Mesh clones.
If true, releases GPU uniform buffer allocations of the associated material immediately. Defaults to false to allow shared material allocations.
Computes and returns the world-space bounding box (AABB) of this node's collision shape. Transform the local shape bounds by the node's current world-space transformation matrix.
The transformed AABB bounding box, or null if no collision shape is set.
Determines if this node's world-space collision bounds overlap with another node's bounds. Both nodes must have active collision shapes; returns false otherwise.
The other Node3D instance to test against.
True if the world-space AABBs intersect, false otherwise.
Removes a child node from this node's hierarchy. Clears the parent reference of the child node and sets its dirty flag.
The Node instance to detach.
Helper method to set position, rotation, and scale components simultaneously. Copies existing components from provided vectors and marks the node transform as dirty.
Performs a depth-first traversal of the node hierarchy starting from this node, executing the provided callback on each visited node.
The function to invoke for each node.
Recomputes the local transformation matrix (localMatrix) by applying
translation, Euler rotation, and scaling transformations sequentially.
Overrides the base Node behavior to process component values.
Updates the global world matrix of this node and recursively propagates the updates down the hierarchy to all child nodes.
If true, forces transformation matrices to be recomputed even if they are not flagged as dirty.
StaticapplyStaticbuildProgrammatically compiles a new Mesh from raw floating-point arrays. Decodes arbitrary interleaved arrays, re-aligns them to standard 11-float vertices (pos:3, norm:3, uv:2, color:3), creates dedicated GPUBuffers, and resolves materials.
Active framework context.
Mesh assembly and transformation configurations.
The newly assembled Mesh instance.
StaticcreateFactory method to instantiate a Cube mesh. Automatically generates and assigns box CollisionShapes.
Parent context.
Material parameters and sizing options.
The newly allocated Cube Mesh.
StaticcreateFactory method to instantiate a horizontal Plane mesh.
Parent context.
Material parameters and width/height dimensions.
The newly allocated Plane Mesh.
StaticcreateFactory method to instantiate a Sphere mesh. Automatically generates and assigns spherical CollisionShapes.
Parent context.
Material parameters, radius dimension, and segment resolution.
The newly allocated Sphere Mesh.
StaticloadAsynchronously fetches a 3D model asset from a URL, decodes it using a compatible ModelParser, allocates GPU vertex and index buffers, resolves standard physical materials, and generates appropriate CollisionShapes. Handles single-part OBJ geometries and hierarchical multi-part GLTF structures.
Parent context.
Web address or file path pointing to the 3D model.
Material options or physical configurations.
A promise resolving to a container Node3D holding the loaded mesh segment nodes.
ReadonlychildrenList of child nodes belonging to this node.
Optional collision shape representing the physical bounds of this node. Utilized for standard AABB intersection tests and spatial overlap checks.
Parent Context reference.
Underlying geometry instance holding vertex and index buffers.
Whether the local transform has changed and needs to be recomputed and propagated.
ReadonlyisType identifier used for fast polymorphic runtime checks.
Local transformation matrix relative to the parent node.
Unique identifier or friendly name for the node.
Parent node in the scene graph. Null if this is the root node.
Visibility flag. If false, this node and its descendants are typically skipped in rendering.
Global world transformation matrix relative to the scene origin.
Static ReadonlyFORMAT_Mapping of standard vertex attributes to their component size (float count).
Mesh represents a physical, renderable 3D entity within the scene graph. It couples geometric vertex/index buffers (Geometry) with shading parameter bindings (Material) and maintains spatial Node3D transforms.