Convertir GLTF a PLY

Aquí puedes convertir GLTF a PLY gratis y sin cuenta: suelta el archivo arriba y en un par de segundos tienes el resultado listo para descargar. La conversión ocurre en tu propio navegador, así que el archivo no se sube nunca. Funciona igual en Windows, macOS y Linux que en iPhone y Android, y sigue funcionando aunque cortes la conexión.

  • Dónde se ejecuta En tu navegador. El archivo no se sube.
  • Reconstruido PLY funciona de otra manera que GLTF. No es la degradación gradual de un códec con pérdida: lo que PLY puede expresar se reproduce fielmente, y lo que no tiene equivalente allí no sobrevive en absoluto.
  • Límite de tamaño Hasta 100 MB por archivo, gratis y sin cuenta.
  • Conviene saberlo Solo la geometría. Los materiales, los colores, las texturas y la animación no viajan, y un modelo colocado varias veces vuelve con cada copia fijada en su propia posición.

Hasta 100 archivos a la vez. Mezclar formatos no es problema.

Por qué las herramientas de análisis prefieren un PLY

PLY salió de Stanford en 1994 justo para esto: una malla con un conjunto arbitrario de propiedades por vértice y por cara, declaradas en una cabecera que un programa puede leer sin saber nada de antemano. Ese diseño es la razón de que se convirtiera en la moneda corriente del escaneado, la fotogrametría y el trabajo académico de geometría, y de que CloudCompare, MeshLab, Open3D y trimesh lo traten como entrada de primera clase.

glTF se diseñó para el extremo opuesto de la cadena: entregar un modelo terminado a un motor de representación a través de una red. Sus virtudes son justo lo que una herramienta de medición ignora —definiciones de material, empaquetado de texturas, animación, mecanismos de extensión—. Varias de esas herramientas no tienen importador de glTF, y las que lo tienen lo tratan como algo secundario. Convertir suele salir más barato que pelearse con eso.

La cabecera PLY que se escribe desde tu glTF, línea a línea

Es deliberadamente mínima: la palabra ply, después format ascii 1.0, un comentario que nombra a quien lo escribió, una declaración element vertex con su recuento, tres líneas property float para x, y y z, una declaración element face con su recuento, una línea property list uchar int vertex_indices y end_header.

Ése es el dialecto de PLY con más soporte que existe. Un recuento de caras en uchar con índices en int es lo que asume casi cualquier lector cuando toma atajos, y posiciones en float en lugar de double dejan el archivo a la mitad de tamaño con una precisión que ninguna malla de aquí necesita. Si vas a escribir un analizador contra esta salida, esas siete declaraciones son el contrato completo.

Salida en ASCII, y lo que eso cuesta en un modelo grande

Cada coordenada se escribe como texto decimal, un vértice por línea y un triángulo por línea. Un vértice que ocupaba doce bytes en el búfer del glTF pasa a ocupar entre veinte y sesenta caracteres, así que cuenta con que el PLY sea varias veces el tamaño de la geometría de la que salió. Un modelo de dos millones de triángulos es un archivo de texto grande.

La compensación es que no hay nada ambiguo en él. El PLY binario viene en variantes de orden de bytes distinto y con disposiciones de propiedades que el lector tiene que reconstruir desde la cabecera, y una suposición equivocada ahí produce mallas que se cargan como ruido. El ASCII no puede fallar de esa manera, y para un archivo que va a entrar una vez en una herramienta de análisis, el tamaño rara vez importa más que la certeza.

Todas las mallas del glTF se funden en una sola superficie

Un archivo PLY contiene un elemento de vértices y un elemento de caras. No hay grupo, ni objeto, ni pieza. Así que el conversor funde en una sola lista todas las mallas que leyó de la escena del glTF, desplazando los índices de cada una según el número de vértices ya escritos para que los triángulos sigan apuntando a donde deben.

La geometría no cambia y la estructura desaparece. Un glTF montado a partir de doce piezas con nombre se convierte en una superficie con doce cascarones inconexos, y los nombres se van con la estructura. Si esas divisiones son lo que necesitas más adelante, el destino que las conserva es OBJ, y convertir a OBJ no te quita nada más de lo que PLY te habría dado.

PLY guarda color por vértice y esta conversión no escribe ninguno

