Table of Contents

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 modo REPEAT (igual ao GL_REPEAT do OpenGL), 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:

  1. 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".

  2. Criar um novo modelo
    Use Autodesk Maya / 3ds Max ou outras ferramentas para criar/desenhar o modelo 3D e exporte como OBJ.

  3. 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:

  1. 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.

  2. Forma do modelo
    Modelos suportam diferentes formas, mas a estrutura principal deve ser convexa.

    Ambos os objetos podem ser detectados e rastreados pelo EasyAR.

  3. 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.

  1. 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.

  2. 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.

  3. 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.