raycast method
RaycastHit?
raycast(
- Ray ray, {
- double maxDistance = double.infinity,
- int layerMask = 0xFFFFFFFF,
- bool includeFixed = true,
- bool includeKinematic = true,
- bool includeDynamic = true,
- bool includeTriggers = false,
override
Implementation
@override
RaycastHit? raycast(
Ray ray, {
double maxDistance = double.infinity,
int layerMask = 0xFFFFFFFF,
bool includeFixed = true,
bool includeKinematic = true,
bool includeDynamic = true,
bool includeTriggers = false,
}) {
RaycastHit? best;
for (final collider in _colliders) {
if (!_passesFilters(
collider,
layerMask: layerMask,
includeFixed: includeFixed,
includeKinematic: includeKinematic,
includeTriggers: includeTriggers,
)) {
continue;
}
final hit = rayHitsShape(
ray,
collider.shape,
collider.worldPose,
maxDistance,
);
if (hit == null) continue;
if (best == null || hit.distance < best.distance) {
best = _wrapHit(collider, hit);
}
}
return best;
}