Os formatos de arquivo 3D mais comuns em 2019

Quais formatos de arquivo 3D existem? Como eles se comparam? O que você deve usar?

Um formato de arquivo 3D é usado para armazenar informações sobre modelos 3D. Você já deve ter ouvido falar dos formatos mais populares STL, OBJ, FBX, COLLADA etc. Eles são amplamente utilizados em impressão 3D, videogames, filmes, arquitetura, academia, medicina, engenharia e ciências da terra. Cada setor possui seus próprios formatos populares de arquivos 3D por razões históricas e práticas.

O que é um formato de arquivo 3D?

Um modelo 3D de um pombo que contém informações sobre cores, fontes de luz (observe a sombra) e animações

O objetivo básico de um formato de arquivo 3D é armazenar informações sobre modelos 3D como texto sem formatação ou dados binários. Em particular, eles codificam os modelos 3D geometria, aparência, cena e animações.

A geometria de um modelo descreve sua forma. Por aparência, queremos dizer cor, textura, tipo de material etc. A cena de um modelo 3D inclui a posição de fontes de luz, câmeras e objetos periféricos. Finalmente, a animação define como um modelo 3D se move.

No entanto, nem todos os formatos de arquivos 3D armazenam todos esses dados. Os formatos de arquivo 3D, como STL, armazenam apenas a geometria do modelo 3D e ignoram todos os outros atributos. Por outro lado, o formato COLLADA armazena tudo.

STL e COLLADA são apenas dois dos muitos formatos de arquivo 3D que as pessoas usam. Estimamos que existem centenas de formatos de arquivo 3D atualmente em uso no mercado!

Quantos formatos de arquivo 3D existem?

Existem centenas de formatos de arquivo 3D

O problema com os formatos de arquivo 3D é que existem literalmente centenas deles. Todo fabricante de software CAD, como AutoDesk e Blender, possui seu próprio formato proprietário, otimizado para o seu software. Portanto, se você usa o AutoCAD, obtém um arquivo DWG. Se você usa o Blender, você obtém um arquivo BLEND.

Formatos de arquivos 3D proprietários impedem a interoperabilidade

No entanto, a presença de tantos formatos de arquivo proprietários é um grande problema. Suponha que você use o AutoCAD (que é um produto do AutoDesk) e seu amigo use o Blender. Suponha que você também queira compartilhar seu modelo 3D com seu amigo.

Isto não é tão fácil. Seu software AutoCAD fornece um arquivo DWG porque é o formato nativo do AutoCAD. Mas o software do seu amigo, Blender, só pode funcionar com um arquivo BLEND. Isso significa que vocês dois não podem trabalhar no mesmo modelo 3D, usando diferentes softwares.

Formatos de arquivo 3D neutros resolvem esse problema

Você geralmente precisa compartilhar seus modelos 3D com seus clientes, colaboradores e máquinas. Formatos neutros são perfeitos para esta tarefa.

Para resolver o problema de interoperabilidade, formatos neutro ou código aberto foram inventados como intermediários para a conversão entre dois formatos proprietários. Naturalmente, esses formatos se tornaram muito populares agora.

Dois exemplos famosos de formatos neutros são STL (extensão .STL) e COLLADA (extensão .DAE). Eles são amplamente usados ​​para compartilhar modelos no software CAD. Se você deseja compartilhar seu modelo 3D, converte o arquivo DWG em um arquivo COLLADA em um processo chamado exportador e dê ao seu amigo o arquivo COLLADA. Seu amigo pega o arquivo COLLADA e importa-o para o Blender, onde o arquivo COLLADA é convertido para o formato BLEND nativo. Dessa forma, você pode continuar usando diferentes softwares e colaborar com outras pessoas.

Proprietário vs. neutro é uma das dicotomias mais importantes no mundo dos formatos de arquivo 3D. Atualmente, a maioria dos softwares de modelagem 3D oferece suporte à leitura e gravação de formatos neutros populares. Além disso, a maioria dos softwares também suporta leitura e gravação em um subconjunto de formatos proprietários tão populares que não podem ser ignorados. Discutiremos 8 desses formatos de arquivo 3D neste artigo. Aqui está a lista, onde os formatos de arquivo 3D são marcados com seu tipo.

Formato de arquivo 3DTipo
STLNeutro
OBJA variante ASCII é neutra, a variante binária é proprietária
FBXProprietário
COLLADANeutro
3DSProprietário
IGESNeutro
DEGRAUNeutro
VRML / X3DNeutro