El motivo más citado para usar PLY es que admite rojo, verde y azul por vértice, que es como un escaneo fotogramétrico lleva su aspecto sin necesidad de textura. El formato lo admite y los lectores lo esperan.

Aquí no se escribe. El color de un glTF vive en materiales y texturas indexadas por coordenadas UV, y nada de eso se lee; y aunque el archivo declarase un atributo de color por vértice, ese atributo tampoco se lee. La salida es una superficie sin color, que es lo correcto para medir y lo equivocado si lo que querías era una exportación que conservara la apariencia. Conviene saberlo antes de convertir el levantamiento de un capitel o de un relieve, porque en ese material el color no es decoración: a menudo es el dato.

Las transformaciones de los nodos se hornean antes de fundir nada

La escena se recorre desde su escena por defecto, cada matriz de nodo se multiplica por la de su padre y la matriz resultante se aplica a los vértices. Los nodos escritos con traslación, rotación y escala por separado se componen antes en una matriz, siguiendo el convenio de cuaterniones que define glTF.

Hacerlo antes de la fusión es lo que la vuelve segura. Si las transformaciones se dejaran sin aplicar, aplanar varias mallas en una sola lista amontonaría todas las piezas en el origen y produciría una forma sin ninguna relación con el modelo. Hornear primero significa que las cifras que midas en CloudCompare son las que describía la escena del glTF, cosa que importa mucho cuando el modelo venía georreferenciado o con una escala real establecida en el trabajo de campo.

Lo que un glTF le da al PLY y un STL nunca podría

Un búfer de índices, tal cual. glTF guarda los triángulos como índices dentro de una lista de posiciones compartida, y la conversión conserva esa estructura elemento por elemento en vez de reconstruirla: en este camino no se aplica ninguna soldadura de vértices, porque no hay nada que reparar. Un STL que llega al mismo destino hay que soldarlo antes, porque por diseño guarda tres vértices sin compartir por cada triángulo.

Esa diferencia decide si el análisis que vas a ejecutar significa algo. Las comprobaciones de variedad, la estimación de normales, la curvatura, la distancia geodésica, el suavizado laplaciano y la decimación asumen conectividad. La única advertencia que conviene llevarse a MeshLab es que los exportadores parten vértices en las costuras de UV y de normales, y esos duplicados sobreviven aquí como entradas separadas en coordenadas idénticas, así que una pasada de fusión de vértices próximos antes de una comprobación topológica es un hábito sensato.

Todo lo demás que el glTF llevaba se queda fuera

Merece enumerarlo, porque en un modelo de patrimonio o de producto es mucho. Materiales, imágenes de textura, coordenadas UV, normales por vértice o por cara, colores por vértice, cámaras, luces, animaciones, esqueletos y objetivos de deformación, y el propio grafo de escena: nada de eso llega al PLY.

La razón no es que se descarten uno a uno, sino que la representación intermedia por la que pasa todo aquí guarda dónde están los triángulos y sus nombres, y no tiene ningún sitio donde poner un color, una UV, una normal o un fotograma clave. Lo que se convierte es geometría. Si en tu caso lo importante es el aspecto, el glTF ya es el archivo correcto y esta conversión no te va a acercar a nada.

Los tres glTF que este conversor rechaza

Un .gltf que guarda su geometría en un .bin aparte no se puede leer, porque un conversor de un solo archivo nunca ve el segundo; el mensaje lo dice y sugiere el .glb, que lo lleva todo junto. Un archivo que usa KHR_draco_mesh_compression se detiene con un mensaje que nombra a Draco, cuyo descodificador no viaja con esta página.

Y las primitivas que no son listas de triángulos se saltan. El modo 4 de glTF son triángulos; las tiras, los abanicos, las líneas y los puntos no son superficies que este conversor pueda convertir en caras, y un archivo que solo contenga eso informa de que no se encontró geometría triangular en vez de producir un PLY vacío que falla en silencio dos pasos más adelante, dentro de tu análisis.

Cuándo un glTF no debería convertirse en PLY

Si vas a mirar el modelo en lugar de medirlo, PLY es un mal destino: sin materiales, sin texturas, sin estructura y con un archivo bastante mayor. Quédate con el glTF, o convierte a OBJ si el visor es antiguo. Para una publicación en línea o para un visor web, el glTF ya está en el formato que ese destino quiere.

