Runtime mesh fracturing via cut planes. Caps with planar UVs, pooling, recursion.The Destructible Component is a lightweight, runtime mesh splitter that fractures any Read/Write mesh along one or more planes. It generates clean caps with planar UVs (to a channel you choose), separates sides/caps into two submeshes for easy styling, and optionally adds convex colliders and rigidbodies with velocity/mass inheritance.It’s renderer-agnostic (Built-in/URP/HDRP), uses pooled scratch buffers to minimize GC, and supports recursive fragmentation by depth or minimum volume. Triangulation adapts per case: fan for convex caps, ear-clipping for concave, and CDT when holes/constraints are present.Great for action, sim, and VFX—any project that needs convincing, controllable destruction without heavy authoring.FeaturesRuntime plane-based splitting (single or multi-plane)Reliable cap triangulation: fan (convex), ear-clipping (concave), CDT (holes)Planar UVs for caps to a selectable UV channel; sides keep UV0Two submeshes (sides / caps) to assign a dedicated cap materialOptional convex MeshCollider generation and Rigidbody inheritanceRecursive fragmentation: None, All, Depth, VolumePooling + scratch buffers to reduce allocations and spikesSimple API: ApplyImpact(...) and ApplyImpactWithPlanes(...)Fast path skips island detection when a single loop is producedAPI notesUses breakingThreshold and useAccumulation with the impactPower you pass to decide if a split occurs. If it proceeds, it generates splitPlaneNumber planes (optionally aligned by optionalDirection).ApplyImpact(point, impactPower, out fragments, optionalDirection)Always splits using your planes; ignores breakingThreshold, useAccumulation, and splitPlaneNumber.ApplyImpactWithPlanes(planes, out fragments)If reactToCollision is enabled, impact power is derived from Unity’s relativeVelocity × collisionMultiplier, compared against breakingThreshold (respecting useAccumulation).IncludedTriangulation (standalone usable): Geometry.Triangulation/EarClipping.cs, CDT.csScripts :Destructible (runtime plane-based splitter), FragmentPool, DestructibleDemoControllerEditor: DestructibleEditorPDF manual: Destructible_BSP_Splitter_Manual.pdf (offline, step-by-step + API notes)Documentation :Simple demo scene showcasing projectile + hitscan usageDemo content :Test meshes for triangulation cases (convex, concave, holes)Matching materials and textures for those meshesDestruction and Geometry.TriangulationNamespaces :RequirementsUnity 2022.3+ (tested with Unity 6.3 LTS)Meshes must be Read/Write EnabledWorks with Built-in, URP, HDRP (renderer-agnostic)PerformanceReuses internal buffers; GC kept lowMost cuts yield a single intersection loop (fast path)Optional colliders/rigidbodies add runtime cost proportional to fragment countLimitations & notesLODGroup: recommend forcing LOD0 before splitting; avoid reactToCollision on LOD’d objectsCap shading: for PBR, caps may look glossier if smoothness/metallic maps don’t match planar UVs; assign a dedicated cap material or author cap texturesPhysics: fresh convex colliders may slightly inflate; dense fragments can initially overlap and depenetrate stronglyLicensing/usageNo external dependencies. Code is namespaced (Destruction, Geometry.Triangulation).


