Collision System Architecture
Tensio offers three distinct collision modes tailored for different scene scales and performance budgets:
1. World Collision (Standard Unity Colliders)
The most flexible method, allowing ropes to interact with the broader game world (static terrain, complex architecture, arbitrary convex/concave mesh colliders, and dynamic objects).
- Mechanism: Dispatches parallel
Physics.SphereCastray sweeps along particle trajectories. - Setup: On
RopeController, set the Collision Mask to your target layers (e.g.Default,Ground,Obstacles).
2. Proxy Collision (Analytical Geometric Primitives)
An ultra-fast, zero-allocation collision system running entirely within Burst jobs that bypasses Unity’s PhysX engine completely.
- Mechanism: Solves analytical Signed Distance Fields (SDF) inside Burst C# jobs for mathematical spheres, boxes, capsules, and infinite planes.
- Setup: Attach a proxy component to your target GameObject:
RopeSphereProxyRopeBoxProxyRopeCapsuleProxyRopePlaneProxy(Or use the automated Make Colliders Rope-Ready tool).
3. Inter-Rope Collision (Rope-on-Rope)
Prevents ropes from passing through themselves or other ropes, essential for tying knots, tangled cable piles, nets, or whip-cracking mechanics.
- Mechanism: Global uniform Spatial Hashing executed across all registered particles.
- Setup:
- Add a single
RopeInteractionManagercomponent to a persistent manager in your scene. - On each
RopeController, check Support Inter Rope Collision.
- Add a single
Configuration Parameters
- Cell Size: Diameter of spatial hash buckets. Set slightly larger than your thickest rope’s diameter (default
~0.25m). - Stiffness: Repulsion force pushing intersecting strands apart (
0.5recommended for maximum numerical stability).