Raycast based particle-solid constraints finally work correctly