Transform GetObjectInPoint(Vector3 screenPoint, out Vector3 hitPoint) { Ray ray = Camera.main.ScreenPointToRay(screenPoint); RaycastHit hit; if (Physics.Raycast(ray, out hit, 500)) { hitPoint = hit.point; if (ObjectSelector.IsSelectable(hit.transform)) { return(hit.transform); } } //если не было перечения с выделяемым объектом, то делаем Raycast к земле if (Physics.Raycast(ray, out hit, 500, GameManager.GroundLayers)) { hitPoint = hit.point; return(null); } hitPoint = Vector3.zero; return(null); }