Converter GLTF para PLY

Aqui você converte GLTF para PLY de graça e sem conta: solte o arquivo acima e em poucos segundos o resultado está pronto para baixar. A conversão acontece dentro do seu próprio navegador, então o arquivo nunca é enviado. Funciona igual no Windows, no macOS e no Linux e também no iPhone e no Android, e continua funcionando mesmo se você cortar a conexão.

  • Onde roda No seu navegador. O arquivo nunca é enviado.
  • Reconstruído PLY funciona de um jeito diferente de GLTF. Não é a degradação gradual de um codec com perda: o que PLY consegue expressar é reproduzido fielmente, e o que não tem equivalente ali não sobrevive de jeito nenhum.
  • Limite de tamanho Até 100 MB por arquivo, de graça e sem conta.
  • Vale saber Só a geometria. Materiais, cores, texturas e animação não vão junto, e um modelo colocado várias vezes volta com cada cópia fixada na sua própria posição.

Até 100 arquivos de uma vez. Formatos misturados não são problema.

Por que uma ferramenta de processamento de malha quer PLY, não glTF

O PLY saiu de Stanford em 1994 exatamente para isto: uma malha com um conjunto arbitrário e autodescritivo de propriedades por vértice e por face, num cabeçalho que um programa lê sem saber nada de antemão. Esse desenho é o motivo de o formato ter virado a moeda padrão de escaneamento, fotogrametria e trabalho acadêmico com geometria, e por que CloudCompare, MeshLab, Open3D e trimesh tratam ele como entrada de primeira classe.

O glTF foi desenhado para a outra ponta do processo — entregar um recurso pronto a um renderizador pela rede. Os pontos fortes dele são exatamente o que uma ferramenta de medição ignora: definição de material, empacotamento de textura, animação, mecanismo de extensão. Várias dessas ferramentas nem têm importador de glTF, e as que têm tratam ele como um extra. Converter costuma ser mais rápido do que brigar com isso.

O cabeçalho PLY gerado a partir do seu glTF, linha por linha

É deliberadamente mínimo: a palavra mágica ply, depois format ascii 1.0, um comentário nomeando quem gerou, uma declaração element vertex com a contagem, três linhas property float para x, y e z, uma declaração element face com a contagem, uma linha property list uchar int vertex_indices, e end_header.

É o dialeto de PLY mais amplamente suportado que existe. Uma contagem de face em uchar com índices em int é o que quase todo leitor assume quando toma atalhos, e posições em float em vez de double mantêm o arquivo na metade do tamanho, precisão que nenhuma malha aqui precisa. Se você está escrevendo um analisador contra esta saída, essas sete declarações são o contrato inteiro.

Saída em ASCII, e o que isso custa num glTF grande

Toda coordenada é escrita como texto decimal, um vértice por linha e um triângulo por linha. Um vértice que ocupava doze bytes no buffer do glTF ocupa de vinte a sessenta caracteres aqui, então espere um PLY várias vezes maior que a geometria de origem. Um modelo de dois milhões de triângulos vira um arquivo de texto grande.

A compensação é que nada nele é ambíguo. PLY binário vem em variantes little-endian e big-endian com layout de propriedade que um leitor precisa reconstruir a partir do cabeçalho, e uma suposição errada ali produz malha que carrega como ruído. ASCII não falha desse jeito, e para um arquivo que vai entrar numa ferramenta de análise uma vez só, o tamanho raramente pesa mais que a certeza.

Todas as malhas de um glTF viram uma única superfície PLY

Um arquivo PLY guarda um elemento de vértice e um elemento de face. Não existe grupo, não existe objeto, não existe parte. Por isso o conversor junta cada malha lida da cena do glTF numa lista única, deslocando os índices de cada malha pela quantidade de vértices já escritos, para os triângulos continuarem apontando para os lugares certos.

A geometria fica igual e a estrutura desaparece. Um glTF montado com doze partes nomeadas vira uma superfície de doze cascas desconectadas, e os nomes vão junto com a estrutura. Se essas divisões são o que você precisa a seguir, o OBJ é o destino que mantém elas, e converter para OBJ em vez disso não custa mais nada que o PLY entregaria.

O PLY carrega cor por vértice, e esta conversão não usa isso

O motivo mais citado para usar PLY é que ele guarda vermelho, verde e azul por vértice, que é como um escaneamento de fotogrametria carrega a aparência sem textura. O formato aceita isso, e os leitores esperam encontrar.

Este conversor não escreve nada disso. A cor num glTF mora em materiais e texturas indexados por coordenadas UV, e nenhum dos dois é lido; não existe atributo de cor por vértice para atravessar, mesmo quando a origem declara um, porque esse atributo também não é lido. A saída é uma superfície sem cor, o que está correto para medição e errado se o objetivo era uma exportação que preserva aparência.

As transformações de nó são cravadas antes de as malhas do glTF se juntarem

A cena é percorrida a partir da cena padrão, cada matriz de nó multiplicada pela do pai, e a matriz de mundo aplicada aos vértices. Nós definidos com translação, rotação e escala separadas são compostos numa matriz primeiro, seguindo a convenção de quaternion que o glTF define.

Fazer isso antes de juntar as malhas é o que torna a junção segura. Se as transformações ficassem sem aplicar, achatar várias malhas numa lista só empilharia cada parte na origem e produziria uma forma sem relação nenhuma com o modelo. Cravar antes significa que os números que você mede no CloudCompare são os números que a cena do glTF descrevia.