Mas antes de discutirmos cada um desses formatos em detalhes, primeiro examinaremos os recursos gerais de um formato de arquivo 3D e discutiremos as coisas importantes que você deve ter em mente ao selecionar um formato para o seu projeto.

Recursos gerais dos formatos de arquivo 3D

Como discutimos anteriormente, os recursos gerais de um formato de arquivo 3D são:

  1. Geometria de codificação do modelo 3D
  2. Armazenando a aparência do modelo 3D
  3. Salvando informações da cena
  4. Codificando animações

1. Formatos de arquivo 3D: Geometria de codificação do modelo 3D

Todo modelo 3D tem uma geometria única e a capacidade de codificar essa geometria pode ser considerada o recurso mais básico de um formato de arquivo 3D. Todo formato de arquivo 3D suporta isso; caso contrário, eles não seriam considerados formatos de arquivo 3D.

Existem três maneiras distintas de codificar a geometria da superfície, cada uma com seus pontos fortes e fracos correspondentes. Eles são chamados malha aproximada, malha precisa e geometria sólida construtiva (CSG).

1.1 Geometria do formato de arquivo 3D: A malha aproximada

A malha trinaglar fina está codificando aproximadamente a geometria da superfície deste modelo 3D (fonte: i.materialize)
A malha triangular fina codifica aproximadamente a geometria da superfície deste modelo 3D (fonte: i.materialize)

Nesta codificação, a superfície de um modelo 3D é primeiro coberta com uma malha de pequenos polígonos imaginários (triângulos são as formas mais usadas). Os vértices dos triângulos de cobertura e o vetor normal externo aos triângulos são armazenados no arquivo. Isso representa a geometria da superfície do modelo de destino.

Os vértices e o normal para cada faceta triangular que compõe a malha são armazenados no arquivo.
Os vértices e o normal para cada faceta triangular que compõe a malha são armazenados no arquivo.

O processo de cobrir uma superfície com formas geométricas não sobrepostas também é conhecido como “mosaico”. Portanto, esses formatos de arquivo também são chamados de formatos em mosaico.

Os triângulos aproximam a geometria suave da superfície. Portanto, este é um formato aproximado. A aproximação fica melhor à medida que os triângulos ficam menores. No entanto, quanto menores os triângulos, maior o número de triângulos que você precisa para ladrilhar a superfície. Isso implica que o arquivo precisa armazenar um número maior de vértices e vetores normais. Assim, aproximações melhores gera um aumento no tamanho do arquivo.

A superfície esférica perfeita à esquerda é aproximada por mosaicos. A figura à direita usa grandes triângulos, resultando em um modelo grosso. A figura no centro usa triângulos menores e alcança uma aproximação mais suave (fonte: i.materialize)
A superfície esférica perfeita à esquerda é aproximada por mosaicos. A figura à direita usa grandes triângulos, resultando em um modelo grosso. A figura no centro usa triângulos menores e alcança uma aproximação mais suave (fonte: i.materialize)

Formatos aproximados ou em mosaico são mais usados ​​em situações em que você não precisa de resoluções ultrafinas do modelo 3D. Um bom exemplo é a impressão 3D. As impressoras 3D não podem imprimir além de uma determinada resolução e, portanto, esse tipo de formatos de arquivo de impressão 3D são perfeitos para o trabalho. De fato, o formato de arquivo de impressão 3D mais popular STL realmente pertence a essa classe de formatos de arquivo.

1.2 Geometria do formato de arquivo 3D 2: A malha precisa

Um exemplo de patches NURBS que codificam uma geometria de superfície curva com precisão. Os pontos vermelhos são os pontos de controle do NURBS.
Um exemplo de patches NURBS que codificam uma geometria de superfície curva com precisão. Os pontos vermelhos são os pontos de controle do NURBS.

É claro que existem situações em que uma codificação aproximada do modelo 3D não é suficiente e é necessário codificar com precisão a geometria da superfície. Por exemplo, ao construir o corpo de um avião, em particular o casco redondo, uma malha poligonal discreta não funcionará. Embora o modelo possa parecer bom em pequenas resoluções, as faces planas e os cantos afiados se tornarão aparentes de perto.

Formatos de arquivo precisos para contornar esse problema é o Rational B-Spline não uniforme patches (ou NURBS) em vez de polígonos. Essas superfícies paramétricas são compostas por um pequeno número de pontos de controle ponderados e um conjunto de parâmetros chamados nós. A partir dos nós, uma superfície pode ser calculada matematicamente interpolando suavemente sobre os pontos de controle.

