Flock::Collision
Constants
Class methods
Ray (unit d) vs a single collider; returns {distance, normal} or nil.
Used by ray casts and by continuous collision (swept) detection.
Ray (unit d) vs a single collider; returns {distance, normal} or nil.
Returns every entity whose collider overlaps the query circle (center,
radius). mask filters by collider layer bits. Reuses the narrowphase, so
it handles circle/box/capsule colliders with rotation.
Every entity whose collider contains point.
Every entity whose collider contains point.
Every entity whose collider overlaps the query sphere (center, radius).
mask filters by collider layer bits. Collider orientation comes from each
body's RigidBody3D.orientation (NOT Transform3D.rotation); only entities
carrying a RigidBody3D are considered, so bare Collider3D + Transform3D
geometry is invisible to this query. The same applies to overlap_point3d.
Casts a ray and returns the nearest collider it hits, or nil. direction
need not be unit length, but a ~zero-length direction yields no hit (nil)
rather than a bogus result. mask filters by collider layer bits.
Casts a ray in 3D and returns the nearest collider hit, or nil. direction
need not be unit length, but a ~zero-length direction yields no hit (nil)
rather than a bogus result. Orientation
comes from each body's RigidBody3D.orientation (NOT Transform3D.rotation),
so a rotated static collider must be oriented via RigidBody3D.static(orientation:).
Only entities carrying a RigidBody3D are considered — bare
Collider3D + Transform3D geometry is invisible to the raycast.
One fixed-timestep 2D physics step (registered in FixedUpdate).
One fixed-timestep 3D physics step. Orientation authority is
RigidBody3D.orientation; Transform3D.rotation is IGNORED (rotate static
geometry via RigidBody3D.static(orientation:)). Only entities carrying a
RigidBody3D participate — a bare Collider3D + Transform3D is invisible
to the step. Results are written to each dynamic entity's Transform3D
(position + matrix_override). Static bodies are left as authored. Resting
bodies sleep per contact island.
Nested types
- Flock::Collision::AABB2D
- Flock::Collision::AABB3D
- Flock::Collision::BVH2D
- Flock::Collision::BVH3D
- Flock::Collision::BodyState
- Flock::Collision::BodyState3D
- Flock::Collision::BodyType
- Flock::Collision::Broadphase2D
- Flock::Collision::Broadphase3D
- Flock::Collision::CachedImpulse2D
- Flock::Collision::CachedImpulse3D
- Flock::Collision::Collider2D
- Flock::Collision::Collider3D
- Flock::Collision::Contact2D
- Flock::Collision::Contact3D
- Flock::Collision::ContactConstraint2D
- Flock::Collision::ContactConstraint3D
- Flock::Collision::ContactManifold2D
- Flock::Collision::ContactManifold3D
- Flock::Collision::ContactPoint2D
- Flock::Collision::ContactPoint3D
- Flock::Collision::GJK3D
- Flock::Collision::Joint2D
- Flock::Collision::Joint3D
- Flock::Collision::JointSolver2D
- Flock::Collision::JointSolver3D
- Flock::Collision::JointType
- Flock::Collision::Manifold2D
- Flock::Collision::Manifold3D
- Flock::Collision::Narrowphase2D
- Flock::Collision::Narrowphase3D
- Flock::Collision::OBB
- Flock::Collision::OBB3D
- Flock::Collision::Physics2D
- Flock::Collision::Physics2DPlugin
- Flock::Collision::Physics3D
- Flock::Collision::Physics3DPlugin
- Flock::Collision::RayHit2D
- Flock::Collision::RayHit3D
- Flock::Collision::RigidBody2D
- Flock::Collision::RigidBody3D
- Flock::Collision::Shape2D
- Flock::Collision::Shape3D
- Flock::Collision::Solver2D
- Flock::Collision::Solver3D
- Flock::Collision::SpatialHash2D
- Flock::Collision::SpatialHash3D
- Flock::Collision::SweepPrune2D
- Flock::Collision::SweepPrune3D
- Flock::Collision::UnionFind