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[none] Mesh 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

La prensa creó al nuevo Messi y ahora castiga a Lamine Yamal por no serlo

Lamine Yamal no es Messi, ni Cristiano Ronaldo, ni Mbappé: el problema no es su fútbol, sino las expectativas que han creado sobre él Hoy parece que le toca recibir…

Nadie apostaba por el Real Madrid, pero Mourinho volvió a dar una lección de fútbol

El Real Madrid vuelve a demostrar que nunca se le puede dar por muerto, Mourinho ganó la batalla al Barcelona Ayer el Real Madrid volvió a demostrar por qué es…

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

La prensa creó al nuevo Messi y ahora castiga a Lamine Yamal por no serlo

  • Por admin
  • octubre 26, 2026
  • 40 views
La prensa creó al nuevo Messi y ahora castiga a Lamine Yamal por no serlo

Nadie apostaba por el Real Madrid, pero Mourinho volvió a dar una lección de fútbol

  • Por admin
  • octubre 26, 2026
  • 46 views
Nadie apostaba por el Real Madrid, pero Mourinho volvió a dar una lección de fútbol

El Barça juega mejor, pero el Real Madrid de Mourinho nunca debe darse por muerto

  • Por admin
  • octubre 24, 2026
  • 33 views
El Barça juega mejor, pero el Real Madrid de Mourinho nunca debe darse por muerto

Real Madrid y Barcelona ganan entre polémicas: ¿es esta la Liga que queremos?

  • Por admin
  • octubre 20, 2026
  • 50 views
Real Madrid y Barcelona ganan entre polémicas: ¿es esta la Liga que queremos?

El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados?

  • Por admin
  • octubre 15, 2026
  • 82 views
El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados?

El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre

  • Por admin
  • octubre 13, 2026
  • 60 views
El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre