Skip to main content

ProcMesh

38 tools in this family (folder Editor/Tools/ProcMesh/ in the bridge package). Effect: writes changes the project or the scene, read-only does not, destructive deletes or overwrites and the client asks before running it.

ToolEffectDescription
procmesh_auto_uvwritesAuto-UV unwrap — picks Box or Triplanar projection based on the mesh's bounding-box ratio.
procmesh_bake_to_mesh_filterwritesBake a mesh handle into a GameObject's MeshFilter (creating one if needed). Also adds a
procmesh_bendwritesBend the mesh by a TOTAL angle along an axis. The bend is centred — the lower half rotates
procmesh_bevelwritesBevel edges defined by vertex_pairs (flat array of [v0,v1, v2,v3, ...]). 'segments' controls
procmesh_boolean_intersectwritesBoolean INTERSECT (A ∩ B). Keeps only triangles of A whose centroid is inside B.
procmesh_boolean_subtractwritesBoolean SUBTRACT (A − B). Removes triangles of A whose centroid lies inside B.
procmesh_boolean_unionwritesBoolean UNION (A ∪ B). Concatenates both meshes; the result is the visual sum.
procmesh_box_uvwritesBox UV projection — projects to the +X / +Y / +Z face based on each vertex normal, normalized
procmesh_create_boxwritesCreate an axis-aligned box centred on origin, returning a mesh handle.
procmesh_create_capsulewritesCreate a capsule along Y (cylinder body + hemispherical caps). 'height' is the TOTAL height
procmesh_create_conewritesCreate a cone with apex pointing +Y. Includes a bottom cap. Use procmesh_taper on a cylinder
procmesh_create_cylinderwritesCreate a cylinder along Y. Toggle end_caps off to get an open tube. Cylinders are the
procmesh_create_planewritesCreate a flat plane on the XZ axis, normal +Y. Use sub_x / sub_z for tessellation density.
procmesh_create_prismwritesCreate an N-sided prism (e.g. sides=6 = hexagonal prism). Internally a low-poly cylinder.
procmesh_create_spherewritesCreate a UV sphere (latitude × longitude grid). Pinches at poles — pair with procmesh_subdivide
procmesh_create_toruswritesCreate a torus on the XZ plane. major_radius = distance from origin to tube centre,
procmesh_decimatewritesDecimate a mesh down to target_triangle_count using a shortest-edge collapse heuristic
procmesh_export_assetwritesExport a mesh handle as a .asset under Assets/ (creates folders as needed).
procmesh_extrude_facewritesExtrude one or more triangle faces along their normal by 'distance'. Side walls are stitched
procmesh_generate_lodwritesGenerate N LOD levels from a base mesh. Default ratios are geometric (1/2, 1/4, 1/8…).
procmesh_get_statsread-onlyReturn detailed stats for a mesh handle: vertex / triangle count, bounds, normals/UV/tangent
procmesh_initwritesInitialize the ProcMesh runtime — creates the on-disk mock folder, seeds the three
procmesh_insetwritesInset selected faces (shrink them toward their centroid by 'distance' 0..1).
procmesh_lathewritesRevolve (lathe) a 2D profile around an axis. profile = array of Vector3 {x,y,z}.
procmesh_list_graphsread-onlyList all saved procedural graphs (sample + user-created). Read-only.
procmesh_list_handlesread-onlyList all mesh handles currently held by the runtime, with stats. Read-only.
procmesh_load_graphwritesLoad + execute a saved procedural graph. Returns the handle id of the LAST executed node
procmesh_loftwritesLoft between profile curves. profiles = array of arrays of Vector3 (each inner array is one
procmesh_mirrorwritesMirror the mesh across an axis-aligned plane through origin. Winding is flipped automatically.
procmesh_save_graphwritesSave a procedural graph definition. graph_json is the JSON-serialized BurilProcMeshGraph
procmesh_scatter_pointswritesScatter points on a mesh's surface, area-weighted, seeded (xorshift32 — Marsaglia 2003).
procmesh_shearwritesShear — offsets vertices along offset_axis proportional to position along along_axis.
procmesh_simplifywritesSimplify a mesh by reducing triangle count to target_ratio of original. ratio 0.5 → ~50 %.
procmesh_smoothwritesRecompute vertex normals as the area-weighted mean of incident face normals.
procmesh_subdividewritesSubdivide every triangle of a mesh (1-to-4 split). Methods: 'Loop' (smooths via Laplacian
procmesh_taperwritesLinearly scale the cross-section perpendicular to an axis. top_scale = 0 collapses to a point;
procmesh_triplanar_uvwritesTriplanar UV projection — each vertex projects onto the plane whose normal best matches its
procmesh_twistwritesTwist a mesh around an axis. angle_per_unit_deg = rotation applied per unit of distance