Uso do Scene Viewer para mostrar modelos 3D interativos em RA de um app ou navegador Android

O Scene Viewer é um visualizador imersivo que permite experiências de 3D e RA no seu site ou app Android. Ele permite que usuários de dispositivos móveis Android visualizem, coloquem, vejam e interajam com modelos 3D hospedados na Web no ambiente deles.

A maioria dos navegadores Android é compatível com o Scene Viewer. O Scene Viewer foi implementado com sucesso por muitos parceiros do Google para oferecer suporte confiável a experiências 3D e de RA. Ela também alimenta essas experiências na Pesquisa Google.

A implementação é simples:

  • As experiências baseadas na Web exigem apenas links formatados corretamente em uma página da Web.

  • As experiências baseadas em apps exigem apenas a integração de algumas linhas de código Java.

Requisitos de execução do Scene Viewer

Para usar a RA com o Scene Viewer, os usuários precisam ter:

  • Um dispositivo compatível com o ARCore com Android 7.0 Nougat (nível 24 da API) ou mais recente.
  • Uma versão atualizada (recente) do Google Play Services para RA. Esse serviço é instalado e atualizado automaticamente na grande maioria dos dispositivos compatíveis com o ARCore.
  • Uma versão atualizada do app Google. Esse app vem pré-instalado e também é atualizado automaticamente na grande maioria dos dispositivos compatíveis com o ARCore.

Para casos em que o Google Play Services para RA ou o Google app não estão presentes ou as versões instaladas são muito antigas, é possível especificar um URL de substituição que inicia uma experiência alternativa, por exemplo, uma página da Web, uma mensagem de erro ou uma experiência de substituição criada por você.

Casos de uso com suporte

Caso de uso pretendido Aplicativo recomendado Vantagens
Em um botão ou link em um site ou app Android, inicie uma visualização de RA nativa de um modelo 3D.

Se o Google Play Services para RA não estiver presente no dispositivo, faça um fallback normal para mostrar o modelo em um modo 3D com tecnologia do Scene Viewer.
Inicie o Scene Viewer usando uma intent explícita para o pacote da Pesquisa Google e escolha uma configuração mode adequada para mostrar o modelo 3D.
  • ar_preferred: sempre começa em um visualizador de RA, e os usuários podem mudar manualmente para um visualizador 3D. Se o Google Play Services para RA não estiver presente, a inicialização será feita no visualizador 3D.
  • 3d_preferred: sempre começa em um visualizador 3D, e os usuários podem mudar manualmente para um visualizador de RA. Se o Google Play Services para RA não estiver presente, os usuários não poderão sair do visualizador 3D.
  • 3d_only: sempre aparece apenas em um visualizador 3D, sem que os usuários possam mudar para um visualizador de RA.
  • Ofereça suporte à maior variedade possível de dispositivos.
  • Volta automaticamente para o modo 3D nativo do Scene Viewer em casos de uso que não são de RA.
Inicie uma visualização de RA nativa de um modelo 3D usando um botão ou link em um site ou app Android.

Se o Google Play Services para RA não estiver presente no dispositivo, controle o comportamento de substituição.
Inicie o Scene Viewer usando uma intent explícita para o Google Play Services para RA (ARCore) e escolha uma configuração mode adequada para mostrar o modelo 3D.
  • ar_preferred: sempre começa no visualizador de RA, e os usuários podem mudar manualmente para um visualizador 3D. Se o Google Play Services para RA não estiver presente, o Scene Viewer vai voltar ao comportamento que você configurar.
  • ar_only: sempre aparece apenas no visualizador de RA, sem a capacidade de mudar para um visualizador 3D. Se o Google Play Services para RA não estiver presente, ele vai voltar ao comportamento que você configurar. Por exemplo, você pode iniciar sua própria experiência 3D em tela cheia ou mostrar uma mensagem de erro amigável indicando que o dispositivo do usuário ainda não tem suporte para recursos de RA.
