Cookies para estatística e publicidade
Usamos cookies de estatística e de publicidade, ambos enviados ao Google. Recusar não muda nada do que você vê.Ler a página de privacidade
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.
Até 100 arquivos de uma vez. Formatos misturados não são problema.
Eles são convertidos um após o outro e baixados juntos em um ZIP.
GLTF para PLY
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.
É 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.
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.
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 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.
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.
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.
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.
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.
| GLTF | PLY | |
|---|---|---|
| Nome completo | GL Transmission Format | Polygon File Format |
| Extensão do arquivo | .gltf | .ply |
| Tipo de mídia | model/gltf+json | model/ply |
| Publicado pela primeira vez | 2015 | 1994 |
| Publicado por | Khronos Group | Stanford University |
| Especificação | glTF 2.0 | — |
| Licença | Padrão aberto | Padrão aberto |
| Situação hoje | Atual | Atual |
| Abre no navegador | Nenhum navegador | Nenhum navegador |
| Considerado no lugar | GLB, OBJ | OBJ, STL |
Blender lê tanto GLTF quanto PLY, então dá para comparar o resultado com o original sem um segundo programa.
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.
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.
É. 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.
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.
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.