Partager via


Charger des modèles 3D dans des applications canevas

Chargez un modèle 3D dans vos applications canevas à partir de diverses sources. Vous pouvez obtenir des modèles à partir de pièces jointes ou de contenu multimédia, d’une URL directe ou d’un URI codé en Base64 (Uniform Resource Identifier).

Assurez-vous que vos modèles 3D sont optimisés pour une utilisation avec Power Apps pour minimiser les temps de chargement.

Chargement de modèles 3D à partir de connecteurs courants

Le chargement de modèles 3D à partir de pièces jointes ou de contenu multimédia dépend de la manière dont un connecteur de données est pris en charge. Pour vérifier si un connecteur de données fonctionnera avec les contrôles de réalité mixte, ajoutez un contrôle d’étiquette à l’application canevas et définissez la propriété Text à la source de données. Si le texte de l’étiquette commence par appres://, le connecteur de données devrait fonctionner avec le contrôle Objet 3D.

Conseil

Vous pouvez renommer une extension de fichier .glb en .jpg et charger le fichier directement dans l’application via l’onglet Média.

Charger des modèles 3D à partir de Microsoft Listes

Tout d’abord, créez une liste dans SharePoint et ajoutez une entrée pour chaque modèle 3D que vous souhaitez avoir dans votre application.

  1. Créer une liste à l’aide des listes Microsoft.
  2. Sélectionnez l’en-tête de colonne + Ajouter une colonne, puis sélectionnez Afficher/masquer les colonnes.
  3. Sélectionnez Documents joints, puis Appliquer.
  4. Ajouter une entrée à la liste. Dans le formulaire de saisie, sélectionnez Ajouter des pièces jointes et sélectionnez votre fichier de modèle 3D.
  5. Répétez l’opération pour chaque modèle que vous souhaitez inclure dans votre application.

Ensuite, ajoutez une galerie à votre application, définissez sa source sur la liste, ajoutez un contrôle Objet 3D et définissez sa source sur la galerie.

  1. Ajouter une galerie dans Power Apps Studio.
  2. Définissez la galerie source de données sur la liste.
  3. Ajouter le contrôle Objet 3D.
  4. Dans l’onglet des propriétés Advanced, définissez Source sur First(Gallery1.Selected.Documents joints).Value.

Charger des modèles 3D à partir d’un classeur Excel

Tout d’abord, créez un classeur Excel dans OneDrive dans le même dossier qui contient vos fichiers de modèle. Ajoutez un tableau avec des lignes pour chaque modèle que vous souhaitez avoir dans votre application.

  1. Créez un classeur Excel et enregistrez-le dans le dossier OneDrive qui contient vos fichiers de modèle.

    Une capture d’écran de OneDrive qui montre le classeur Excel ModelGallery et les fichiers de modèle 3D qui l’accompagnent.

  2. Dans le classeur, créez une table avec des colonnes nommées 3DModel [image] et Nom.

  3. Ajoutez une ligne pour chaque modèle que vous souhaitez afficher dans la galerie d’applications. Entrez une Étiquette pour le modèle dans la colonne Nom et le chemin d’accès relatif au fichier de modèle dans la colonne 3DModel [image].

    {Une capture d’écran d’un tableau Excel avec des colonnes pour le nom d’un modèle 3D et le chemin d’accès au fichier objet.}

  4. Fermez le classeur.

Ensuite, ajoutez une galerie à votre application, définissez sa source sur le classeur Excel, ajoutez un contrôle Objet 3D et définissez sa source sur la galerie.

  1. Ajouter une galerie dans Power Apps Studio.
  2. Utilisez le connecteur OneDrive pour définir la galerie source de données sur le classeur Excel.
  3. Ajouter le contrôle Objet 3D.
  4. Dans l’onglet des propriétés Advanced, définissez Source sur Gallery1.Selected.’3DModel’.

Charger des modèles 3D à partir d’une URL

La propriété Source du contrôle Objet 3D peut être l’URL d’un fichier de modèle 3D.

Le fichier de modèle 3D doit se trouver sur un serveur qui n’a pas de paramètres de partage des ressources cross-origin (CORS) restrictifs. Le serveur d’hébergement doit autoriser les requêtes cross-origin de powerapps.com. Vous pouvez utiliser Dropbox ou GitHub pour héberger vos fichiers et obtenir une URL conforme à CORS.