Use seu próprio visualizador de modelos 3D ou forneça outra resposta alternativa de seu próprio design para casos de uso sem RA.
Hospede uma visualização inline de um modelo 3D no seu site e permita que o usuário entre manualmente em um modo de RA nativo em tela cheia. Use <model-viewer> ou qualquer outro visualizador 3D baseado na Web para iniciar o Scene Viewer mostrando o modelo 3D em RA de forma nativa.
  • Inicie o Scene Viewer de forma nativa em RA diretamente de um modelo 3D incorporado em uma página da Web.
  • Ofereça aos usuários uma experiência 3D em uma superfície que você possui e controla, com a opção de fazer uma transição gradual para uma experiência de RA mais imersiva quando você entender a intenção deles de fazer isso.

Iniciar o Scene Viewer usando uma intent explícita (3D ou RA)

Para oferecer suporte à maior variedade de dispositivos Android, use uma intent explícita do Android para iniciar o Scene Viewer. O intent explícito pode ser acionado em uma página HTML ou um app Android nativo. Ele será processado pelo app Google, que vem pré-instalado em dispositivos Android compatíveis com o ARCore.

Dependendo dos parâmetros de intenção configurados e dos recursos do dispositivo, os modelos 3D interativos podem ser colocados no ambiente do usuário ou voltar a aparecer em um visualizador 3D.

  • Se o Google Play Services para RA estiver presente no dispositivo e atualizado, o Scene Viewer vai mostrar o modelo em uma visualização nativa de RA ou em 3D.

  • Se o Google Play Services para RA não estiver presente ou não estiver atualizado, o Scene Viewer vai mostrar o modelo em uma visualização 3D.

  • Se um modelo 3D não puder ser mostrado, por exemplo, porque o app Google não está instalado ou é uma versão antiga, o parâmetro S.browser_fallback_url será usado para mostrar uma página da Web alternativa.

Iniciar o Scene Viewer em HTML ou Java

HTML

Para acionar a intent explícita em HTML, use a seguinte sintaxe:

<a href="intent://arvr.google.com/scene-viewer/1.0?file=https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Avocado/glTF/Avocado.gltf#Intent;scheme=https;package=com.google.android.googlequicksearchbox;action=android.intent.action.VIEW;S.browser_fallback_url=https://developers.google.com/ar;end;">Avocado</a>

Java

Para acionar a intent explícita em Java, use o seguinte código:

Intent sceneViewerIntent = new Intent(Intent.ACTION_VIEW);
sceneViewerIntent.setData(Uri.parse("https://arvr.google.com/scene-viewer/1.0?file=https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Avocado/glTF/Avocado.gltf"));
sceneViewerIntent.setPackage("com.google.android.googlequicksearchbox");
startActivity(sceneViewerIntent);

Controle de versões de intents

A versão da intent é indicada pelo número da versão após arvr.google.com/scene-viewer. Por exemplo, a versão inicial usou a versão 1.0. Quando forem necessários recursos mais recentes do Scene Viewer, você poderá iniciar o Scene Viewer com uma versão de intent mais alta correspondente aos recursos necessários.

A versão 1.1 da intent adicionou suporte a links intent://, que podem iniciar diretamente em um app Android em vez de um URL. Se você quiser que o Scene Viewer garanta que essa funcionalidade esteja disponível quando for iniciado e não seja iniciado de outra forma, inicie o Scene Viewer com uma intent para intent://arvr.google.com/scene-viewer/1.1.

Parâmetros de intent aceitos

Os seguintes parâmetros são compatíveis com uma intent explícita para o pacote da Pesquisa Google.

Parâmetro de intent Valores permitidos Comentários
file (obrigatório) Um URL válido Esse URL especifica o arquivo glTF ou glb que deve ser carregado no Scene Viewer. Ele precisa ter caracteres de escape de URL.
S.browser_fallback_url (obrigatório para intents baseadas em HTML) Um URL válido Esse é um recurso do Google Chrome compatível apenas com implementações baseadas na Web. Quando o Google app não está presente no dispositivo, esse é o URL para onde o Google Chrome navega.
mode (opcional) 3d_preferred (padrão) O Scene Viewer mostra o modelo no modo 3D com um botão Veja no seu espaço.



Se o Google Play Services para RA não estiver presente no dispositivo, o botão Ver no seu espaço vai ficar oculto.

3d_only O Scene Viewer é iniciado com o modelo exibido no modo 3D, mesmo que o Google Play Services para RA esteja presente no dispositivo. O botão Ver no seu espaço nunca é mostrado.

