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

«

admin

Related Posts

Lección del Balón de Oro, Cuando el Carácter y el Juego. No Van de la Mano

Ayer el Real Madrid se enfrentó en casa al AC Milan, pero el marcador de 1-3 en contra fue un golpe difícil. Este resultado no es alentador, y si la…

Una Jornada Que Nunca Debió Jugarse

La jornada 12 de La Liga, una jornada que jamás debió jugarse. No por el fútbol, no por los clubes, sino por respeto a las más de 200 víctimas: personas…

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

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You Missed

Ganar para No Avanzar: El Atlético de Madrid y su Estilo Estancado

  • Por admin
  • noviembre 6, 2024
  • 212 views
Ganar para No Avanzar: El Atlético de Madrid y su Estilo Estancado

Lección del Balón de Oro, Cuando el Carácter y el Juego. No Van de la Mano

  • Por admin
  • noviembre 6, 2024
  • 72 views
Lección del Balón de Oro, Cuando el Carácter y el Juego. No Van de la Mano

Una Jornada Que Nunca Debió Jugarse

  • Por admin
  • noviembre 4, 2024
  • 57 views
Una Jornada Que Nunca Debió Jugarse

Vinicius, el Real Madrid y la Sombra de la ‘Encerrona’ en el Balón de Oro

  • Por admin
  • octubre 29, 2024
  • 70 views
Vinicius, el Real Madrid y la Sombra de la ‘Encerrona’ en el Balón de Oro

La Farsa del Balón de Oro. Un Espejismo de Justicia en el Fútbol

  • Por admin
  • octubre 28, 2024
  • 86 views
La Farsa del Balón de Oro. Un Espejismo de Justicia en el Fútbol

Barcelona Imparable, Atlético en Caída y un Valencia Sin Rumbo

  • Por admin
  • octubre 28, 2024
  • 42 views
Barcelona Imparable, Atlético en Caída y un Valencia Sin Rumbo