public bool Raycast(Ray ray, float distance, out RaycastInfo info) { info = new RaycastInfo(); RaycastInfo[] infos; RaycastAll(ray, distance, out infos); var size = infos.Length; if (size > 0) { var min = float.MaxValue; var index = -1; for (int i = 0; i < size; i++) { if (infos[i].Distance < min) { min = infos[i].Distance; index = i; } } if (index > -1) { info = infos[index]; } } return(size > 0); }
public bool Raycast(Vector3 origin, Vector3 direction, float distance, out RaycastInfo info) { return(Raycast(new Ray(origin, direction), distance, out info)); }