ar_preferred O Scene Viewer é iniciado no modo nativo de RA como o modo de entrada. O usuário tem a opção de alternar entre os modos de RA e 3D usando os botões Veja no seu espaço e Ver em 3D.



Se o Google Play Services para RA não estiver presente, o Scene Viewer vai voltar para o modo 3D como modo de entrada.

ar_only Ao usar esse valor, inicie com uma intent explícita do Android para com.google.ar.core.

Observação:não use o modo ar_only ao iniciar por uma intent explícita do Android para o Google app.

link (opcional) Um URL válido Um URL para uma página da Web externa. Se presente, um botão vai aparecer na interface que direciona a esse URL quando clicado.

title (opcional) String válida Um nome para o modelo. Se estiver presente, ele será exibido na interface. O nome será truncado com reticências após 60 caracteres.

som (opcional) Um URL válido Um URL para uma faixa de áudio em loop sincronizada com a primeira animação incorporada em um arquivo glTF. Ele precisa ser fornecido com um glTF com uma animação de duração correspondente. Se presente, o som será repetido depois que o modelo for carregado. Ele precisa ter caracteres de escape de URL.
resizable (opcional) true (padrão)

false

Quando definido como false, os usuários não podem dimensionar o modelo na experiência de RA. O escalonamento funciona normalmente na experiência 3D.
enable_vertical_placement (opcional) false (padrão)

true

Quando definido como true, os usuários podem colocar o modelo em uma superfície vertical.

Orientações de UX

Para oferecer a melhor experiência possível aos usuários, recomendamos que as frases de ação visíveis transmitam a ideia de que o usuário está prestes a entrar em um ambiente imersivo.

Para experiências de visualização em 3D, recomendamos uma call-to-action chamada Ver em 3D que se pareça com uma das seguintes imagens:

Iniciar o Scene Viewer usando uma intent explícita para o Google Play Services para RA (somente no modo de RA)

O modo de RA no Scene Viewer é desenvolvido pelo Google Play Services para RA.

Para garantir que a RA esteja disponível no Scene Viewer, use uma intent explícita do Android de um site ou app Android nativo para iniciar o Scene Viewer usando o com.google.ar.core package e forneça um browser_fallback_url. Assim, você garante que todos os usuários tenham uma experiência de RA nativa pelo Scene Viewer ou uma experiência alternativa criada por você. Por exemplo, você pode criar experiências alternativas, como seu próprio visualizador em 3D ou uma mensagem de erro elegante.

Para acionar a intent explícita em HTML, use a seguinte sintaxe:

<a href="intent://arvr.google.com/scene-viewer/1.0?file=https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Avocado/glTF/Avocado.gltf&mode=ar_only#Intent;scheme=https;package=com.google.ar.core;action=android.intent.action.VIEW;S.browser_fallback_url=https://developers.google.com/ar;end;">Avocado</a>;

Para acionar a intent explícita em Java, use o seguinte código:

Intent sceneViewerIntent = new Intent(Intent.ACTION_VIEW);
Uri intentUri =
    Uri.parse("https://arvr.google.com/scene-viewer/1.0").buildUpon()
    .appendQueryParameter("file", "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Avocado/glTF/Avocado.gltf")
    .appendQueryParameter("mode", "ar_only")
    .build();
sceneViewerIntent.setData(intentUri);
sceneViewerIntent.setPackage("com.google.ar.core");
startActivity(sceneViewerIntent);

Parâmetros de intent aceitos

Os seguintes parâmetros são compatíveis com uma intent explícita para o pacote dos Serviços do Google Play para AR.

Parâmetro de intent Valores permitidos Comentários
browser_fallback_url (obrigatório para intents baseadas em HTML) Um URL válido Isso só é compatível com implementações baseadas na Web. Quando o Google Play Services para RA não está presente no dispositivo ou não está atualizado, este é o URL para onde ele navega.
mode (opcional) ar_only O Scene Viewer sempre inicia o modelo 3D em uma visualização nativa de RA e oculta qualquer interface para alternar para o visualizador 3D do Scene Viewer.

Se o Google Play Services para RA não estiver presente, o Scene Viewer vai abrir o URL definido no browser_fallback_url para experiências baseadas na Web. Para experiências baseadas em apps, o Scene Viewer volta para uma experiência alternativa, como uma mensagem de erro ou outra experiência que você criou.

