diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 6388b375d927..cdf1f495e41d 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -715,10 +715,11 @@ void Viewport::_process_picking() { if (camera_3d) { Vector3 from = camera_3d->project_ray_origin(pos); Vector3 dir = camera_3d->project_ray_normal(pos); + real_t far = camera_3d->far; PhysicsDirectSpaceState3D *space = PhysicsServer3D::get_singleton()->space_get_direct_state(find_world_3d()->get_space()); if (space) { - bool col = space->intersect_ray(from, from + dir * 10000, result, Set(), 0xFFFFFFFF, true, true, true); + bool col = space->intersect_ray(from, from + dir * far, result, Set(), 0xFFFFFFFF, true, true, true); ObjectID new_collider; if (col) { CollisionObject3D *co = Object::cast_to(result.collider);