Essas superfícies parecem suaves em qualquer escala e podem replicar a geometria da superfície de uma pequena parte de um modelo 3D com detalhes exatos. No entanto, sempre há uma troca. Embora a malha precise ser exata em qualquer resolução, ela fica mais lenta e deve ser evitada em aplicativos onde a renderização rápida é importante.

1.3 Geometria do formato de arquivo 3D 3: Geometria Sólida Construtiva aka CSG

Por fim, existe outro tipo de formato de arquivo que não envolve malhas. Nesse formato, as formas 3D são construídas executando operações booleanas (adição ou subtração) de formas primitivas como cubos, esferas etc. Por exemplo, para fazer um haltere, pode-se simplesmente pegar duas esferas e adicionar uma haste cilíndrica entre elas. Se você já usou um software CAD, viu isso em ação, porque a maioria deles usa esse princípio.

Geometria sólida construtiva em ação durante a construção de um haltere em Tinkercad
Geometria sólida construtiva em ação durante a construção de um haltere em Tinkercad.

A geometria sólida construtiva é ótima para projetar modelos 3D e é muito fácil de usar. Outra grande vantagem é que cada etapa de edição individual (adição, subtração, transformação de formas primitivas) é armazenada nesse formato de arquivo 3D. Portanto, pode-se desfazer e refazer qualquer etapa a qualquer momento.

Claramente, se você converter esse formato em um formato baseado em malha, perderá as informações sobre as etapas de edição individuais.

2. Formatos de arquivo 3D: Aparência

O segundo recurso importante dos formatos de arquivo 3D é a capacidade de armazenar informações relacionadas à aparência. Em muitas aplicações, a aparência do modelo 3D é de suma importância. Por exemplo, ninguém quer jogar Need For Speed ​​com carros opacos e incolores. É melhor que os carros sejam coloridos e brilhantes! A cor e o brilho de um carro são exemplos de propriedades relacionadas à aparência. Em termos simples, a aparência descreve as propriedades da superfície, como tipo de material, textura, cor etc. Isso define como o modelo será exibido quando for renderizado.

As informações sobre aparência podem ser codificadas de duas maneiras diferentes.

2.1 Aparência do formato de arquivo 3D: Mapeamento de textura

Ilustração de como o mapeamento de textura é usado para codificar informações de cor e textura de um lado de um cubo
Ilustração de como o mapeamento de textura é usado para codificar informações de cor e textura de um lado de um cubo.

No mapeamento de textura, todos os pontos na superfície do modelo 3D (ou na malha poligonal) são mapeados para uma imagem bidimensional. As coordenadas da imagem 2D têm atributos como cor e textura. Ao renderizar o modelo 3D, cada ponto de superfície recebe uma coordenada nesta imagem bidimensional. Os vértices da malha são mapeados primeiro. Os outros pontos são atribuídos às coordenadas interpolando entre as coordenadas dos vértices.

A maioria dos formatos de arquivo 3D oferece suporte ao mapeamento de texturas. Nesse caso, a imagem 2D que contém informações de textura precisa ser armazenada no mesmo arquivo ou separadamente em um arquivo diferente.

2.2 Aparência do formato de arquivo 3D: Atributos de rosto

Outra maneira comum de armazenar informações de textura é atribuir a cada face da malha um conjunto de atributos. Atributos comuns incluem cor, textura e tipo de material.

Além disso, uma superfície pode ter um componente especular indicando a cor e a intensidade dos verdadeiros reflexos de espelho, de fontes de luz e outras superfícies próximas. As superfícies podem ser transparentes ou semi transparentes. Isso é codificado por um componente transmissivo descrevendo a cor e a intensidade da luz que passa através da superfície. Superfícies transparentes geralmente distorcem a luz que passa por elas. Essa distorção é representada por uma propriedade índice de refração, associada ao tipo de material do modelo.

Um modelo 3D transparente de uma cadeira. A transparência é codificada como uma propriedade de cada faceta individual.
Um modelo 3D transparente de uma cadeira. A transparência é codificada como uma propriedade de cada faceta individual.

3. Formatos de arquivo 3D: Informações da cena

A capacidade de codificar informações sobre a cena é outro recurso importante de alguns formatos de arquivo 3D. A cena descreve o layout do modelo 3D em termos de câmeras, fontes de luz e outros modelos 3D próximos.