Hébergez vos fichiers de modèles 3D dans Dropbox

  1. Chargez un fichier de modèle 3D sur Dropbox et sélectionnez Partager.
  2. Générez un lien de téléchargement public. Par exemple, https://www.dropbox.com/s/rANdoMGeneR4tedLink/my-file.glb?dl=0.
  3. Modifiez l’URL comme ceci : remplacez www par dl, et supprimez ?dl=0 à la fin.

Vous avez maintenant une URL d’accès direct (dans notre exemple, https://dl.dropbox.com/s/rANdoMGeneR4tedLink/my-file.glb), que vous pouvez utiliser comme source de votre contrôle 3D.

Hébergez vos fichiers de modèles 3D dans GitHub

  1. Assurez-vous que le fichier de modèle 3D est stocké dans un référentiel public.
  2. Obtenez l’URL du fichier. Par exemple, https://github.com/microsoft/experimental-pcf-control-assets/blob/master/robot_arm.glb.
  3. Modifiez l’URL comme ceci : supprimez /blob/, et remplacez https://github.com par https://raw.githubusercontent.com.

Vous avez maintenant une URL conforme au CORS (dans notre exemple, https://raw.githubusercontent.com/microsoft/experimental-pcf-control-assets/master/robot_arm.glb), que vous pouvez utiliser comme source de votre contrôle 3D.

Charger des modèles 3D encodés en Base64

La propriété Source du contrôle Objet 3D peut être un URI de données de modèle 3D encodé en Base64 au format data:base64,<Base64-encoded content>.

Important

Votre application peut prendre plus de temps à se charger si vous utilisez des modèles encodés en Base64.

Vous pouvez créer un URI encodé en Base64 de votre modèle en utilisant Microsoft Power Automate ou Microsoft Dataverse.

Créez un modèle 3D encodé en Base64 avec Microsoft Power Automate

Power Automate peut convertir des fichiers de modèles 3D stockés dans une bibliothèque de documents SharePoint en Base64 en utilisant l’expression dataUri(base64(file content)).

Dans l’exemple suivant, une bibliothèque de documents nommée 3DModelBase64Library et une liste nommée 3DModelBase64 existe dans le même site SharePoint. La liste doit inclure une colonne de type texte sur plusieurs lignes.

  1. Dans la bibliothèque de documents, créez un flux basé sur le modèle Lorsqu’un nouveau fichier est ajouté dans SharePoint, effectuer une action personnalisée.

  2. Définissez Nom de la bibliothèque sur 3DModelBase64Library (le nom de la bibliothèque de documents dans cet exemple).

  3. Ajoutez une étape, Obtenir le contenu du fichier à partir de SharePoint.

  4. Définissez Identificateur de fichier sur Identificateur.

  5. Ajouter une étape, Créer un élément à partir de SharePoint.

  6. Définissez la Liste de noms sur 3DModelBase64 (le nom de la liste dans cet exemple) et Titre sur Nom de fichier avec extension.

  7. Définissez dataUri sur l’expression suivante :

    concat('data:model/gltf-binary;base64,', Last(split(dataUri(base64(body('Get_file_content'))), ',')))

    Une capture d’écran d’un workflow Power Automate qui montre les étapes pour convertir les fichiers de modèle 3D dans une bibliothèque de documents SharePoint sur Base64.

Le flux s’exécute lorsqu’un fichier est ajouté à la bibliothèque de documents, convertissant le fichier en un URI de données codé en Base64.

Dans Power Apps Studio, connectez le contrôle Objet 3D à la liste à l’aide du connecteur de données SharePoint. Définissez la propriété Source du contrôle sur l’URI des données encodées en Base64.

Créez un modèle 3D encodé en Base64 avec Microsoft Dataverse

La Table de notes (annotation) dans Microsoft Dataverse convertit tout fichier joint dans le champ Document en Base64.

Contraintes connues lors du chargement de modèles 3D depuis les URL dans des applications canevas

  • L’architecture de sécurité de Power Apps nécessite des liens HTTPS, pas HTTP.
  • Le serveur qui héberge les fichiers de modèle ne doit pas nécessiter d’authentification et doit être conforme à CORS.

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).