diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 70ab1231b30..ab429a3f894 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -647,10 +647,11 @@ void Viewport::_process_picking(bool p_ignore_paused) { if (camera) { Vector3 from = camera->project_ray_origin(pos); Vector3 dir = camera->project_ray_normal(pos); + float far = camera->far; PhysicsDirectSpaceState *space = PhysicsServer::get_singleton()->space_get_direct_state(find_world()->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 = 0; if (col) { CollisionObject *co = Object::cast_to(result.collider);