O que um glTF dá ao PLY que um STL nunca conseguiria

Um buffer de índices, atravessado ao pé da letra. O glTF guarda triângulos como índices num vetor de posições compartilhado, e a conversão preserva essa estrutura elemento por elemento em vez de reconstruir ela — nenhuma junção é aplicada neste caminho, porque não há nada a consertar. Um STL chegando ao mesmo destino precisa ser soldado primeiro, já que ele guarda três vértices não compartilhados por triângulo, por desenho do formato.

Essa distinção decide se a análise que você está prestes a rodar significa alguma coisa. Verificação de variedade, estimativa de normal, curvatura, distância geodésica, suavização de Laplace e decimação assumem conectividade. O cuidado que vale carregar para o MeshLab é que exportadores separam vértices em costuras de UV e normal, e essas duplicatas sobrevivem aqui como entradas separadas em coordenadas idênticas, então rodar uma junção de vértices próximos antes de uma checagem topológica é um hábito sensato.

Origens glTF que este conversor recusa

Um .gltf que mantém a geometria num .bin separado não pode ser lido, porque um conversor de arquivo único nunca vê o segundo arquivo; a mensagem diz isso e sugere o .glb, que tem tudo num só lugar. Um arquivo usando KHR_draco_mesh_compression para com uma mensagem nomeando o Draco, cujo decodificador não vem embutido aqui.

Primitivas que não são listas de triângulo são ignoradas. O modo 4 do glTF é triângulo; tira, leque, linha e ponto não são superfícies que este conversor consiga transformar em face, e um arquivo contendo só isso avisa que nenhuma geometria triangular foi encontrada, em vez de produzir um PLY vazio que falha em silêncio na sua análise dois passos depois.

Quando um glTF não deveria virar um PLY

Se você vai olhar o modelo em vez de medir ele, o PLY é um destino pobre: sem material, sem textura, sem estrutura, e um arquivo bem maior. Guarde o glTF, ou converta para OBJ se o visualizador é antigo.

O PLY ganha o lugar dele quando o próximo passo é um algoritmo de geometria — decimação, remalhagem, preenchimento de buraco, alinhamento contra um escaneamento, medição de volume ou área de superfície, distância de Hausdorff entre duas versões da mesma peça. Para esse trabalho a falta de estrutura e de cor não importa, e ter a malha no formato ao redor do qual a ferramenta foi escrita vale mais do que qualquer coisa que a conversão descarte.

Como converter GLTF para PLY

  1. Solte o seu arquivo GLTF nesta página, ou clique para escolher um.
  2. Escolha PLY como destino. A conversão acontece no seu navegador e o arquivo não é enviado.
  3. Baixe o arquivo PLY pronto.

GLTF ou PLY: o que muda

GLTF comparado com PLY
GLTFPLY
Nome completoGL Transmission FormatPolygon File Format
Extensão do arquivo.gltf.ply
Tipo de mídiamodel/gltf+jsonmodel/ply
Publicado pela primeira vez20151994
Publicado porKhronos GroupStanford University
EspecificaçãoglTF 2.0
LicençaPadrão abertoPadrão aberto
Situação hojeAtualAtual
Abre no navegadorNenhum navegadorNenhum navegador
Considerado no lugarGLB, OBJOBJ, STL

Abrir o resultado

Blender lê tanto GLTF quanto PLY, então dá para comparar o resultado com o original sem um segundo programa.

Para que serve cada formato

Os dois miram trabalhos diferentes: GLTF em a web e entregar um arquivo pronto, PLY em a digitalização e mover dados entre programas. Vale pesar isso antes, porque o motivo de um existir costuma ser o motivo de o outro ser incômodo.

GLTF é o formato da Khronos Group, publicado em 2015. Está descrito em glTF 2.0, e vale conhecer se o arquivo precisa sobreviver à ferramenta que o escreveu.

PLY vem da Stanford University é de 1994. MeshLab, Blender e CloudCompare leem o formato.

PLY foi publicado em 1994 e GLTF em 2015. O mais antigo costuma ser o arquivo mais seguro para entregar; o mais novo faz o mesmo com menos bytes.

De GLTF para PLY: perguntas frequentes

Meu arquivo GLTF é enviado para algum lugar?

Não. Esta conversão acontece inteiramente no seu navegador, então o arquivo não sai do seu aparelho. Você mesmo pode conferir: abra a aba de rede das ferramentas de desenvolvedor e converta alguma coisa. Você verá a própria página e as requisições de estatística e de publicidade com que este serviço é pago, e nenhuma que leve o seu arquivo.

Converter GLTF para PLY é grátis?

É. Sem conta, sem marca d’água e sem cota diária para gastar: roda no seu próprio aparelho, então você pode voltar quantas vezes quiser. O navegador processa arquivos de até 100 MB, 100 por vez.

Perde qualidade ao converter GLTF para PLY?

GLTF e PLY descrevem o conteúdo de maneiras radicalmente diferentes. A conversão é, portanto, uma reconstrução e não uma cópia: fiel, mas não idêntica byte a byte. Só a geometria. Materiais, cores, texturas e animação não vão junto, e um modelo colocado várias vezes volta com cada cópia fixada na sua própria posição.

Preciso instalar alguma coisa para abrir um arquivo PLY?

Para a conversão, não: ela acontece no navegador que você já tem aberto. Para abrir o resultado você precisa depois do programa com que o seu aparelho normalmente exibe Polygon File Format.

Mais sobre esses formatos