A câmera é definida por quatro parâmetros: ampliação e ponto principal, localização, a direção em que a câmera está voltada e uma seta indicando qual direção está “para cima”.

A codificação da fonte de luz depende da natureza da fonte de luz. No caso mais simples de uma fonte pontual, precisamos simplesmente armazenar a localização, a cor e a intensidade da fonte.

Alguns formatos de arquivo 3D têm a capacidade de codificar informações sobre luzes, como mostrado nesta imagem.
Alguns formatos de arquivo 3D têm a capacidade de codificar informações sobre luzes, como mostrado nesta imagem.

Às vezes, a relação espacial entre o modelo 3D e outros modelos próximos também é armazenada. Isso é particularmente importante se o modelo for composto de várias partes, que precisam ser dispostas de uma certa maneira para compor a cena.

Vale a pena notar que a maioria dos formatos de arquivo 3D geralmente não suporta informações de cena. Isso decorre de razões práticas. Quando se trata de layout, sempre é possível garantir que as partes do modelo sejam colocadas no local correto antes de salvar o modelo. Nesse caso, o formato do arquivo não precisa definir explicitamente os relacionamentos entre as partes. Os atributos de câmera e luz também podem ser ignorados, pois é esperado que os usuários finais alterem a posição da câmera de qualquer maneira enquanto navegam pela cena.

4. Formatos de arquivo 3D: Animação

Alguns formatos de arquivo 3D têm a capacidade de armazenar animações de um modelo 3D. Isso é muito útil na criação de jogos ou na criação de filmes, onde as animações são muito usadas.

4.1 Animação em formato de arquivo 3D: Animação esquelética

A maneira mais popular de animar um modelo 3D é chamada “animação esquelética”. Na animação esquelética, cada modelo é associado a um esqueleto subjacente. O esqueleto é feito de uma hierarquia de “ossos” virtuais. O movimento dos ossos mais altos na hierarquia (ossos pai) afeta os ossos mais baixos na hierarquia (ossos filhos). Isso é semelhante ao corpo humano, onde um movimento do osso da canela afeta a posição dos dedos dos pés.

É importante entender que esses ossos não são ossos reais, mas apenas construções matemáticas que ajudam um animador a definir movimentos em um modelo. Os ossos são tipicamente representados por uma matriz 4 × 3, onde as três primeiras colunas representam rotação, escala e cisalhamento do osso. A última coluna é a tradução relativa ao espaço do mundo dos pais.

Além da transformação, cada osso recebe um ID exclusivo e é associado a um subconjunto da malha que codifica a geometria da superfície. Esse subconjunto se move junto com o osso virtual.

Os ossos são conectados por “articulações”. As juntas introduzem restrições nas possíveis transformações associadas a um osso, restringindo assim como um osso pode se mover em relação ao seu pai. Isso é novamente semelhante ao corpo humano – o cotovelo só pode girar em torno de um eixo especificado, enquanto a articulação da bola entre a coxa e a pélvis permite a rotação em todo o eixo.

4.2 Animação em formato de arquivo 3D: Técnicas de animação

Existem muitas técnicas diferentes de armazenar animações de estruturas esqueléticas. As técnicas mais importantes são cinemática direta, cinemática inversa e quadros-chave. Você pode ler muito mais sobre técnicas de animação e codificações neste Tese de bacharel por Marcus Lundgren.

Qual formato de arquivo 3D você deve usar para exportar e compartilhar seu modelo?

Agora estamos em boa posição para responder a essa pergunta.

Todo software de modelagem 3D permite exportar para diversos formatos de arquivo 3D. No entanto, qual você escolherá para o seu aplicativo depende muito dos recursos necessários para o seu trabalho e do software que você usará. Como agora estamos familiarizados com os diferentes recursos dos formatos de arquivo 3D, estamos prontos para dar uma olhada abstrata nas diferentes considerações que estão por trás da escolha de um formato de arquivo específico. Existem três considerações principais:

1. Formatos de arquivo 3D: quais recursos você precisa?

Os formatos de arquivo 3D são usados ​​em diversos setores e indústrias e cada um tem suas próprias necessidades e requisitos específicos. Dependendo do setor em que você está, você pode querer diferentes conjuntos de recursos no formato de arquivo 3D ideal. Para explicar o que queremos dizer, vamos discutir três grandes indústrias usando formatos de arquivo 3D.

1.1 Formatos de arquivo 3D para impressão 3D