PLY se gana su sitio cuando el paso siguiente es un algoritmo geométrico: decimación, remallado, cierre de agujeros, alineación contra otro escaneo, una medición de volumen o de superficie, una distancia de Hausdorff entre dos versiones de la misma pieza para documentar un deterioro. Para ese trabajo, la planitud y la falta de color son irrelevantes, y tener la malla en el formato alrededor del cual se escribió la herramienta vale más que todo lo que la conversión deja por el camino.

La conversión se hace en la pestaña, con el modelo dentro

Todo esto ocurre en tu navegador: se lee el glTF, se recorre la escena, se hornean las matrices, se funden las mallas y se escribe el texto del PLY sin que el archivo salga de la máquina. El tope de la capa gratuita son 100 MB por archivo, y el límite práctico que encontrarás antes en un modelo muy denso es la memoria de la propia pestaña, porque un PLY ASCII se construye entero antes de descargarse.

Para el material de un levantamiento eso no es una comodidad. Un escaneo de un bien patrimonial, el modelo de una pieza antes de restaurar o la geometría de un producto sin lanzar suelen venir con condiciones sobre dónde pueden almacenarse, y subirlos a un conversor web es exactamente la transferencia que esas condiciones existen para evitar. Se puede comprobar en el panel de red mientras convierte, que es más rápido que redactar un correo pidiendo permiso.

Cómo convertir GLTF a PLY

  1. Suelta tu archivo GLTF en esta página, o haz clic para elegir uno.
  2. Elige PLY como destino. La conversión ocurre en tu navegador y el archivo no se sube.
  3. Descarga el archivo PLY terminado.

GLTF frente a PLY: qué cambia

GLTF frente a PLY
GLTFPLY
Nombre completoGL Transmission FormatPolygon File Format
Extensión de archivo.gltf.ply
Tipo de mediomodel/gltf+jsonmodel/ply
Publicado por primera vez20151994
Publicado porKhronos GroupStanford University
EspecificaciónglTF 2.0
LicenciaEstándar abiertoEstándar abierto
Situación actualVigenteVigente
Se abre en el navegadorNingún navegadorNingún navegador
Considerado en su lugarGLB, OBJOBJ, STL

Abrir el resultado

Blender lee tanto GLTF como PLY, así que puedes comparar el resultado con el original sin un segundo programa.

Para qué sirve cada formato

Los dos apuntan a trabajos distintos: GLTF a la web y entregar un archivo terminado y PLY a el escaneo y mover datos entre programas. Conviene sopesarlo antes, porque la razón de ser de uno suele ser la razón por la que el otro resulta incómodo.

GLTF es el formato de Khronos Group, publicado en 2015. Está recogido en glTF 2.0, y conviene conocerlo si el archivo tiene que sobrevivir a la herramienta que lo escribió.

PLY viene de Stanford University y es de 1994. MeshLab, Blender y CloudCompare lo leen.

PLY se publicó en 1994 y GLTF en 2015. El más antiguo suele ser el archivo más seguro para entregar; el más reciente hace lo mismo con menos bytes.

De GLTF a PLY: preguntas frecuentes

¿Se sube a algún sitio mi archivo GLTF?

No. Esta conversión ocurre por completo en tu navegador, así que el archivo no sale de tu dispositivo. Puedes comprobarlo tú: abre la pestaña de red de las herramientas de desarrollo y convierte algo. Verás la propia página y las peticiones de estadística y publicidad con las que se paga este servicio, y ni una sola que lleve tu archivo.

¿Convertir GLTF a PLY es gratis?

Sí. Sin cuenta, sin marca de agua y sin cupo diario que se gaste: se ejecuta en tu propio equipo, así que puedes volver tantas veces como quieras. El navegador procesa archivos de hasta 100 MB, 100 a la vez.

¿Se pierde calidad al convertir GLTF a PLY?

GLTF y PLY describen el contenido de maneras radicalmente distintas. La conversión es por tanto una reconstrucción y no una copia: fiel, pero no idéntica byte a byte. Solo la geometría. Los materiales, los colores, las texturas y la animación no viajan, y un modelo colocado varias veces vuelve con cada copia fijada en su propia posición.

¿Tengo que instalar algo para abrir un archivo PLY?

Para la conversión no: ocurre en el navegador que ya tienes abierto. Para abrir el resultado necesitas después el programa con el que tu dispositivo muestra normalmente Polygon File Format.

Más sobre estos formatos