Exemplo n.º 1
0
    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);
    }