A indústria de impressão 3D usa formatos aproximados de arquivo. A capacidade de armazenar aparência é necessária em alguns casos.
A indústria de impressão 3D usa formatos aproximados de arquivo. A capacidade de armazenar aparência é necessária em alguns casos.

Na impressão 3D, a alta precisão não é um requisito, porque as impressoras atuais não podem imprimir além de uma determinada resolução. Portanto, os formatos de arquivo usando a codificação aproximada da geometria da superfície são ideais para o trabalho. STL é um formato de arquivo e é o formato de impressão 3D mais popular até o momento.

STL, no entanto, não pode armazenar informações relacionadas à aparência. Portanto, se você deseja imprimir um modelo multicolorido, não pode mais usar o STL porque ele não pode armazenar informações relacionadas a cores ou materiais. Existem outros formatos de arquivo, como OBJ ou AMF, que podem armazenar informações relacionadas à aparência. Portanto, esses formatos (OBJ são os mais populares) são a melhor opção para modelos multicoloridos.

1.2 Formatos de arquivo 3D para aplicativos baseados em gráficos (jogos e filmes)

Os jogos requerem renderização rápida, suporte para cores e texturas ricas e animação.
Os jogos requerem renderização rápida, suporte para cores e texturas ricas e animação.

Em aplicativos baseados em gráficos, os requisitos são diferentes da impressão 3D. Como já passamos da era do preto e branco, os modelos 3D usados ​​em jogos e filmes exigem cores e texturas ricas. Jogos e filmes também precisam oferecer suporte à animação. Além disso, todos os aplicativos baseados em gráficos geralmente exigem altas velocidades de renderização. Portanto, os melhores formatos para esse tipo de trabalho seriam algo que usa geometria aproximada para obter renderização rápida, pode codificar aparência e oferecer suporte a animação. Os formatos FBX e COLLADA suprem todos esses pontos, portanto, são ideais para aplicativos gráficos.

1.3 Formatos de arquivo 3D para engenharia de alta precisão

A modelagem 3D na área de engenharia aeronáutica requer codificação precisa da geometria da superfície
A modelagem 3D na área de engenharia aeronáutica requer codificação precisa da geometria da superfície.

O nome já diz tudo. Na disciplina de engenharia de alta precisão, como aeroespacial, os modelos 3D precisam ser suaves e precisos em qualquer escala. Portanto, formatos usando geometria precisa, como IGES ou STEP, serão os mais adequados para esta tarefa.

Como os recursos de um formato de arquivo 3D são uma consideração crucial na identificação do formato ideal, fornecemos uma tabela de recursos suportados pelos 8 principais formatos de arquivo 3D no apêndice deste artigo. Você pode dar uma olhada quando precisar tomar uma decisão.

2. Qual pipeline de software você vai usar?

A próxima consideração importante é o pipeline de software que você usará para sua tarefa. Nem todos os softwares oferecem suporte à importação e exportação de todos os formatos de arquivo 3D. Você deve escolher um formato de arquivo suportado pelo seu software de escolha.

Para sua referência, incluímos uma tabela de formatos de arquivo suportados pelo software e mecanismos de modelagem 3D comumente usados ​​no segundo apêndice ao artigo. Esse é outro recurso que você pode consultar ao decidir sobre um formato de arquivo.

Quota de mercado do software de modelagem 3D mais popular
Quota de mercado do software de modelagem 3D mais popular.

3. Qual software seu colaborador usa?

O formato de arquivo que você escolhe não apenas precisa se encaixar no seu pipeline, mas também no pipeline do seu colaborador. Se você conhece seus colaboradores, pergunte a eles o que eles usam e discuta quais formatos de arquivo se encaixam bem no fluxo de trabalho de você e de seu colaborador.

Se você não conhece seus colaboradores, é melhor jogar pelo seguro. Basta escolher o formato mais popular que atenda aos requisitos anteriores. É melhor se o formato for neutro e não proprietário.

Conclusão

Aprendemos um pouco sobre os formatos de arquivo 3D neste artigo. Discutimos como e por que existem centenas de formatos e como eles podem ser classificados em duas grandes categorias: proprietária e neutra. Em seguida, exploramos os recursos mais importantes de um formato de arquivo 3D e fornecemos dicas sobre como você pode escolher o formato ideal para o seu aplicativo.

No próximo artigo veremos os 8 principais formatos de arquivo 3D em detalhes. (leia o próximo artigo)

Artigo escrito por: Dibya Chakravorty

Compartilhe e curta!