ar_preferred O Scene Viewer é iniciado no modo nativo de RA como modo de entrada e oferece aos usuários a opção de alternar entre os modos de RA e 3D usando os botões Ver no seu espaço e Ver em 3D.

Se o Google Play Services para RA não estiver presente, o Scene Viewer vai abrir o URL definido no browser_fallback_url para experiências baseadas na Web. Para experiências baseadas em apps, o Scene Viewer volta para uma experiência alternativa, como uma mensagem de erro ou outra experiência que você criou.

   

link (opcional) Um URL válido Um URL para uma página da Web externa. Se presente, um botão vai aparecer na interface que direciona a esse URL quando clicado.



A versão 1.1 adicionou suporte para links intent:// no Scene Viewer para permitir que o botão de visita do Scene Viewer seja acionado diretamente em outros apps. Observação: isso deve ser usado com cuidado e especificado apenas quando um gerenciador de intent estiver garantido para a intent especificada.
title (opcional) String válida Um nome para o modelo. Se estiver presente, ele será exibido na interface. O nome será truncado com reticências após 60 caracteres.



A versão 1.1 adicionou suporte para estilização HTML do conteúdo do título, com uma quantidade arbitrária de texto permitida. Observação: o título precisa ter escape de URL.
sound (opcional) Um URL válido Um URL para uma faixa de áudio em loop sincronizada com a primeira animação incorporada em um arquivo glTF. Ele precisa ser fornecido com um glTF e uma animação de duração correspondente. Se presente, o som será repetido em loop depois que o modelo for carregado.
resizable (opcional) true (padrão)

false

Quando definido como false, os usuários não podem dimensionar o modelo na experiência de RA. O escalonamento funciona normalmente na experiência 3D.
disable_occlusion (opcional) false (padrão)

true

