Esempio n. 1
0
    //Devuelve  true si se ha producido una colision con el planeta y además las coordenadas de la casilla del tablero en la que ha impactado el raycast (en caso de producirse)
    public bool raycastRoca(Vector3 posicion, ref int x, ref int y, out RaycastHit hit)
    {
        //RaycastHit hit;
        Ray ray = Camera.main.ScreenPointToRay(posicion);

        if (objetoRoca.collider.Raycast(ray, out hit, Mathf.Infinity))
        {
            double    xTemp = hit.textureCoord.x;
            double    yTemp = hit.textureCoord.y;
            Texture2D tex   = objetoRoca.renderer.sharedMaterial.mainTexture as Texture2D;
            xTemp = xTemp * tex.width / FuncTablero.getRelTexTabAncho();
            yTemp = (yTemp * tex.height / FuncTablero.getRelTexTabAlto());
            x     = (int)xTemp;
            y     = (int)yTemp;
            FuncTablero.convierteCoordenadas(ref y, ref x);
            return(true);
        }
        else
        {
            return(false);
        }
    }