Utilisez SideFX Houdini pour transformer les nuages de points en objets 3D optimisés pour Dynamics 365 Guides et pour les composants de réalité mixte dans les applications créées avec Power Apps
Ce didacticiel fournit des instructions étape par étape pour les tâches suivantes :
Convertissez un nuage de points en un objet 3D.
Optimisez un objet 3D en réduisant le nombre de polygones afin qu’il corresponde aux objectifs de performances pour les applications de réalité mixte Dynamics 365.
Exportez un objet 3D optimisé sous forme de fichier .glb pouvant être utilisé dans Dynamics 365 Guides des composants de réalité mixte dans les applications créées avec Power Apps
Créez un modèle de pipeline de traitement afin de pouvoir optimiser rapidement les nuages de points à l’avenir.
Ce didacticiel est fourni à titre informatif uniquement pour montrer comment SideFX Houdini fonctionne avec Microsoft Dynamics 365 Guides et Power Apps. Votre utilisation d’applications tierces est soumise à des conditions conclues entre vous et le tiers. Microsoft Corporation n’est pas affilié, n’est pas partenaire et n’approuve ni ne sponsorise SideFX ou aucun de ses produits. Il existe plusieurs autres applications de création de contenu que vous pouvez utiliser pour préparer vos objets 3D.
Qu’est-ce qu’Houdini ?
Houdini est un outil de création de contenu procédural 3D. Il utilise un système d’outils non destructifs basé sur des nœuds pour concevoir des pipelines de processus et du contenu 3D.
Paramétrer votre environnement
Pour configurer votre environnement, vous devez effectuer ces tâches :
Installez l’extension SideFX Labs.
Configurez AliceVision pour la photogrammétrie.
Installez l’extension SideFX Labs
SideFX Labs est un terrain de test pour les outils qui peuvent vous aider à être opérationnel plus rapidement avec Houdini. Cette collection d’outils gratuits comprend des outils utiles pour convertir des nuages de points en objets 3D optimisés. Pour utiliser SideFX Labs, vous devez utiliser Houdini 18 ou une version ultérieure.
SideFX fournit un tutoriel vidéo qui vous aide à installer ces outils.
Note
Vous devez installer Houdini avant de pouvoir installer SideFX Labs. Découvrez comment installer Houdini.
Ouvrez Houdini.
Pour installer SideFX Labs, sélectionnez le signe plus en haut de la fenêtre Houdini, sélectionnez Étagères, puis sélectionnez SideFX Labs case à cocher.
Dans la barre d’outils qui apparaît en haut de la fenêtre, sélectionnez Ensemble d’outils de mise à jour pour ouvrir le programme d’installation.
Sélectionnez Mise à jour pour installer les outils.
Si l’installation réussit, d’autres outils apparaissent dans la barre d’outils. Vous pouvez ensuite poursuivre ce tutoriel.
Configurer AliceVision pour la photogrammétrie
AliceVision est un cadre photogrammétrique de vision par ordinateur développé par Mikros Image. Il fournit des algorithmes de reconstruction 3D et de suivi de caméra. Apprenez-en davantage sur AliceVision et le plug-in AliceVision.
Pour plus d’informations sur l’installation et la configuration du plug-in AliceVision pour Houdini, consultez le tutoriel SideFX.
Importer un nuage de points dans Houdini
Houdini peut importer des fichiers de nuages de points au format de fichier PLY. Si votre fichier est au format de fichier PTS, vous pouvez le convertir manuellement au format PLY.
Convertir un fichier .pts en fichier .ply
Ouvrez votre fichier .pts dans un éditeur de fichiers de votre choix et ajoutez l’en-tête suivant.
************************ ply format ascii 1.0 element vertex 534993 property float x property float y property float z property uchar intensity property uchar red property uchar green property uchar blue end_header ************************
Dans l’en-tête, à côté du sommet de l’élément, remplacez la valeur 534993 par la valeur qui apparaissait initialement en haut. de votre fichier .pts (mais suit désormais immédiatement l’en-tête).
Cette valeur correspond au nombre total de points dans votre nuage de points.
Supprimez la valeur d’origine après l’en-tête. Le tableau suivant présente une comparaison côte à côte des fichiers avant et après avoir apporté les modifications précédentes. La valeur du sommet de l’élément est mise en évidence en rouge.
Haut du fichier .pts Haut du fichier .ply Enregistrez le fichier afin qu’il porte l’extension de nom de fichier .ply.
Importez le fichier .ply
Ouvrez Houdini. Une nouvelle scène est automatiquement créée. Dans cette procédure, vous allez créer une chaîne de nœuds pour transformer le nuage de points en un objet 3D. Ces nœuds sont construits dans le volet inférieur droit de la fenêtre Houdini.
Cliquez avec le bouton droit dans le volet inférieur droit pour ouvrir le menu TAB. (Vous pouvez également appuyer sur la touche Tab .)
Dans le menu TAB, sélectionnez Importer > Fichier, puis sélectionnez dans le Volet Géométrie pour placer le nœud.
Double-cliquez au milieu du nœud file1 (ou appuyez sur I) pour explorer au niveau du détail dans la sélection de fichiers. partie du nœud, sélectionnez le bouton Sélecteur de fichiers , puis sélectionnez le fichier à importer.
Dans le navigateur de fichiers qui apparaît, accédez à l’emplacement du fichier de nuage de points .ply que vous souhaitez importer, sélectionnez le fichier, puis sélectionnez Accepter.
Le nuage de points apparaît dans la partie principale de la fenêtre. Si vous ne pouvez pas le voir, essayez d’utiliser la molette de la souris pour effectuer un zoom arrière jusqu’à ce que vous puissiez voir l’intégralité du nuage de points.
Préparer le nuage de points
Réorienter le nuage de points
Parfois, lorsque vous importez pour la première fois un nuage de points, celui-ci est mal orienté. Vous pouvez corriger l’orientation en ajoutant un nœud de transformation à l’arborescence des nœuds.
Cliquez avec le bouton droit dans le volet Géométrie pour ouvrir le menu TAB, puis sélectionnez Manipuler > Transform pour ajouter un nœud de transformation.
Faites glisser depuis le point en bas du nœud file1 vers le point en haut du nœud transform1 . De cette façon, vous connectez la sortie du nœud file1 à l’entrée du nœud transform1 . Sélectionnez ensuite sur le côté droit du nœud transform1 . Le côté droit du nœud transform1 devient bleu et le nœud devient actif dans la partie principale de la fenêtre, afin que vous puissiez voir votre modèle après sa réorientation.
Astuce
Pour afficher le modèle au cours d’une étape spécifique du processus dans Houdini, cliquez sur le côté droit du nœud approprié. Cette fonctionnalité est utile si vous devez examiner votre objet 3D dans un état précédent et modifier les modifications survenues au cours de cet état.
Pour corriger la rotation de votre modèle, dans le volet d’options au-dessus du volet de nœud, ajoutez des valeurs dans la ligne Rotate . Vous pouvez souvent définir la valeur x sur 270 pour faire pivoter le modèle dans la position correcte. Toutefois, si cette valeur ne fonctionne pas, essayez différentes valeurs.
Pour centrer votre nuage de points sur le point d’origine, ajoutez un nœud d’alignement d’axe après le nœud de transformation. Pour placer le nœud, passez votre souris sur le volet Géométrie , appuyez sur la touche Tab pour ouvrir le Menu TAB, puis sélectionnez Labs>Géo>Labs Axis Align.
Faites glisser pour connecter le point de sortie en bas du nœud transform1 au point d’entrée en haut de axis_align1 nœud. Laissez les valeurs par défaut telles quelles pour positionner votre nuage de points au-dessus du point d’origine (un endroit idéal pour cela).
Nettoyer le nuage de points pour supprimer les points parasites
Si votre nuage de points comporte des points parasites que vous souhaitez supprimer, vous pouvez sélectionner et supprimer des points individuels ou des groupes de points.
Remplacez la méthode de sélection de la géométrie par Points et la Sélection outil pour la sélection au lasso.
Note
Vous pouvez utiliser une méthode différente si vous préférez.
Sélectionnez les points à supprimer.
Appuyez sur la touche Supprimer . Un nouveau nœud blast1 apparaît. Le point d’entrée en haut de ce nœud est connecté au point de sortie en bas du dernier nœud avec lequel vous travailliez.
Continuez à supprimer des points jusqu’à ce que vous soyez satisfait des résultats. Chaque suppression ajoute un nouveau nœud d’explosion que vous pouvez afficher ou supprimer à tout moment.
Convertir le nuage de points en maillage
Les applications de rendu glTF et en temps réel nécessitent que les objets soient représentés sous la forme d’une surface polygonale triangulée. Vous pouvez utiliser la commande Surface fluide de particules pour relier les points en une surface logique sous forme de géométrie polygonale.
Sélectionnez dans le volet Géométrie pour ouvrir le menu TAB, puis sélectionnez Fluide >Surface fluide de particules. Sélectionnez ensuite le nœud et ajoutez-le au volet Géométrie .
Faites glisser pour connecter le point de sortie en bas du nœud transform1 au point d’entrée en haut à gauche de la particlefluidsurface1 nœud. Sélectionnez ensuite sur le côté droit du nœud pariclefluidsurface1 pour activer le nœud dans la partie principale de la fenêtre.
Dans la partie principale de la fenêtre, le nuage de points est rendu sous forme de maillage. L’onglet Surfaçage est sélectionné dans le volet supérieur droit, au-dessus du volet Géométrie .
Si les données de couleur sont associées aux points du nuage de points, vous pouvez utiliser les attributs de couleur en ajoutant les lettres Cd à la fin de la valeur dans le Champ Attributs de transfert . La couleur sera alors affichée sur votre maillage.
S’il y a des trous dans le maillage, comme indiqué dans l’illustration suivante, ajustez la séparation des particules et l’échelle de voxel curseurs dans le volet supérieur droit pour essayer de résoudre le problème.
Pour préparer le maillage pour la décimation (l’étape suivante du processus global), sous Sortie, modifiez la valeur de Convertir en champ allant de Soupe de polygones de surface à Polygones de surface. De cette façon, vous pouvez remailler le maillage et le décimer.
Cliquez avec le bouton droit dans le volet Géométrie pour ouvrir le menu TAB, puis sélectionnez Polygone>Remaillage. Un nœud de remaillage est ajouté pour convertir le maillage en triangles. De cette façon, vous pouvez décimer l’objet 3D jusqu’à obtenir un nombre de polygones répondant à vos exigences de performances.
Faites glisser pour connecter le point de sortie en bas du nœud particlefluidsurface1 au point d’entrée en haut à gauche du remesh nœud. Sélectionnez au milieu du nœud remesh pour l’activer dans le volet au-dessus du volet Géométrie . Sélectionnez ensuite sur le côté droit du nœud remesh pour activer le modèle dans la partie principale de la fenêtre. Vous pouvez maintenant modifier les propriétés du remaillage et le modèle dans la partie principale de la fenêtre reflétera ces modifications.
Testez les options sous Dimensionnement des éléments pour obtenir les résultats souhaités. Pour le champ Longueurs de bord , vous pouvez conserver la valeur par défaut (Uniforme), ou vous pouvez sélectionner Adaptatif et ajustez le curseur Densité relative (et d’autres options) pour produire le maillage souhaité.
Décimez l’objet 3D pour améliorer les performances
Pour atteindre les objectifs spécifiques à l’application, vous devrez peut-être décimer votre objet 3D. La décimation est le processus de recalcul des polygones de surface d’un modèle pour créer une forme similaire en utilisant moins de polygones. Bien que ce processus réduise la fidélité visuelle, il contribue à améliorer les performances. Le tableau suivant présente une comparaison côte à côte d’un modèle de haute qualité utilisé pour les scènes de faible complexité sur HoloLens et d’un modèle de faible qualité utilisé pour les scènes de complexité élevée.
Objet 3D à haut polygone | Objet 3D à faible polygone |
---|---|
500 000 triangles | 8 000 triangles |
Décimer un modèle
Dans le volet Géométrie , appuyez sur la touche Tab pour ouvrir le menu TAB, puis sélectionnez Polygon>PolyReduce pour placer un nœud PolyReduce dans le Géométrie volet.
Faites glisser pour connecter le point de sortie en bas du nœud remesh au point d’entrée en haut à gauche du polyreduce1 nœud. Sélectionnez au milieu du nœud polyreduce1 , puis sélectionnez sur le côté droit du nœud pour l’activer dans la partie principale de la fenêtre.
Sous Montant de la réduction, dans le champ Cible , sélectionnez Nombre de polygones de sortie, puis utilisez le curseur Nombre à conserver pour ajuster le nombre de polygones afin de répondre à vos exigences de performances tout en conservant une fidélité visuelle acceptable.
Le nuage de points a maintenant été converti en un maillage 3D optimisé. À l’étape suivante, vous allez créer une texture haute résolution sur l’objet 3D pour récupérer une partie de la fidélité visuelle qui existait avant la décimation.
Créez une texture haute résolution sur un maillage à faible polygone
L’un des inconvénients de la réduction du nombre de polygones dans un maillage est qu’une grande partie des détails peut être perdue. Pour restaurer certains de ces détails, vous pouvez les capturer et les appliquer sous forme de texture superposée au modèle à faible polygone. Au cours de ce processus, connu sous le nom de cuisson de texture, vous prenez une photo de toutes les surfaces de votre modèle à polygones élevés et vous les assemblez pour former une "courtepointe" que vous drapez. au-dessus du modèle à faible polygone. De cette façon, vous bénéficiez des performances d’un modèle à faible polygone tout en conservant certains des détails les plus fins d’un modèle à haut polygone.
Les coordonnées de texture (également appelées UV) sont des paires de nombres (U et V) qui sont stockés dans la géométrie d’un modèle. Ces nombres représentent la manière dont une image 2D peut être mappée sur une surface 3D et permettent de définir les propriétés de la surface en tant qu’image. Les images peuvent être de simples décalcomanies ou des composants matériels complexes, tels que la rugosité et le métal. Vous pouvez générer manuellement des positions UV pour un maillage, ou le processus peut être effectué de manière semi-automatique ou automatique. L’opérateur de surface AutoUV est un outil de Houdini capable de générer des UV. Il utilise quelques méthodes automatiques lors de la création des UV.
Cuire la texture
Cliquez avec le bouton droit dans le volet Géométrie pour ouvrir le menu TAB, puis sélectionnez Labs>UV>Labs Auto UV pour ajouter un nœud AutoUV à la scène.
Sous Méthode, remplacez la valeur du champ Méthode par UV Unwrap.
Faites glisser pour connecter le point de sortie en bas du nœud polyreduce1 au point d’entrée en haut de autouv1 nœud.
Pour afficher les objets "avant" et "après" côte à côte, sélectionnez le bouton Disposition de la fenêtre , puis sélectionnez Deux vues côte à côte..
Dans la partie principale de la fenêtre, dans le menu déroulant, sélectionnez Définir la vue > Porte d’affichage UV.
Les UV non enveloppés apparaissent à gauche et l’objet 3D apparaît à droite.
Dans le volet Géométrie , sélectionnez Labs>Sortie>Labs Maps Baker pour ajouter un maps_baker1 nœud.
Faites glisser pour connecter le point de sortie en bas du nœud autouv1 au point d’entrée en haut à gauche du maps_baker1 nœud. (Le point supérieur gauche est le nœud d’entrée BASSE résolution .)
Faites glisser pour connecter le point de sortie en bas du nœud particlefluidsurface1 au point d’entrée en haut à droite de maps_baker 1 nœud. (Le point supérieur droit correspond au nœud d’entrée HAUTE résolution .)
Sélectionnez le nœud maps_baker1 , puis, sous Bake, modifiez la valeur du Champ Canal d’aperçu à diffuser. Sous Options de cuisson, définissez le champ Diffuse Map sur diffuse.
Astuce
Pour enregistrer votre projet dans un dossier spécifique, sélectionnez le bouton Sélecteur de fichiers à côté du champ Répertoire de sortie qui se trouve montré dans l’illustration précédente. Lorsque vous créez une texture, le fichier de texture .png est enregistré dans un dossier render créé dans le dossier racine du projet enregistré. En enregistrant votre projet dans son propre dossier, vous facilitez la recherche de la texture cuite.
Sélectionnez le nœud maps_baker1 , puis, dans le volet des options, sélectionnez Cuisson.
Cliquez avec le bouton droit dans le volet Géométrie pour ouvrir le menu TAB, puis sélectionnez Gestionnaires>Réseau matériel pour ajouter un nœud matnet1 à la scène.
Double-cliquez sur le nœud matnet1 pour ouvrir le volet VEX Builder .
Cliquez avec le bouton droit dans le volet VEX Builder , puis sélectionnez Shaders > Principled Shader pour ajouter un matériau Principled Shader .
Dans le volet d’options, dans l’onglet Surface , utilisez les curseurs pour modifier la valeur du champ Roughness en 0,6 et la valeur du champ Métallique à 0,1. (Vous pouvez définir ces champs comme vous le souhaitez, mais nous avons constaté que ces valeurs constituent un bon point de départ lorsqu’elles sont utilisées avec les valeurs par défaut.)
Dans l’onglet Textures , sous Couleur de base, sélectionnez Utiliser la texture case à cocher. Sélectionnez ensuite le bouton Sélecteur de fichiers et sélectionnez le *_color.png fichier de texture que vous avez enregistré dans le render dossier plus tôt. Le shader de principe est maintenant prêt à être utilisé.
Note
N’hésitez pas à modifier davantage le matériel. Pour les besoins de ce tutoriel, cette configuration est suffisante.
Dans le volet VEX Builder , sélectionnez le bouton Retour (flèche gauche) pour revenir au Volet Géométrie .
Sélectionnez Matériau > Matériau pour placer un nœud de matériau dans le volet Géométrie .
Faites glisser pour connecter le point de sortie en bas du nœud autouv1 au point d’entrée en haut du material1 nœud.
Sélectionnez le nœud material1 , puis sélectionnez le bouton de sélection d’opérateur . Ensuite, dans la boîte de dialogue Choisir l’opérateur , sélectionnez file1>matnet1>principledshader1 pour sélectionner le shader de principe que vous avez créé précédemment.
Sélectionnez sur le côté droit du nœud pour l’activer dans la partie principale de la fenêtre.
La texture est rendue au-dessus de votre objet 3D à faible polygone. Si cela semble acceptable, passez à l’étape suivante.
Exporter le modèle vers un fichier .glb
Au cours de cette étape, vous allez exporter le modèle vers un fichier .glb afin qu’il puisse être utilisé avec Dynamics 365 Guides et Power Apps.
Cliquez avec le bouton droit dans le volet Géométrie pour ouvrir le menu TAB, puis sélectionnez Exporter>Sortie ROP GLTF.
Faites glisser pour connecter le point de sortie en bas du nœud material1 au point d’entrée en haut du rop_gltf1 nœud.
Dans le volet supérieur, remplacez la valeur du champ Type d’exportation par glb.
Sélectionnez le bouton Sélecteur de fichiers à côté du champ Fichier de sortie , puis saisissez un nom et une destination pour le fichier . fichier glb. Assurez-vous d’ajouter .glb à la fin du nom du fichier. Lorsque vous avez terminé, sélectionnez Accepter.
Sélectionnez Render to Disk pour finaliser l’exportation et créer le fichier .glb.
Créez un modèle pour réutiliser vos paramètres pour d’autres nuages de points
Pour gagner du temps et des efforts, vous pouvez créer un modèle. De cette manière, les paramètres que vous créez pour un nuage de points peuvent être utilisés pour d’autres nuages de points. Même si vous devez toujours sélectionner manuellement Cuisson et que vous devrez probablement ajuster quelques valeurs, vous pouvez automatiser la majeure partie du traitement.
Créer un modèle
Remplacez la géométrie actuellement utilisée par une géométrie par défaut. Cette étape allège le fichier modèle, de sorte qu’il soit chargé rapidement.
Dans le volet Géométrie , sélectionnez au milieu du nœud de fichier pour basculer vers le menu Fichier dans la partie supérieure. vitre.
Remplacez la valeur du champ Fichier de géométrie par default.bgeo, puis sélectionnez Recharger la géométrie.
Notez que la géométrie est redessinée pour qu’il s’agisse désormais d’un cube générique.
Remplacez le nom du fichier par quelque chose de générique, tel que Template.
Sélectionnez Fichier > Enregistrer et saisissez un nom dont vous vous souviendrez, tel que Prep_Template.
Fermez Houdini.
Utiliser le modèle
Ouvrez Houdini, sélectionnez Fichier>Ouvrir, puis sélectionnez le modèle que vous venez de créer.
Dans le volet Géométrie , sélectionnez au milieu du nœud de fichier pour basculer vers le menu Fichier dans la partie supérieure. vitre. Sélectionnez ensuite le bouton Sélecteur de fichiers à côté du champ Fichier de géométrie pour sélectionner le fichier de nuage de points .ply.
Sélectionnez Recharger la géométrie pour charger le nuage de points dans la scène.
Accédez au nœud maps_baker1 , puis sélectionnez Bake pour créer une nouvelle texture pour votre objet 3D.
Sélectionnez sur le côté droit du nœud material1 pour afficher votre modèle ancré.
Suivez l’une de ces étapes :
Si vous êtes satisfait de l’objet 3D, accédez au nœud rop_gltfB , puis sélectionnez Rendu sur disque pour exporter votre objet 3D.
Si vous n’êtes pas satisfait de l’apparence de l’objet 3D, ajustez les paramètres de la particlefluidsurface1, remesh, et polyreduce1 nœuds. Lorsque votre modèle semble acceptable, préparez à nouveau votre texture et exportez l’objet 3D.
Visualiser un objet 3D dans Dynamics 365 Guides ou Power Apps
Après avoir préparé un objet 3D, utilisez les liens suivants pour en savoir plus sur l’utilisation du modèle dans Dynamics 365 Guides ou Power Apps :
Pour plus d’informations
Les captures d’écran de ce didacticiel ont été prises à partir du logiciel Houdini pour fournir des instructions claires sur la façon d’utiliser le logiciel Houdini. En savoir plus sur SideFX Houdini.
Microsoft Corporation n’est pas responsable et décline expressément toute responsabilité pour les dommages de toute nature résultant de l’utilisation de Houdini ou de la confiance accordée à ces instructions. Ce document est créé uniquement pour fournir des informations générales à nos clients et ne prend en considération aucun plan d’affaires ou spécification individualisé.
L’utilisation dans ce document de noms de marques et d’images est strictement à des fins informatives et descriptives, et aucune réclamation commerciale concernant leur utilisation, ni suggestion de parrainage ou d’approbation, n’est faite par Microsoft Corporation.