Partager via


Testez si un objet s’intégrera dans un espace en utilisant la réalité mixte

Vous pouvez utiliser le contrôle Caméra de mesure pour déterminer si un objet d’une taille connue tiendra dans un espace particulier. Dans cet article, nous allons créer une application canevas pour faire exactement cela.

Conseil

Les contrôles Mixed-reality (MR) fonctionnent mieux dans des environnements bien éclairés avec des surfaces à texture plane. Le suivi est meilleur sur les appareils compatibles LIDAR.

Ajouter des champs de saisie de dimensions minimales à une application canevas

Tout d’abord, nous allons créer une application canevas vide. Ensuite, nous ajouterons un moyen pour l’utilisateur d’entrer les dimensions minimales à tester (c’est-à-dire le plus petit espace qui contiendra l’objet que nous voulons adapter).

  1. Créez une application canevas vide.

  2. Sélectionnez l’onglet Insérer. Insérez et placez trois contrôles Étiquette de texte sur l’écran.

  3. Changer la propriété Text des Étiquettes sur Minimum Width, Minimum Depth et Minimum Height, respectivement.

    Une capture d’écran d’une Étiquette de texte dans MR en construction dans Microsoft Power Apps Studio, affiché avec sa propriété.

  4. Sélectionnez l’onglet Insérer. Insérez trois contrôles Saisie de texte et placez-les à droite des trois Étiquettes.

  5. Renommez les contrôles Saisie de texte en minWidth, minDepth et minHeight, respectivement.

    Une capture d’écran d’un contrôle Saisie de texte en construction dans Microsoft Power Apps Studio, affiché avec sa propriété.

  6. Sélectionnez les trois contrôles Saisie de texte. Changer la propriété Format du groupe à Number et définissez la propriété Default sur 1.0.

    Une capture d’écran de trois contrôles Saisie de texte en construction dans Microsoft Power Apps Studio, affiché avec les propriétés du groupe sélectionné.

Ajouter et lier le contrôle Caméra de mesure

Ensuite, nous ajouterons le contrôle Caméra de mesure pour permettre à l’utilisateur de mesurer un espace en trois dimensions. Nous allons lier les mesures à une table de données pour une utilisation ultérieure.

  1. Cliquez sur l’onglet Insérer et développez Médias.

  2. Sélectionnez Caméra de mesure pour placer le contrôle dans l’écran de l’application. Déplacez le contrôle près du bas de l’écran.

  3. Modifiez les propriétés du contrôle comme suit :

    Nom de la propriété Valeur
    Unité de mesure Pieds ou mètres Sélectionnez sur l’onglet Propriétés
    Type de mesure Volume Sélectionnez sur l’onglet Propriétés
    Box draw On Sélectionnez sur l’onglet Propriétés
    Items Table({Étiquette:"Test Volume"}) Entrer sur l’onglet Avancé
    ItemsLabels "Étiquette" Entrer sur l’onglet Avancé
    OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Étiquette = "Test Volume")); Entrer sur l’onglet Avancé

Les propriétés Items, ItemsLabels et OnMixedRealitySelect du contrôle Caméra de mesure devrait ressembler aux exemples suivants lorsque vous avez terminé :

Une capture d’écran d’un contrôle Measure in 3D en construction dans Microsoft Power Apps Studio, affiché avec ses propriétés Items et ItemsLabels.

Une capture d’écran d’un contrôle Measure in 3D en construction dans Microsoft Power Apps Studio, affiché avec sa propriété OnMixedRealitySelect.

La formule dans Items capture les dimensions de l’espace mesuré dans un tableau de données nommé « Volume d’essai ». La formule dans OnMixedRealitySelect définit une variable nommée « testVolume » sur les valeurs capturées dans la table « Test Volume ».

Afficher les résultats

