Preparação e otimização de modelos 3D
Este artigo explica detalhadamente como preparar modelos 3D compatíveis com o EasyAR, abrangendo especificações de formato, recomendações de ferramentas e solução de problemas comuns, ajudando desenvolvedores a melhorar a taxa de sucesso do rastreamento desde a origem.
Formato e especificações do modelo
O rastreamento de objetos 3D do EasyAR suporta apenas o formato Wavefront OBJ. Ao usá-lo, siga estes requisitos e especificações.
Estrutura de arquivos do modelo
Um modelo 3D completo deve conter os seguintes arquivos:
- Arquivo .obj: Dados do modelo geométrico (incluindo vértices, faces, coordenadas UV, etc.).
- Arquivo .mtl: Definição de materiais (cor, caminho da textura).
- Texturas: Pelo menos uma imagem em formato JPEG ou PNG (resolução recomendada de 512×512 a 2048×2048).
Requisitos de arquivos
- Todos os arquivos devem estar na mesma pasta, usando caminhos relativos (ex:
texture.jpg). Proibido usar caminhos absolutos (ex:C:\Models\texture.jpg). - Nomes de arquivos e caminhos internos não devem conter espaços. Recomenda-se usar inglês ou números.
- A codificação dos arquivos deve ser UTF-8 (evita falhas de carregamento por caracteres inválidos).
Requisitos mínimos para arquivos OBJ (.obj)
- Deve conter
vertex
Vértices geométricos, representados por coordenadas \((x, y, z [, w])\). \(w\) é opcional, padrão 1.0. Parâmetros de cor de vértices não são obrigatórios; se fornecidos, o sistema não os carregará. - Deve conter
texture coordinates
Coordenadas de textura, representadas por \((u, v [,w])\). \(w\) é opcional, padrão 0. Normalmente, \(u\) e \(v\) devem estar entre 0 e 1. Para valores fora deste intervalo, o sistema usa o modoREPEAT(igual aoGL_REPEATdoOpenGL), ignorando a parte inteira. - Deve conter
face
Elementos de face devem incluir índices de vértices e índices de coordenadas de textura. Polígonos com mais de 3 vértices (ex: quadriláteros) são suportados. - Deve conter
mtllib
Referência ao arquivo de material. Deve especificar pelo menos um arquivo MTL externo com caminho relativo (não absoluto). - Deve conter
usemtl
O nome do material referenciado deve corresponder ao definido no arquivo MTL externo.
Requisitos mínimos para arquivos MTL (.mtl)
- Um arquivo MTL deve definir pelo menos um material.
- Texturas são obrigatórias.
Normalmente, basta especificar textura para luz ambiente ou difusa (map_Ka,map_Kd).
O caminho da textura deve ser relativo (não absoluto). - Parâmetros opcionais de textura não são obrigatórios; se fornecidos, o sistema os ignorará.
Preparação do modelo
Você pode preparar arquivos de modelo no formato OBJ de várias formas:
Exportar de modelos existentes
Use ferramentas como Autodesk Maya / 3ds Max para importar modelos FBX ou outros formatos. Na exportação, selecione "OBJ Export" e ative as opções "Materials" e "UVs".Criar um novo modelo
Use Autodesk Maya / 3ds Max ou outras ferramentas para criar/desenhar o modelo 3D e exporte como OBJ.Digitalizar objetos reais e reconstruí-los em 3D
Use softwares como Autodesk ReCap ou Bentley ContextCapture, ou scanners a laser para reconstrução 3D de objetos reais, exportando o resultado como OBJ.
Importante
As texturas do modelo devem reproduzir fielmente as características visuais do objeto real, caso contrário o reconhecimento e rastreamento falharão.
Melhores práticas para modelos
Abaixo estão problemas e exemplos comuns durante a preparação de modelos, para referência rápida:
Garantir detalhes texturais ricos
As texturas do modelo devem possuir detalhes texturais ricos.
Figura de referência à esquerda: pode ser detectada e rastreada pelo EasyAR. Figura de referência à direita: não pode ser detectada e rastreada, textura insuficiente.
Forma do modelo
Modelos suportam diferentes formas, mas a estrutura principal deve ser convexa.
Ambos os objetos podem ser detectados e rastreados pelo EasyAR.
Verificar caminhos de referência no arquivo
Os caminhos referenciados dentro do arquivo do modelo devem ser relativos, não absolutos.
O modelo à direita não pode ser carregado porque o EasyAR não encontra o arquivo que usa um caminho absoluto.
Os caminhos referenciados dentro do arquivo do modelo não devem conter espaços ou caracteres especiais.
O modelo à direita não pode ser carregado porque o caminho referenciado contém espaços.
Verificar o formato de codificação do arquivo
Os arquivos de modelo devem usar o formato de codificação UTF-8.
O modelo à direita não pode ser carregado devido a problemas de decodificação causados pela codificação do arquivo.
Verificar a orientação normal do modelo
A direção positiva da normal das faces do modelo deve seguir a regra da mão direita.
No segundo cubo, as faces sombreadas têm normais orientadas negativamente. Essas faces serão tratadas como superfícies não visíveis no EasyAR. Se vistas de dentro do modelo, aparecerão como no terceiro cubo.
O modelo deve evitar todas as faces com normais orientadas negativamente.Quantidade de faces do modelo
O número de faces do modelo deve ser o menor possível, garantindo a forma geométrica do objeto, normalmente não excedendo 100,000 triângulos. Um número excessivo de faces causa:- Tempo de carregamento do modelo muito longo, prejudicando a experiência do usuário durante a inicialização do aplicativo.
- Aumento do cálculo de projeção de textura nas faces, prejudicando a taxa de quadros (frame rate) durante o rastreamento pelo aplicativo.
A qualidade do modelo 3D determina diretamente a taxa de sucesso do rastreamento. Desenvolvedores devem seguir rigorosamente as especificações de formato, otimizar detalhes de textura e garantir a correta formatação dos arquivos.