Malla en Unity

Vamos a crear una malla en Unity, lo primero que vamos a explicar es lo que vamos a hacer, algo bastante simple que lo podemos hacer  en nuestro ordenador, lo podemos hacer para la iluminación, como el famoso juego among us, o para cualquier cosa ,

que es una malla está compuesta de triángulos organizados en un espacio 3D para crear de un objeto, los vértices están almacenados en una sola matriz y cada triángulo es especificado usando tres enteros que corresponden a los índices de la matriz de vértices.

En esta imagen vemos como tiene 4 vertices que forman el actual cuadrado

Vemos como nuestros triángulos forman parte de los vértices , aquí lo más importante seria determinar la orientación de la cara, desde que lado podríamos verlo.

Aquí os voy a poner una malla de un círculo

                                                                                                                               

Aquí tenemos nuestro círculo con sus triángulos está sería nuestra malla circular, Ahora vamos a hacer que cada vez  que un objeto colisione contra ella nuestra malla se deforme

Aquí tenemos la malla que hemos creado también podríamos crear lo siguiente

Aquí tenemos un objeto vacío al que le vamos a agregar[noneMesh Filter) y despues un Mesh Renderer, una vez hecho esto. Creamos un script y vamos a programar lo siguiente.

public class mayaaa : MonoBehaviour
{

    public Transform SITIO;
    public float inicio = 0;
    public float Vision = 8f;
    int rayCount = 50;
    public LayerMask layerMask;
    private Mesh meshh;
    Vector3 origen = Vector3.zero;

    void Start()
    {

        meshh = new Mesh();
        GetComponent<MeshFilter>().mesh = meshh;


    }

    // Update is called once per frame
    void Update()
    {
        Vector3 SITIO = transform.position;
        transform.position = SITIO;

        Vector3[] vertices = new Vector3[rayCount + 1 + 1];
        int[] triangulos = new int[rayCount * 3];

        float fov = 360;
        float anguloActual = inicio;
        float incrementoAngulo = fov / rayCount;


        int indiceVertinces = 1;
        int indiceTriangulos = 0;

        for (int i = 0; i <= rayCount; i++)
        {
            RaycastHit2D raycastHit2D = Physics2D.Raycast(origen, GetVectorFromAngle(anguloActual), Vision, layerMask);

            Vector3 verticeActual;

            if (raycastHit2D.collider == null)
            {
                verticeActual = origen + GetVectorFromAngle(anguloActual) * Vision;
            }

            else
            {
                verticeActual = raycastHit2D.point;
            }


            vertices[indiceVertinces] = verticeActual;

            if (i > 0 && i < rayCount)
            {

                triangulos[indiceTriangulos] = 0;
                triangulos[indiceTriangulos + 1] = i - 1;
                triangulos[indiceTriangulos + 2] = i;



                indiceTriangulos += 3;


            }

            indiceVertinces++;
            anguloActual -= incrementoAngulo;
        }


        meshh.vertices = vertices;
        meshh.triangles = triangulos;
    }


    Vector3 GetVectorFromAngle(float angle)
    {
        float angleRad = angle * (Mathf.PI / 160);
        return new Vector3(Mathf.Cos(angleRad), Mathf.Sin(angleRad));

    }
}

Aquí tendríamos nuestro escrip para agregar la collision solo tendríamos que agregar un Layer ejemplo Novisible y se lo agregamos al script al igual que se lo agregaríamos a nuestro objeto de collision

Y a nuestro objeto le pondríamos también el Layer de «No visible. también podríamos crear un Stencil, pero mi PC me está dando bastantes problemas así que lo descartaré.

Primero tendríamos que ir a asset management que se encuentra en la pestaña de Window instalar Universal RP, este contenido en Unity 2020 no esta, tampoco aunque no estoy segura en Unity 2018 y tampoco está disponible para Windows 32 Bit

Pero os intentaré explicar que es el Stencil

Más o menos es lo que os estoy enseñando, son números enteros, es el que llama al dibujo y posterior se compara con el valor para decidir si se debe destacar o no un píxel antes de ejecutar el píxel sombreador

«

Related Posts

Messi después del Mundial: la historia de un campeón que siguió intentando tocar el cielo

Lionel Messi: la historia del niño que tuvo que perder muchas veces antes de tocar el cielo La historia de Lionel Messi no es solamente la historia de uno de…

Argentina no perdió por un complot: España fue mejor y hay que aceptarlo

Cinco días después de la final: Argentina no perdió por un complot, perdió porque España fue mejor Han pasado cinco días desde la final del Mundial y todavía seguimos escuchando…

One thought on “Malla en Unity

  1. Heya! I understand this is somewhat off-topic but I needed to ask.
    Does running a well-established blog like yours take a massive amount work?
    I’m completely new to operating a blog but I do write in my journal on a daily basis.
    I’d like to start a blog so I can easily share my experience and views online.

    Please let me know if you have any kind of suggestions or tips for brand new
    aspiring bloggers. Appreciate it!

Deja una respuesta

You Missed

Messi después del Mundial: la historia de un campeón que siguió intentando tocar el cielo

  • Por admin
  • julio 27, 2026
  • 5 views
Messi después del Mundial: la historia de un campeón que siguió intentando tocar el cielo

Argentina no perdió por un complot: España fue mejor y hay que aceptarlo

  • Por admin
  • julio 24, 2026
  • 17 views
Argentina no perdió por un complot: España fue mejor y hay que aceptarlo

No fue el Mundial de Lamine Yamal: Rodri se convirtió en el verdadero líder de España

  • Por admin
  • julio 23, 2026
  • 23 views
No fue el Mundial de Lamine Yamal: Rodri se convirtió en el verdadero líder de España

Jugadores que ganaron el Mundial antes de los 20 años: la lista histórica

  • Por admin
  • julio 22, 2026
  • 34 views
Jugadores que ganaron el Mundial antes de los 20 años: la lista histórica

Mbappé vs Lamine Yamal: ¿quién es mejor?

  • Por admin
  • julio 21, 2026
  • 42 views
Mbappé vs Lamine Yamal: ¿quién es mejor?

Lamine Yamal 2026: ¿El nuevo rey del fútbol mundial?

  • Por admin
  • julio 21, 2026
  • 33 views
Lamine Yamal 2026: ¿El nuevo rey del fútbol mundial?