Scene Viewer est une visionneuse immersive qui vous permet de profiter d'expériences 3D et RA à partir de votre un site Web ou une application Android. Il permet aux utilisateurs d'appareils mobiles Android de prévisualiser de placer, d'afficher et d'interagir avec des modèles 3D hébergés sur le Web dans leur environnement.
La plupart des navigateurs Android sont compatibles avec Scene Viewer. La visionneuse de scène a bien été activée implémentés par de nombreux partenaires Google pour offrir une expérience 3D et RA fiable. Il optimise également ces expériences pour la recherche Google.
L'implémentation est simple:
Les expériences Web ne nécessitent que des liens correctement mis en forme sur une page Web.
Les expériences basées sur les applications ne nécessitent que l'intégration de quelques lignes de code Java.
Exigences d'exécution de Scene Viewer
Pour découvrir la RA avec Scene Viewer, les utilisateurs doivent:
- Un appareil compatible ARCore exécutant Android 7.0 Nougat (niveau d'API 24) ou version ultérieure
- Une version à jour (récente) de Services Google Play pour la RA Ce service est automatiquement installé et mis à jour sur le site la majorité des appareils compatibles avec ARCore.
- Une version à jour des Google l'application. Cette application est préinstallée et se met à jour automatiquement sur la grande majorité des appareils compatibles avec ARCore.
Pour permettre les cas où les services Google Play pour la RA ou l'appli Google sont absents ou si les versions installées sont trop anciennes, vous pouvez spécifier une création de remplacement URL qui lance une autre expérience (par exemple, une page Web ou une erreur) ou une expérience de remplacement que vous avez créée.
Cas d'utilisation compatibles
Cas d'utilisation prévu | Application recommandée | Avantages |
---|---|---|
À partir d'un bouton ou d'un lien sur un site Web ou dans une application Android, lancez un
vue RA native d'un modèle 3D.
Si les Services Google Play pour la RA ne sont pas disponibles sur l'appareil, retourne avec grâce à l'affichage du modèle en mode 3D généré par Scene Viewer. |
Lancez Scene Viewer à l'aide d'un intent explicite
Google Search Package, puis choisissez un mode approprié
permettant d'afficher le modèle 3D.
|
|
Lancez une vue RA native à partir d'un bouton ou d'un lien sur un site Web ou une application Android.
d'un modèle 3D.
Si les services Google Play pour la RA ne sont pas disponibles sur l'appareil, contrôlez le le comportement de remplacement. |
Lancez Scene Viewer à l'aide d'un intent explicite pour :
Services Google Play pour la RA (ARCore), puis choisissez un
Paramètre mode pour afficher le modèle 3D.
|
Utilisez votre propre visionneuse de modèle 3D ou fournissez une autre réponse de remplacement de votre pour les cas d'utilisation non liés à la RA. |
Hébergez une vue intégrée d'un modèle 3D sur votre site Web et permettez à l'utilisateur de passer manuellement en mode RA natif plein écran. | Utilisez <model-viewer> ou toute autre
la visionneuse 3D Web pour lancer Scene Viewer, affichant de manière native le modèle 3D.
en RA. |
|
Lancer Scene Viewer à l'aide d'un intent explicite (3D ou RA)
Pour prendre en charge la plus large gamme d'appareils Android, utilisez un code Android explicite l'intention pour lancer Scene Viewer. L'intent explicite peut être déclenché à partir d'une page HTML. ou une application Android native. L'intent sera géré par Google préinstallée sur les appareils Android compatibles ARCore.
Selon les paramètres d'intent configurés et les capacités de l'appareil, Les modèles 3D peuvent être placés dans l'environnement de l'utilisateur ou s'afficher dans une visionneuse 3D.
Si les services Google Play pour la RA sont présents et à jour sur l'appareil, Scene Viewer affiche le modèle dans une vue native en RA ou dans une vue 3D.
Si les services Google Play pour la RA ne sont pas disponibles ou s'ils ne sont pas à jour, Scène La visionneuse revient progressivement à l'affichage du modèle en vue 3D.
Si un modèle 3D ne peut pas être affiché, par exemple, Google application n'est pas installée ou est une ancienne version, l'
S.browser_fallback_url
sera utilisé pour afficher une page Web de remplacement à la place.
Lancer Scene Viewer à partir d'un code HTML ou Java
HTML
Pour déclencher l'intent explicite à partir du code HTML, utilisez la syntaxe suivante:
<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
Pour déclencher l'intent explicite à partir de Java, utilisez le code suivant:
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);
Gestion des versions des intents
La version de l'intent est indiquée par le numéro de version situé après
arvr.google.com/scene-viewer
Par exemple, la version initiale utilisée
version 1.0. Lorsque les nouvelles fonctionnalités de Scene Viewer sont requises,
peut lancer Scene Viewer avec une version d'intent plus élevée correspondant à
les fonctionnalités dont vous avez besoin.
La version 1.1 d'Intent est compatible avec les liens intent://
, qui peuvent être lancés
directement dans une application Android
plutôt que vers une URL. Si vous préférez la scène
Lecteur pour garantir que cette fonctionnalité sera disponible au lancement et échouer
Sinon, lancez la visionneuse de scène avec l'intention
intent://arvr.google.com/scene-viewer/1.1
Paramètres d'intent compatibles
Les paramètres suivants sont pris en charge pour un intent explicite destiné à la Rechercher un package.
Paramètre d'intent | Valeurs autorisées | Commentaires |
---|---|---|
file (obligatoire) |
Une URL valide | Cette URL spécifie le fichier glTF ou glb à charger dans Scene Viewer. Il doit s'agir d'une URL avec échappement. |
S.browser_fallback_url (obligatoire pour les intents basés sur HTML) |
Une URL valide | Cette fonctionnalité de Google Chrome n'est compatible qu'avec les implémentations Web. Lorsque l'appli Google est absente de l'appareil, il s'agit de l'URL vers laquelle Google Chrome accède. |
mode (facultatif) |
3d_preferred (par défaut) |
Scene Viewer affiche le modèle en mode 3D à l'aide du bouton View in your space (Visualiser dans votre espace).
Si les services Google Play pour la RA ne sont pas disponibles sur l'appareil, le Le bouton Afficher dans votre espace est masqué. |
3d_only |
Scene Viewer démarre avec le modèle affiché en mode 3D, même si
Services Google Play pour la RA sont présents sur l'appareil.
Le bouton Voir chez vous ne s'affiche jamais.
|
|
ar_preferred |
Scene Viewer démarre en mode natif RA en tant que mode d'entrée. L'utilisateur reçoit
la possibilité de basculer entre les modes RA et 3D via le
Boutons Voir chez vous et Voir en 3D.
En l'absence de services Google Play pour la RA, Scene Viewer tombe progressivement. revenir au mode 3D comme mode d'entrée. |
|
ar_only |
Lorsque vous utilisez cette valeur, vous devez effectuer le lancement via un
intent Android explicite
à com.google.ar.core .
Remarque:N'utilisez pas le mode ar_only lors du lancement via
intent Android explicite
dans l'appli Google.
|
|
link (facultatif) |
Une URL valide |
URL d'une page Web externe. S'il est présent, un bouton s'affichera dans
l'interface utilisateur qui redirige vers cette URL lorsque l'utilisateur clique dessus.
|
title (facultatif) |
Chaîne valide |
Nom du modèle. S'il est présent, il sera affiché dans l'interface utilisateur.
Au-delà de 60 caractères, le nom sera tronqué et comporte des points de suspension.
|
son (facultatif) | Une URL valide | URL d'une piste audio en boucle synchronisée avec la première une animation intégrée dans un fichier glTF. Il doit être fourni avec glTF avec une animation de durée correspondante. S'il est présent, le son est lu en boucle après le chargement du modèle. Il doit s'agir d'une URL avec échappement. |
resizable (facultatif) |
true (par défaut)
|
Si la valeur est false , les utilisateurs ne peuvent pas mettre le modèle à l'échelle
dans l'expérience de RA. La mise à l'échelle fonctionne normalement en 3D.
|
enable_vertical_placement (facultatif) |
false (par défaut)
|
Si la valeur est true , les utilisateurs peuvent placer le modèle sur un
à la surface verticale.
|
Conseils sur l'expérience utilisateur
Afin d'offrir la meilleure expérience utilisateur possible, nous recommandons que les appels visibles à l'action signifient que l'utilisateur est sur le point d’entrer dans un environnement immersif.
Pour une expérience de visionnage 3D, nous vous recommandons d'utiliser une incitation à l'action intitulée Voir en 3D. qui ressemble à l'une des images suivantes:
Lancer Scene Viewer avec un intent explicite pour les services Google Play pour la RA (mode RA uniquement)
Le mode RA de Scene Viewer est fourni par les services Google Play pour la RA.
Pour vous assurer que la RA est disponible dans Scene Viewer, vous pouvez utiliser une image explicite d'Android
l'intention
à partir d'un site Web ou d'une application Android native pour lancer Scene Viewer
com.google.ar.core package
et spécifiez un browser_fallback_url
. De cette façon, vous
peut garantir que tous les utilisateurs bénéficient d'une expérience de RA native via Scene Viewer
une expérience de remplacement
que vous avez créée vous-même. Par exemple, vous pouvez créer
des expériences de remplacement, telles que votre propre visionneuse 3D ou un message d'erreur correct.
Pour déclencher l'intent explicite à partir du code HTML, utilisez la syntaxe suivante:
<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>;
Pour déclencher l'intent explicite à partir de Java, utilisez le code suivant:
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);
Paramètres d'intent compatibles
Les paramètres suivants sont compatibles avec un intent explicite pour Google Play Services pour le package RA
Paramètre d'intent | Valeurs autorisées | Commentaires |
---|---|---|
browser_fallback_url (obligatoire pour les intents basés sur HTML) |
Une URL valide | Cette option n'est disponible que pour les implémentations Web. Lorsque les services Google Play pour la RA ne sont pas disponibles sur l'appareil ou qu'ils ne sont pas situés il s'agit de l'URL à laquelle il accède. |
mode (facultatif) |
ar_only |
Scene Viewer lance toujours le modèle 3D dans une vue RA native et masque les
UI permettant de passer à la visionneuse 3D de Scene Viewer
Si les services Google Play pour la RA ne sont pas présents, Scene Viewer lance l'URL. que vous avez défini dans browser_fallback_url pour les expériences Web.
Pour les expériences basées sur les applications, Scene Viewer utilise une autre expérience.
comme un message d'erreur ou une autre
expérience que vous avez créée vous-même.
|
ar_preferred |
Scene Viewer est lancé en mode d'entrée natif en RA et fournit aux utilisateurs
la possibilité de basculer entre le mode RA et le mode 3D via l'onglet Visualiser chez vous ;
et Afficher en 3D.
Si les services Google Play pour la RA ne sont pas présents, Scene Viewer lance l'URL. que vous avez défini dans browser_fallback_url pour les expériences Web.
Pour les expériences basées sur les applications, Scene Viewer utilise une autre expérience.
comme un message d'erreur ou une autre
expérience que vous avez créée vous-même.
|
|
link (facultatif) |
Une URL valide |
URL d'une page Web externe. S'il est présent, un bouton s'affichera dans la
UI qui renvoie vers cette URL lorsqu'un utilisateur clique dessus.
La version 1.1 prend en charge les liens intent:// dans Scene Viewer dans pour permettre au bouton de visite de Scene Viewer d'autres applications. Il doit être utilisé avec précaution et ne doit être utilisé spécifié lorsqu'un gestionnaire d'intent est garanti pour être présent un intent donné. |
title (facultatif) |
Chaîne valide |
Nom du modèle. S'il est présent, il sera affiché dans l'interface utilisateur.
Au-delà de 60 caractères, le nom sera tronqué et comporte des points de suspension.
La version 1.1 accepte désormais les styles HTML pour le contenu du titre, avec une quantité arbitraire de texte autorisée. Notez que le titre doit être échappé au format URL. |
sound (facultatif) |
Une URL valide | URL d'une piste audio en boucle synchronisée avec la première animation. intégrés dans un fichier glTF... Il doit être fourni avec un fichier glTF avec une Animation de durée correspondante. Le cas échéant, le son est activé en boucle après l'événement est chargé. |
resizable (facultatif) |
true (par défaut)
|
Si la valeur est false , les utilisateurs ne peuvent pas mettre le modèle à l'échelle
dans l'expérience de RA. La mise à l'échelle fonctionne normalement en mode 3D.
|
disable_occlusion (facultatif) |
false (par défaut)
|
Si la valeur est true , les objets placés dans la scène apparaissent toujours
devant des objets du monde réel dans la scène. Voir
Pour en savoir plus, [activez l'occlusion](/ar/develop/depth#enable_occlusion).
|
Conseils sur l'expérience utilisateur
Pour offrir la meilleure expérience utilisateur possible aux utilisateurs, nous vous recommandons de suivre ces consignes.
Pour les expériences de RA, l'incitation à l'action visible doit indiquer que l'utilisateur est sur le point d'entrer dans un environnement immersif. Nous vous recommandons d'utiliser la Afficher dans votre espace incitation à l'action:
Il est possible que les utilisateurs n'aient pas Services Google Play pour la RA installée sur son appareil. Voici comment
<model-viewer>
gère la création de remplacement et vous pouvez utiliser cet extrait de code comme point de départ.// 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);
Utiliser <model-viewer>
pour lancer Scene Viewer
Vous pouvez activer Scene Viewer sur votre site Web en incluant le paramètre
Composant Web <model-viewer>
avec le composant
ar
.
<model-viewer ar
ar-modes="scene-viewer webxr quick-look"
alt="A 3D model of an astronaut."
src="Astronaut.gltf"></model-viewer>
Lorsqu'il est consulté sur un appareil Android compatible ARCore, un site Web qui inclut le
Le composant <model-viewer>
avec l'attribut ar
affiche un bouton, comme illustré dans
l'exemple suivant.
Lorsque le mode scene-viewer
est utilisé dans ar-modes
,
il passe à une vue RA native et invite l'utilisateur à placer le modèle dans son environnement à l'aide de Scene Viewer.
En l'absence des services Google Play en RA, appuyez sur ce bouton pour afficher
le modèle dans la visionneuse 3D de <model-viewer>
.
Consultez la documentation sur <model-viewer>
pour savoir comment faire vos premiers pas avec <model-viewer>
.
Exigences relatives aux fichiers des modèles
La compatibilité et les limites de Scene Viewer pour les modèles sont les suivantes.
Formats de fichier acceptés | glTF 2.0/glb , en utilisant les extensions suivantes:
|
Animation |
glTF
contient plusieurs animations, Scene Viewer ne lit que la première.
|
Limites recommandées |
Les performances globales des composants dépendent de la définition de contraintes et
faire des compromis entre les sommets, les matériaux, la résolution des textures, le maillage par
les matériaux et
d’autres facteurs. Suivez les consignes ci-dessous pour optimiser vos composants.
|
Compatibilité avec les ombres | Les ombres dures sont rendues automatiquement par Scene Viewer lorsque vous placez un objet. Par conséquent, nous vous déconseillons des ombres dans votre modèle. |
Compatibilité avec les textures |
|
Composition | PBR |
Chargement du fichier | HTTPS |
Scène |
|
Utiliser l'outil de prévisualisation pour valider vos modèles 3D
Pour vous assurer que votre fichier de modèle 3D s'affichera correctement dans Scene Viewer, utilisez notre outil de prévisualisation en ligne pour valider les fichiers sur votre PC.
Valider votre modèle 3D
Pour valider un modèle, l'outil de prévisualisation a besoin d'un fichier glb ou glTF, les fichiers image et bin associés, et un fichier audio facultatif. Le fichier audio sera en boucle avec l'animation 0.
Vous pouvez sélectionner plusieurs fichiers individuels, ou insérer, si vous le souhaitez, les fichiers glb ou glTF et ses fichiers associés dans un fichier zip. (La méthode de fichier zip n'est pas compatible avec l'audio files.)
Pour valider votre modèle 3D:
Ouvrez l'outil de prévisualisation en ligne. dans un navigateur.
Utilisez l'une des méthodes suivantes pour ajouter les fichiers à l'outil de prévisualisation:
Glisser-déposer. Sélectionnez un fichier glb ou glTF, ainsi que tous les fichiers (ou un fichier ZIP contenant ces fichiers), puis faites glisser les fichiers ou zip à l'outil de prévisualisation.
Depuis l'outil de prévisualisation : Dans l'outil de prévisualisation, sélectionnez Scene Viewer > Charger le fichier. Sélectionnez un fichier glb ou glTF et tous ses fichiers associés (ou un fichier ZIP contenant ces fichiers), puis cliquez sur Ouvrir.
Après avoir chargé les fichiers de votre modèle 3D dans l'outil de prévisualisation, une console en bas du navigateur affiche les résultats, y compris les messages d'erreur.
Ajouter des modèles 3D pour la validation
Pour valider un modèle 3D, ajoutez les fichiers qui le composent à notre Éditeur de modèles.
Pour valider un modèle, l'outil de prévisualisation a besoin du fichier glb ou glTF du modèle, les fichiers image et bin associés, et un fichier audio facultatif. Vous pouvez sélectionner plusieurs éléments des fichiers individuels ou ajouter un seul fichier zip.
Lors de l'ajout d'un fichier zip, l'outil de prévisualisation charge le premier fichier glb ou glTF trouvé, ainsi que les fichiers image et bin associés dans ce fichier zip.
Ouvrez l'éditeur de modèle. dans un navigateur.
Utilisez l'une des méthodes suivantes pour ajouter les fichiers à l'outil de prévisualisation:
Pour glisser-déposer des fichiers pour validation, sélectionnez plusieurs fois le fichier glb ou glTF et tous les fichiers associés (ou sélectionnez un fichier ZIP contenant ces fichiers), et je la fais glisser dans l'outil de prévisualisation.
Sélectionner des fichiers dans l'outil de prévisualisation Dans l'outil de prévisualisation, sélectionnez Scene Viewer > Charger le fichier. Sélectionnez le fichier glb ou glTF, ainsi que tous les fichiers (ou un fichier ZIP contenant ces fichiers), puis cliquez sur Ouvrir.
Erreurs de validation
Code d'erreur | Gravité | Message | Valeurs actuellement acceptées |
---|---|---|---|
INVALID_INPUT_FILE_EXTENSION |
Erreur | L'extension du fichier d'entrée [filename] n'est pas compatible avec l'outil de validation. | ['.glb', '.gltf'] |
REC_INPUT_BINARY_SIZE_EXCEEDED |
Avertissement | La taille binaire de l'entrée utilisateur fournie dépasse la limite recommandé par la spécification Scene Viewer, fixée à [size] Mo. | 10 |
MAX_INPUT_BINARY_SIZE_EXCEEDED |
Erreur | La taille binaire de l'entrée utilisateur fournie dépasse la limite maximale pris en charge par la spécification Scene Viewer, dont la taille est limitée à [size] Mo. | 15 |
UNSUPPORTED_GLTF_EXTENSION_USED |
Erreur | L'extension [ext] du fichier glTF n'est pas compatible avec la spécification Scene Viewer. | ['KHR_materials_pbrSpecularGlossiness', 'KHR_materials_unlit', 'KHR_texture_transform'] |
ANIMATION_LIMIT_EXCEEDED |
Erreur | Le nombre d'animations dans le fichier glTF dépasse la limite autorisée par le Spécification Scene Viewer, fixée à [num] animations au maximum. | 1 |
MORPH_TARGET_USED |
Erreur | Le fichier glTF contient une cible de transformation, ce qui n'est pas pris en charge par le Spécification Scene Viewer. | |
MATERIAL_LIMIT_EXCEEDED |
Avertissement | Le nombre de matériaux dans le fichier glTF dépasse la limite recommandée par la spécification Scene Viewer, fixée à [num] contenus maximum. | 10 |
TEXTURE_RESOLUTION_LIMIT_EXCEEDED |
Avertissement | La résolution de l'image à l'index [idx] dans le fichier glTF dépasse la limite recommandé par la spécification Scene Viewer, de [res] x [res]. | 2 048 x 2 048 |
UV_LIMIT_EXCEEDED |
Erreur | Le nombre d'UV par maillage dans le fichier glTF dépasse la limite acceptée par le Spécification Scene Viewer, fixée à [num] UV par maillage. | 1 |
VERTEX_COLOR_USED |
Erreur | Le fichier glTF contient une couleur de sommet, qui n'est pas compatible avec la spécification Scene Viewer. | |
JOINT_LIMIT_EXCEEDED |
Erreur | Le nombre de jointures du fichier glTF dépasse la limite acceptée par la spécification Scene Viewer, soit [num] jointures au maximum. | 254 |
TRIANGLE_LIMIT_EXCEEDED |
Avertissement | Le nombre de triangles du fichier glTF dépasse la limite recommandée par la spécification Scene Viewer, soit [num] triangles au maximum. | 100 000 |
PRIMITIVE_MODE_UNSUPPORTED |
Erreur | Le mode primitif [mode] n'est pas compatible avec la spécification Scene Viewer. | {4 : Liste des triangles, 5 : Bande triangulaire 6 : Ventilateur Triangle} |
MISSING_PBR_METALLIC_ROUGHNESS |
Informations |
Il manque le pbrMetallicRoughness dans le matériau dont l'indice correspond à [idx].
. Cette opération n'est pas requise par la spécification Scene Viewer si les objets sont métalliques.
et des facteurs de rugosité sont utilisés à la place. Si aucune de ces méthodes n'est utilisée, alors
le matériau utilisera des valeurs par défaut, ce qui peut entraîner un comportement inattendu.
|