Enfin, nous ajouterons des Étiquettes de texte pour afficher les mesures qui ont été prises et le résultat du test (c’est-à-dire si l’objet tiendra dans l’espace mesuré).

  1. Sélectionnez l’onglet Insérer. Insérez et placez quatre contrôles Étiquette de texte sur l’écran.

  2. Changer la propriété Text des contrôles d’étiquette comme suit. (Astuce : Copiez chaque formule et collez-la dans la barre de formule ou sur l’onglet des propriétés Avancées, celui que vous préférez.)

    • Première Étiquette :

          If(IsBlankOrError(testVolume), "No Measurement captured",
              If(testVolume.Height >= Value(minHeight.Text) &&
              ((testVolume.BoundingWidth >= Value(minWidth.Text) && testVolume.BoundingDepth >= Value(minDepth.Text)) ||
              (testVolume.BoundingWidth >= Value(minDepth.Text) && testVolume.BoundingDepth >= Value(minWidth.Text))),
              "Fit Test Succeeded", "Fit Test Failed"))
      

      Cette formule définit le texte de l’étiquette selon que le test a réussi ou échoué, en fonction des dimensions minimales requises pour contenir l’objet que nous voulons adapter. Si le test n’a pas été exécuté, soit parce qu’aucune mesure n’a été capturée, soit parce qu’une erreur s’est produite, le texte de l’étiquette le reflète.

      Une capture d’écran d’un contrôle d’étiquette de texte en construction dans Microsoft Power Apps Studio, affiché avec sa propriété Text dans la barre de formule et l’onglet des propriétés avancées.

    • Deuxième Étiquette :

          Concatenate("Bounding Width: ", Text(testVolume.BoundingWidth))
      

      Cette formule définit le texte de l’étiquette sur « Bounding Width: » suivi de la largeur de l’espace mesuré.

    • Troisième Étiquette :

          Concatenate("Bounding Depth: ", Text(testVolume.BoundingDepth))
      

      Cette formule définit le texte de l’étiquette sur « Bounding Depth: » suivi de la profondeur de l’espace mesuré.

    • Quatrième Étiquette :

          Concatenate("Bounding Height: ", Text(testVolume.Height))
      

      Cette formule définit le texte de l’étiquette sur « Bounding Height: » suivi de la hauteur de l’espace mesuré.

L’écran de l’application devrait maintenant ressembler à ceci :

Capture d’écran de l’écran de l’application finale.

Tester l’application

Sélectionnez le bouton d’aperçu pour exécuter l’application en mode aperçu. Sélectionnez Caméra de mesure pour remplir les Étiquettes avec des données. Pour vérifier que les liaisons d’Étiquettes fonctionnent, entrez de nouvelles valeurs dans les champs Saisie de texte.

Une capture d’écran de l’écran de l’application en mode aperçu après la saisie de nouvelles dimensions minimales.

Les valeurs pour Bounding Width and Bounding Depth peuvent être échangées lors de l’exécution du test.

Enregistrer et publier votre application. Ouvrez-la sur un appareil compatible avec la réalité mixte pour tester si un objet avec les dimensions spécifiées s’adaptera aux limites de toute mesure capturée.

Filtrage d’une source de données

L’application que nous avons créée teste un ensemble unique de dimensions qui sont spécifiées par l’utilisateur lors de l’exécution de l’application. Cependant, vous pouvez l’étendre pour tester à nouveau n’importe quel source de données en appliquant la formule en tant que prédicat Filtre.

Par exemple, disons que notre application contient une référence à une table Dataverse nommée Produits qui comprend trois colonnes : Largeur, Profondeur et Hauteur (correspondant aux dimensions de chaque produit). Pour filtrer la collection et afficher uniquement les mesures qui correspondent à un volume mesuré, nous pouvons appliquer la formule suivante.

    If(IsBlankOrError(testVolume), Products,
    Filter(Products, testVolume.Height >= Height &&
        ((testVolume.BoundingWidth >= Width && testVolume.BoundingDepth >= Depth) ||
        (testVolume.BoundingWidth >= Depth && testVolume.BoundingDepth >= Width))))

Voir aussi

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é).