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

¿Por qué hablamos tanto de Lamine si Raphinha está siendo el mejor del Barcelona?

Raphinha, el gran olvidado del Barcelona: cuando el marketing pesa más que el rendimiento Raphinha me parece uno de los grandes olvidados de este Barcelona, y sinceramente creo que es…

Lamine tiene el futuro, pero el presente del Barcelona se llama Raphinha

El Barça gana 5-2, Lamine vuelve a marcar, pero para mí el alma de este equipo sigue siendo Raphinha Ayer el Barcelona ganó 5-2 al Rayo Vallecano y, evidentemente, estamos…

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

¿Por qué hablamos tanto de Lamine si Raphinha está siendo el mejor del Barcelona?

  • Por admin
  • septiembre 3, 2026
  • 19 views
¿Por qué hablamos tanto de Lamine si Raphinha está siendo el mejor del Barcelona?

Lamine tiene el futuro, pero el presente del Barcelona se llama Raphinha

  • Por admin
  • septiembre 1, 2026
  • 22 views
Lamine tiene el futuro, pero el presente del Barcelona se llama Raphinha

El tiempo también gana a Messi: Argentina dice adiós a una leyenda irrepetible

  • Por admin
  • septiembre 1, 2026
  • 22 views
El tiempo también gana a Messi: Argentina dice adiós a una leyenda irrepetible

Raphinha y diez más: el Barça gana, pero Lamine Yamal vuelve a dejar dudas

  • Por admin
  • agosto 28, 2026
  • 25 views
Raphinha y diez más: el Barça gana, pero Lamine Yamal vuelve a dejar dudas

Cuando Mbappé y Vinícius juegan el uno para el otro, el Real Madrid es otro equipo

  • Por admin
  • agosto 27, 2026
  • 43 views
Cuando Mbappé y Vinícius juegan el uno para el otro, el Real Madrid es otro equipo

Lamine Yamal no es Messi ni Cristiano: dejémosle escribir su propia historia

  • Por admin
  • agosto 27, 2026
  • 30 views
Lamine Yamal no es Messi ni Cristiano: dejémosle escribir su propia historia