Quando definido como true, os objetos colocados na cena sempre aparecem na frente dos objetos do mundo real na cena. Consulte [Ativar oclusão](/ar/develop/depth#enable_occlusion) para mais informações.

Orientações de UX

Para oferecer a melhor experiência possível aos usuários, recomendamos seguir estas diretrizes.

  • Para experiências de RA, a call-to-action visível precisa transmitir que o usuário está prestes a entrar em um ambiente imersivo. Recomendamos usar a call-to-action Ver no seu espaço:

  • É possível que os usuários não tenham o Google Play Services para RA instalado no dispositivo. Veja como <model-viewer> processa o fallback e use esse trecho de código como ponto de partida.

    // Check whether this is an Android device.
    const isAndroid = /android/i.test(navigator.userAgent);
    // This fallback URL is used if the Google app is not installed and up to date.
    const fallbackUrl = 'https://arvr.google.com/scene-viewer?file=https%3A%2F%2Fstorage.googleapis.com%2Far-answers-in-search-models%2Fstatic%2FTiger%2Fmodel.glb&link=https%3A%2F%2Fgoogle.com&title=Tiger';
    
    // This intent URL triggers Scene Viewer on Android and falls back to
    // fallbackUrl if the Google app is not installed and up to date.
    const sceneViewerUrl = 'intent://arvr.google.com/scene-viewer/1.0?file=https://storage.googleapis.com/ar-answers-in-search-models/static/Tiger/model.glb&title=Tiger#Intent;scheme=https;package=com.google.android.googlequicksearchbox;action=android.intent.action.VIEW;S.browser_fallback_url=' +
        fallbackUrl + ';end;';
    
    // Create a link.
    var a = document.createElement('a');
    a.appendChild(document.createTextNode('Tiger'));
    // Set the href to the intent URL on Android and the fallback URL
    // everywhere else.
    a.href = isAndroid ? sceneViewerUrl : fallbackUrl;
    // Add the link to the page.
    document.body.appendChild(a);
    

Como usar o <model-viewer> para iniciar o Scene Viewer

É possível ativar o Scene Viewer no seu site incluindo o componente da Web <model-viewer> com o atributo ar.

<model-viewer ar
              ar-modes="scene-viewer webxr quick-look"
              alt="A 3D model of an astronaut."
              src="Astronaut.gltf"></model-viewer>

Quando visualizado em um dispositivo Android compatível com o ARCore, um site que inclui o componente <model-viewer> com o atributo ar mostra um botão, conforme mostrado no exemplo a seguir.

Quando o modo scene-viewer é usado em ar-modes, ele muda para uma visualização de RA nativa e convida o usuário a colocar o modelo no ambiente usando o Scene Viewer.

Se o Google Play Services com RA não estiver presente, tocar nesse botão vai mostrar o modelo no visualizador 3D do <model-viewer>.

Consulte a documentação do <model-viewer> para saber como começar a usar o <model-viewer>.

Requisitos de arquivo para modelos

O Scene Viewer tem o seguinte suporte e limitações para modelos.

Compatibilidade com formatos de arquivo glTF 2.0/glb, usando estas extensões:
  • KHR_materials_unlit
  • KHR_texture_transform
Animation
  • Animação esquelética em loop
  • Animação rígida em loop
  • Animação de transformação em loop
A animação será reproduzida em loop. Se o arquivo glTF contiver várias animações, o Scene Viewer vai reproduzir apenas a primeira.
Limites recomendados O desempenho geral dos recursos depende da definição de restrições e da compensação entre vértices, materiais, resolução de textura, malha por material e outros fatores. Use as diretrizes a seguir para otimizar seus recursos.
  • Número de triângulos: o limite recomendado é de 100.000 triângulos, mas usar o menor número possível mantém o alto desempenho no Scene Viewer. O ideal é entre 30.000 e 50.000.
  • Número de materiais: o limite recomendado é de 10 materiais, dois dos quais podem ser alfa. Escolha o menor número possível para manter o recurso com boa performance.
  • Malha por material: 1
  • Resolução máxima de textura: 2048 × 2048
  • Osso (incluindo articulações não ponderadas): 254 (limite rígido)
  • Limite de pesos de ossos por vértice: 4 (limite rígido)
  • UV: 1 UV por malha (limite rígido)
  • Tamanho do modelo: 10 MB. Modelos maiores podem prejudicar a experiência do usuário.
Suporte a sombras O Scene Viewer renderiza automaticamente sombras fortes ao posicionar um objeto. Por isso, não recomendamos incorporar sombras ao modelo.
Suporte a texturas
  • Formato PNG: PNG-24, PNG-8 indexado.
    Os JPGs são preferidos quando não há transparência porque reduzem o tamanho.
  • Espaço de cores: sRGB
Material PBR
Carregamento de arquivos HTTPS
Scene
  • Eixo: destro, com estas propriedades:
    • +X está correto
    • +Y está para cima
    • -Z aponta para frente a partir da origem. Em outras palavras, a "frente" de um recurso precisa estar voltada para +Z.
  • Escala: 1 unidade = 1 metro (conforme definido pela especificação glTF para garantir que o modelo seja colocado em RA na escala real)

Como usar a ferramenta de visualização para validar seus modelos 3D

Para garantir que o arquivo do modelo 3D seja exibido corretamente no Scene Viewer, use nossa ferramenta de visualização on-line para validar os arquivos no seu PC.

Validar seu modelo 3D

Para validar um modelo, a ferramenta de visualização precisa de um arquivo glb ou glTF, imagens e arquivos binários associados e um arquivo de áudio opcional. O arquivo de áudio vai ficar em loop com a animação 0.

É possível selecionar vários arquivos individuais ou, opcionalmente, colocar o glb ou glTF e os arquivos associados em um arquivo ZIP. (O método de arquivo ZIP não é compatível com arquivos de áudio.)

Para validar seu modelo 3D:

  1. Abra a ferramenta de visualização on-line em um navegador.

  2. Use um destes métodos para adicionar os arquivos à ferramenta de visualização:

    • Arrastar e soltar. Selecione um arquivo glb ou glTF e todos os arquivos associados a ele (ou um arquivo zip com esses arquivos) e arraste os arquivos ou o arquivo zip selecionado para a ferramenta de visualização.

    • Na ferramenta de visualização. Na ferramenta de visualização, escolha Scene Viewer > Carregar arquivo. Selecione um arquivo glb ou glTF e todos os arquivos associados a ele (ou um arquivo ZIP que contenha esses arquivos) e clique em Abrir.

Depois de carregar os arquivos do modelo 3D na ferramenta de visualização, um console na parte de baixo do navegador mostra os resultados, incluindo mensagens de erro.

Adicionar modelos 3D para validação

Para validar um modelo 3D, adicione os arquivos que o compõem à nossa ferramenta Editor de modelos.

Para validar um modelo, o visualizador precisa do arquivo glb ou glTF dele, de qualquer imagem e arquivo binário associados e de um arquivo de áudio opcional. É possível selecionar vários arquivos individuais ou adicionar um único arquivo ZIP.

Ao adicionar um arquivo ZIP, o visualizador carrega o primeiro glb ou glTF encontrado, bem como a imagem e os arquivos bin associados dentro desse arquivo ZIP.

  1. Abra a ferramenta Model Editor em um navegador.

  2. Use um destes métodos para adicionar os arquivos à ferramenta de visualização:

    • Para arrastar e soltar arquivos para validação, selecione vários arquivos glb ou glTF e todos os arquivos associados (ou selecione um arquivo zip que contenha esses arquivos) e arraste para a ferramenta de visualização.

    • Selecione arquivos na ferramenta de visualização. Na ferramenta de visualização, escolha Scene Viewer > Carregar arquivo. Selecione vários arquivos glb ou glTF e todos os arquivos associados (ou um arquivo ZIP com esses arquivos) e clique em Abrir.

Erros de validação

Código do erro Gravidade Mensagem Valores compatíveis atualmente
INVALID_INPUT_FILE_EXTENSION Erro O arquivo de entrada [filename] tem uma extensão não compatível com o validador. ['.glb', '.gltf']
REC_INPUT_BINARY_SIZE_EXCEEDED Aviso A entrada do usuário fornecida tem um tamanho binário que excede o limite recomendado pela especificação do Scene Viewer, que é um limite de tamanho recomendado de [size] MB. 10
MAX_INPUT_BINARY_SIZE_EXCEEDED Erro A entrada do usuário fornecida tem um tamanho binário que excede o limite máximo aceito pela especificação do Scene Viewer, que é um limite máximo de [size] MB. 15
UNSUPPORTED_GLTF_EXTENSION_USED Erro A extensão [ext] no glTF não é compatível com a especificação do Scene Viewer. ['KHR_materials_pbrSpecularGlossiness', 'KHR_materials_unlit', 'KHR_texture_transform']
ANIMATION_LIMIT_EXCEEDED Erro O número de animações no glTF excede o limite aceito pela especificação do Scene Viewer, que é de no máximo [num] animações. 1
MORPH_TARGET_USED Erro O glTF contém uma meta de transformação, que não é compatível com a especificação do Scene Viewer.
MATERIAL_LIMIT_EXCEEDED Aviso O número de materiais no glTF excede o limite recomendado pela especificação do Scene Viewer, que é de no máximo [num] materiais. 10
TEXTURE_RESOLUTION_LIMIT_EXCEEDED Aviso A resolução da imagem no índice [idx] no glTF excede o limite recomendado pela especificação do Scene Viewer, que é uma resolução máxima de [res] x [res]. 2048 x 2048
UV_LIMIT_EXCEEDED Erro O número de UVs por malha no glTF excede o limite aceito pela especificação do Scene Viewer, que é de no máximo [num] UVs por malha. 1
VERTEX_COLOR_USED Erro O glTF contém uma cor de vértice, que é indisponível para a especificação do Scene Viewer.
JOINT_LIMIT_EXCEEDED Erro O número de articulações no glTF excede o limite aceito pela especificação do Scene Viewer, que é de no máximo [num] articulações. 254
TRIANGLE_LIMIT_EXCEEDED Aviso O número de triângulos no glTF excede o limite recomendado pela especificação do Scene Viewer, que é um máximo de [num] triângulos. 100.000
PRIMITIVE_MODE_UNSUPPORTED Erro O modo primitivo [mode] não é compatível com a especificação do Scene Viewer. {4 : Triangle List, 5 : Triangle Strip, 6 : Triangle Fan}
MISSING_PBR_METALLIC_ROUGHNESS Informações O material no índice [idx] está sem a propriedade pbrMetallicRoughness. Isso não é exigido pela especificação do Scene Viewer se fatores metálicos e de rugosidade forem usados. Se nenhum deles for usado, o material vai usar valores padrão, o que pode levar a um comportamento não intencional.