Resultados 1 al 11 de 11

Tema: Tris a quads

  1. #1
    Fecha de ingreso
    Jun 2002
    Mensajes
    567

    Tris a quads

    Hola, yo la verdad es que de scripts y estas cosas no tengo mucha idea. Así que hago una proposición. Cuando se humilde una Nurbs a poly siempre sale en tris, se podría hacer un scripts que sustiyuya cada 2 tris, (siempre son pares) a un Quad. Esos dos triángulos definen un cuadrado, si se puede saber la posición de los vértices de esos tris tendrán dos comunes y dos diferentes así que, se puede sacer fácilmente la posición de los 4 vértices, no sé, teóricamente no es complicado ¿o sí?

  2. #2
    Fecha de ingreso
    May 2004
    Mensajes
    480

    Tris a quads

    En Blender hay un script que hace eso, podrías mirar el código, que está en Python y no debe ser muy difícil de leer. Según leí el otro día, al parecer el algoritmo como tal es bastante eficiente (usa quicksort).
    Cuando traigas un fusil y lo sientes junto a tus ideas, serás irremediablemente seducido por el poder persuasivo de las balas.

    Miscelánea Blender: Blender en español... y bien explicado! (en YouTube o en 3DPoder)

  3. #3
    Fecha de ingreso
    Sep 2002
    Mensajes
    1,305

    Tris a quads


  4. #4
    Fecha de ingreso
    Mar 2004
    Mensajes
    855

    Tris a quads

    En tu caso, pasar de tris a quads no es complicado. Hay varias formas. Una de ellas es utilizar el mecanismo que se describe aquí. Aunque en ese tutorial, el paso de exportar a 3ds no es necesario. Bastaría con hacer un snapshot.

    De todas formas, he creado un script que automatiza el proceso del tutorial. Saludos.
    Archivos adjuntados Archivos adjuntados

  5. #5
    Fecha de ingreso
    Jun 2002
    Mensajes
    567

    Tris a quads

    Vaya bien, pero mal, no es el problema de este script, al convertir una Nurbs a editmesh o a poly hace triángulos raros, con un plano Nurbs recién hecho, bien plano, funciona bien, pero si movemos algunos puntos y le damos curvatura empiezan a salir cosas raras.

  6. #6
    Fecha de ingreso
    Apr 2005
    Mensajes
    1,621

    Tris a quads

    En Blender hay un script que hace eso, podrías mirar el código, que está en Python y no debe ser muy difícil de leer. Según leí el otro día, al parecer el algoritmo como tal es bastante eficiente (usa quicksort).
    Podrías poner algún enlace de dónde sacar ese código?
    Aquel que pregunta, es tonto un rato. Aquel que no pregunta, es tonto toda la vida.

  7. #7
    Fecha de ingreso
    May 2004
    Mensajes
    480

    Tris a quads

    El script viene con la compilación oficial, pero por si acaso, aquí subo una copia (es GPL, no creo que haya problema al subirlo al foro).

    Posdata: tuve que añadirle.txt al final, la extensión original es.py.

    Edito: por lo que veo, lo que dice Halfvector es más apropiado, para el caso del 3ds Max, en particular.
    Archivos adjuntados Archivos adjuntados
    Última edición por jedihe; 26-10-2006 a las 15:08
    Cuando traigas un fusil y lo sientes junto a tus ideas, serás irremediablemente seducido por el poder persuasivo de las balas.

    Miscelánea Blender: Blender en español... y bien explicado! (en YouTube o en 3DPoder)

  8. #8
    Fecha de ingreso
    Mar 2004
    Mensajes
    855

    Tris a quads

    Yo tengo programado un conversor de tris a quads más del estilo de polybost, pero aún hay casos en los que no hace lo que debe. Si logro resolver esos problemas, lo sacaré. Saludos.

  9. #9
    Fecha de ingreso
    Apr 2005
    Mensajes
    1,621

    Tris a quads

    Vaya half. Y podrías comentar como lo haces? Así a las bravas sin código ni nada, solo algo del estilo: Pues coges los Edges de tal polígono, y luego los vértices de los Edges y le restas los vértices del polígono original y, y demás.

    Es que he estado partiéndome la cabeza para encontrar una manera de determinar por topología cuáles son los Edges que sobran en una malla de tris y no encuentro un caso que funcione siempre.
    Aquel que pregunta, es tonto un rato. Aquel que no pregunta, es tonto toda la vida.

  10. #10
    Fecha de ingreso
    Mar 2004
    Mensajes
    855

    Tris a quads

    Oshe half. Y podrías comentar como lo haces? Así a las bravas sin código ni nada, solo algo del estilo: Es que he estado partiéndome la cabeza para encontrar una manera de determinar por topología cuáles son los Edges que sobran en una malla de tris y no encuentro un caso que funcione siempre.
    Vaya es que no sé yo si existirá la forma de encontrar una forma que funcione siempre y te deje la malla con los quads tal y como esperas que debería dejarlos.

    El método que yo utilicé (que no es que esté demasiado probado) deja triángulos sin convertir (algunos de ellos incomprensiblemente). Aunque bien es cierto que puede ser de gran ayuda ya que la gran mayoría de los triángulos sí te los quita de en medio. Luego es cuestión de refinar un poco a mano.

    Lo que yo hago es hacer dos tests. Uno es el de la arista más larga y el otro el del ángulo que forman las normales de dos caras.

    Más o menos es lo siguiente:
    • declaro un array que contendrá las aristas a eliminar.
    • por cada cara del modelo.
      • la descarto si se trata de una cara de más de 3 lados.
      • recojo su normal.
      • recojo las aristas de la cara.
      • declaro una variable para almacenar la máxima longitud de la arista y otra variable para la arista con dicha longitud.
      • por cada arista de la cara.
        • se calcula la longitud de la arista.
        • comparamos la longitud de la arista actual con la anterior. Si es mayor, actualizo variables.
      • una vez he recorrido todas las aristas, cojo las caras que utilizan la arista más larga que hemos determinado en el bucle anterior (una de ellas será la que estamos recorriendo actualmente, evidentemente).
      • recojo la normal de la cara restante.
      • calculo el ángulo que forman la normal de la cara actual y la normal de la cara contigua. Si es menor que un threshold que asigna el usuario, añadimos la arista al array que contendrá las aristas a eliminar.

    El principal problema es que se deja algunos triángulos que aparentemente no debería dejar. Y el otro es cuando se encuentra con un polo, es decir, una serie de aristas conectadas a un mismo vértice (el ejemplo típico es el polo de las esferas). Para este caso creé un método especial que consistía en primero detectar el polo, claro, y luego seleccionar las aristas del polo de forma alterna. De esta forma se forman quads (aunque si el número de aristas conectadas al polo es impar, siempre quedaría un triángulo).

    En fin, que esto sólo es una orientación. Para conseguir resultados más óptimos sería conveniente hacer más tests (por ejemplo, el script que ha puesto Jedihe parece tener en cuenta el área del Quad que se formaría para saber si es válido o no). Saludos.

  11. #11
    Fecha de ingreso
    Apr 2002
    Mensajes
    10,772

    Tris a quads

    Vaya me molaría que lo sacaras Halfvector. Pues este que has puesto no me ha funcionado. Ahora mismo buscaba algo así, en XSI hay una herramientas bastante molona, por si necesitáis echarle un ojo. Gracias, saludos.
    Aqui quiero poner una imagen bonita de mi pagina, pero no puedo...ojete.

Temas similares

  1. Blender Salen tris en la textura
    Por juanma_teso en el foro Materiales y Texturizado
    Respuestas: 8
    : 01-02-2017, 18:57
  2. 3dsMax Rig en Maya de tris
    Por theloyal en el foro Animación y Rigging
    Respuestas: 0
    : 05-05-2015, 09:32
  3. 3ds Max Tris polys
    Por ArKano en el foro Programas de Diseño 3D y CAD
    Respuestas: 1
    : 04-06-2009, 22:20
  4. Tris quads y realtime
    Por kellogs en el foro Videojuegos
    Respuestas: 10
    : 18-02-2009, 09:56
  5. Pasar de tris a quads
    Por ESTOPA en el foro Modelado
    Respuestas: 1
    : 24-12-2008, 17:59