branchrust_reboot/main/collider-batchingcancel
34 Commits over 31 Days - 0.05cph!
Added collider grid with load balancing
Added collider mesh batching
Added reverse lookup for batched mesh colliders
More batched collider reverse lookup stuff
Batched colliders use the layer of their children
Batched colliders refresh when the physic materials of their children change
Batched colliders refresh when the meshes of their children change
Don't batch door colliders
Added line of sight, closest point, distance and squared distance getters to BaseEntity (OBB-based)
Added deploy volume that uses the entity bounds for its placement check
Added Vis class for spatial entity, collider and component queries
Added PoolAllocator (only supports lists for now)
Collider batches cache their member's bounds, use them for closest point checks (fixes stability issue)
GameTrace resolves batched colliders
HitInfo has GetEntity extension method that resolves batched colliders
GameTrace uses pool allocator lists instead of lambdas
RaycastHit batched collider extension methods never return null
Added proper AI obstacles to building pieces
Switch to non-batched colliders when a collider is destroyed (until the next batching update has been processed)
Reenable child collider when it leaves a collider batch
Batch all colliders after loading a save
Pool allocator improvements
Pool allocator clear resets allocation counters