Insertion d'objets réels dans Unity avec Meshroom

image


Cet article vous montrera comment utiliser la photogrammétrie pour prendre des photos et insérer des objets du monde réel dans des projets Unity à l'aide de Meshroom.



Dans le contexte des modèles 3D, la photogrammétrie est le processus de création de modèles 3D à partir d'objets numérisés.



Besoin de modèles 3D réalistes pour votre idée de jeu mais vous avez un budget limité? Vous cherchez à créer un environnement de jeu ultra-réaliste? Si oui, continuez à lire!



En utilisant la photogrammétrie, nous prenons des données d'entrée, c'est-à-dire des photographies, et les transmettons à travers un pipeline ou un ensemble de méthodes qui les traitent. Les données de ces processus ou les informations de sortie sont utilisées pour créer le modèle 3D fini.





Dans ce tutoriel, nous utiliserons quelques photos de la statue du dragon pour créer un modèle 3D détaillé, le nettoyer dans Blender et importer le résultat dans une scène sombre et sombre d'un village viking.



Vous apprendrez également à:



  • Choisissez un bon sujet pour photographier.
  • Prenez des photos appropriées.
  • Décidez quand et où prendre des photos.
  • Supprimez les mauvaises photos.
  • Utilisez Meshroom pour créer des scans 3D.
  • Importez des modèles dans Blender pour les nettoyer et les retoucher.
  • Réduisez le nombre de polygones.
  • Préparez et importez des modèles 3D dans Unity.






Commencer



Remarque : un ordinateur assez puissant est nécessaire pour effectuer une numérisation de photos dans Meshroom dans un délai raisonnable.


Téléchargez les documents du projet . Ensuite, décompressez le fichier zip à un emplacement qui vous convient.



L'archive contient les fichiers de projet Starter et Final , sur lesquels nous reviendrons plus tard.



Remarque : vous devrez télécharger un autre fichier, mais plus d'informations ci-dessous.


Pour créer une bonne numérisation de photos, vous devez photographier le modèle sous plusieurs angles. Dans ce tutoriel, nous aurons déjà toutes les photos nécessaires.



Avant de prendre ces photos, il est important d'apprendre quelques informations utiles sur la façon de prendre des photos vous-même.



Trouver de bons sujets à photographier



Bien sûr, vous souhaitez photographier des objets qui correspondent à l'environnement ou à l'idée du jeu. De plus, certaines conditions simplifient la numérisation de photos d'objets:



  • Bases plates.
  • Contraste suffisant dans les couleurs ou les nuances.
  • Pas trop sombre, sinon il sera difficile de voir les détails.
  • Pas trop grand, sinon il sera difficile de contourner les objets et de les tirer sous des angles différents.


Il vaut également la peine d'envisager de créer des numérisations de photos d'objets difficiles à modéliser. Par exemple, les objets naturels sont difficiles à modéliser car il est difficile de créer des matériaux organiques.



Les pierres de The Tales Factory dans l'Unity Asset Store en sont un bon exemple .





Quand prendre des photos



En ce qui concerne les photographies, certaines conditions et certaines heures de la journée permettent de créer des numérisations photographiques de haute qualité.



Si vous avez un studio intérieur et un éclairage, vous pouvez simuler vous-même ces conditions. Sinon, vous devez travailler à l'extérieur.



Lorsque vous travaillez à l'extérieur, n'oubliez pas ce qui suit:



  • Prenez des photos à la lumière du jour.
  • Les cieux nuageux sont les meilleurs. Les nuages ​​dispersent l'éclairage, ce qui se traduit par une répartition plus uniforme de la lumière dans tout le modèle.
  • La sécheresse est bonne, l'humidité est mauvaise! Dans des conditions humides, vous obtiendrez probablement plus de reflets dans votre produit fini. Dans certains cas, le modèle 3D aura même des reflets brillants qui détruisent le réalisme.


Choisissez un modèle d'apparence neutre qui convient à un large éventail de conditions potentielles. Cela vous permettra d'appliquer des effets en fonction des conditions environnementales du jeu.



Est-ce qu'il pleut dans le jeu? Esquissons un shader qui ajoutera un effet humide brillant. Le jeu se déroule dans un monde post-apocalyptique, où tout est vieux et minable? Ajoutons l'effet du vieillissement ou de la corrosion.



Prendre des photos



Téléchargez la collection de photos que vous utiliserez dans ce didacticiel. En raison de sa grande taille, il n'est pas inclus dans les téléchargements liés ci-dessus. Pour télécharger la collection, cliquez sur ce lien:



Téléchargez des photos de la sculpture du dragon (fichier zip, 695 Mo)



Ensuite, extrayez le fichier zip vers un emplacement qui vous convient et ouvrez le dossier. Vous verrez environ 100 photographies de la sculpture du dragon prises sous différents angles et hauteurs.





C'est exactement ce à quoi vous devez vous efforcer lorsque vous prenez des photos. La couverture à 360 degrés des photos sous différents angles et hauteurs garantit que tous les détails dont vous avez besoin sont capturés.



Lors de la prise de vue, déplacez-vous autour du sujet pour obtenir une vue sous différents angles. Essayez de faire un pas le plus petit possible et prenez des photos à la fois de près et un peu plus loin. Visez des détails en gros plan et des photographies montrant l'ensemble du modèle.



Ne déplacez pas et ne faites pas pivoter le modèle pendant la prise de vue car cela peut perturber certains logiciels. Déplacez-vous autour de l'objet sans le déplacer.



Les paramètres de la caméra



Pour obtenir un ensemble de photos d'apparence uniforme, passez votre appareil photo en mode manuel ou professionnel . La plupart des caméras de téléphones intelligents vous permettent de passer à ce mode et appareils photo reflex numériques ont toujours manuel ou M en mode .



  • Réglez d'abord l' ISO sur Fixe . Ce paramètre modifie la sensibilité du capteur de l'appareil photo numérique à la lumière. Plus les valeurs sont élevées, plus il est facile de prendre des photos dans l'obscurité, mais plus elles sont bruyantes. Dans de bonnes conditions d'éclairage extérieur, il peut généralement être réglé sur 100 ou 200. Sélectionnez toujours une valeur fixe pour les images numérisées.
  • Si vous débutez dans la photographie, utilisez le mode d'obturation fixe ou d'ouverture fixe. Ceux-ci sont parfois appelés modes de priorité . Cela aide à fixer l' un des paramètres, permettant à la caméra de contrôler d'autres paramètres pour maintenir une exposition uniforme. Ceci est également fait pour obtenir des photos bien éclairées.
  • Lorsque vous prenez des photos, elles doivent toujours être au point. Évitez les images floues.
  • Prenez toujours des photos dans la même orientation, paysage ou portrait.




Pour un éclairage de midi et couvert dans cette situation, un ISO fixe de 200 est apparu .



Création de numérisations de photos avec Meshroom



Meshroom est une application de photogrammétrie open source qui peut être utilisée pour créer des modèles 3D à partir de photographies. Nous l'utiliserons pour créer un scan photo de la sculpture du dragon.



Téléchargez la dernière version d'ici et installez-la. Windows ou Linux est requis pour exécuter le logiciel.



Après avoir démarré Meshroom, vous verrez l'interface principale. Dans ce mode, vous pouvez faire tout ce dont vous avez besoin pour créer des numérisations de photos.



Voici une brève description de chaque partie de l'interface principale:





  1. Les photos qui doivent être recréées en 3D sont déplacées ici.
  2. La visionneuse d'images est simplement une fenêtre d'aperçu pour des photos individuelles.
  3. 3D Viewer . , , , .
  4. Graph Editor , 3D. (, Node). . , .
  5. Node Graph Editor. , .


Importez des photos dans Meshroom



Accédez aux photos de sculpture de dragon téléchargées. Faites- les ensuite glisser dans la fenêtre Images du maillage.



Les photos sont affichées dans l'ordre des noms de fichiers dans la fenêtre Images .





Cliquez ensuite sur Fichier ► Enregistrer sous… , sélectionnez un nouvel emplacement de dossier sur le disque et enregistrez le projet sous Dragon.mg .





Ensuite, fermez toutes les applications inutiles pour préparer le processus de recréation de Meshroom. L'analyse ne démarre pas si les ressources de l'ordinateur sont insuffisantes.



Début du processus de loisirs Meshroom



À ce stade, vous êtes prêt à commencer à recréer. Cliquez sur le bouton Démarrer pour démarrer le processus.





Pendant que le processus est en cours d'exécution, vous pouvez suivre sa progression dans la fenêtre de l' éditeur de graphes . Remarquez les petites barres de progression colorées sur chaque nœud. Le processeur de votre ordinateur atteindra probablement son terme dans 15 à 30 minutes, selon sa vitesse.





Une fois terminé, le scan résultant sera affiché dans la fenêtre de la visionneuse 3D .





Maintenez maintenant le bouton gauche de la souris enfoncé et faites glisser le curseur pour faire pivoter le modèle ou le bouton central de la souris et faites glisser le curseur pour faire un panoramique de la caméra dans la vue 3D. Profitez du modèle 3D que votre processeur a aidé à créer!





Ensuite, ouvrez le dossier dans lequel vous avez enregistré le fichier de projet Meshroom. Vous y trouverez le dossier MeshroomCache . C'est là que les fichiers de l'objet numérisé ont été sortis.





Importer dans Blender



Ensuite, nous utiliserons la populaire application graphique 3D pour importer un scan d'un modèle de dragon 3D et le nettoyer pour le préparer à l'importation dans Unity.



Si vous n'avez pas Blender 2.80 ou supérieur, téléchargez-le et installez-le. Vous pouvez le télécharger ici .



Une fois l'installation terminée, lancez Blender.



Si vous êtes nouveau dans Blender, ne craignez rien et détendez-vous! Bien que son interface et ses commandes puissent être déroutantes, vous trouverez ici de nombreux raccourcis clavier et captures d'écran qui nous sont utiles.



Une fois que l'écran de lancement de Blender s'ouvre, cliquez sur Général sous Nouveau fichier . Par défaut, le nouveau fichier contient un objet cube. Cliquez sur un cube pour le sélectionner, puis appuyez sur Supprimers'en débarasser. Nous avons maintenant un espace libre pour travailler avec:





Cliquez ensuite sur Fichier ► Importer ► Wavefront (.obj) . Accédez au dossier MeshroomCache dans lequel Meshroom a enregistré les fichiers de modèle d'objet numérisé. Dans ce dossier, recherchez le modèle dans le sous-dossier MeshroomCache / Texturing / GUID . GUID est le nom d'un dossier avec un identificateur aléatoire attribué une fois l'analyse terminée.



Ensuite, double-cliquez sur texturedMesh.obj pour importer le scan dans Blender.





L'importation peut prendre beaucoup de temps car le modèle de photo numérisée est assez volumineux.





Commençons par avoir une idée de ce à quoi ressemble un dragon photo-scanné par défaut. Cliquez sur le bouton Ombrage de la fenêtre dans la fenêtre principale de Blender pour activer l'ombrage et la texture complets pour cette fenêtre.





Appuyez ensuite sur Maj + bouton central de la souris et maintenez-les enfoncés pour faire glisser la fenêtre de sorte que le modèle de dragon principal soit au milieu de l'écran. Maintenez le bouton central de la souris et faites glisser pour faire pivoter la fenêtre. Vous pouvez effectuer un zoom avant et arrière avec la molette de la souris.



Découvrez la qualité de l'analyse par défaut. Bon travail!





Corrections de Blender



Le modèle est complexe et contient beaucoup de sommets et de détails. Nous allons maintenant réduire le nombre de polygones avec le modificateur Decimate rapide et efficace de Blender .



Si vous créez un jeu commercialisé qui nécessite plus d'optimisation, la réduction qualitative du nombre de polygones peut prendre plus de temps. Mais jusqu'à présent, nous sommes assez satisfaits de Decimate.



Dans le panneau Collection de scènes de l' éditeur Blender, cliquez sur texturedMesh ► Modifiers ► Add Modifier .





Sélectionnez Décimer dans la liste .





Un petit champ de personnalisation apparaît avec les options Décimer.



Sélectionnez Réduire avec un rapport de 0,1 et un facteur de 2,0 . Cliquez ensuite sur Apply .



Cela réduira les détails de l'ensemble du modèle et réduira le nombre de sommets d'environ 10 fois! Vous ne remarquerez pas beaucoup de perte de détails, mais le profileur Unity et la vitesse du jeu vous en remercieront!



Se débarrasser de l'herbe



Nous devons maintenant nous attaquer aux plus évidents.



Si vous prévoyez de créer une scène dans laquelle le dragon est au milieu d'une aire de jeux ou d'une pelouse immaculée avec de l'herbe, alors vous avez terminé. Mais nous allons mettre ce dragon dans les environs du village viking, donc cette herbe ne nous convient pas.



Concentrons-nous maintenant sur l'élimination de l'herbe du maillage.



Dans Blender, passer du mode objet au mode d' édition . Pour ce faire, vous pouvez utiliser l'interface utilisateur ou appuyer sur la touche Tab de votre clavier.





Remarquez les changements dans la fenêtre: maintenant les sommets du dragon y sont affichés, et ils sont tous mis en évidence.





Sélection des sommets



Ensuite, nous sélectionnerons uniquement les sommets liés à l'herbe autour de la base du dragon, puis les supprimerons.



Veuillez noter que la prochaine étape demandera beaucoup de patience. Tout d'



abord, sélectionnez l'outil le Sélectionnez le Lasso , en appuyant sur la touche Maj + Espace, de L . ( Shift et Space simultanément suivis de L ).



Ou utilisez le panneau de l'interface utilisateur pour sélectionner l'outil Sélectionner un lasso .





Ensuite, utilisez une combinaison d' appuyer sur le bouton central de la souris et de faire glisser pour la rotation et le bouton central de la souris + Shift et faire glisser pour un mouvement panoramique pour inspecter le modèle de tous les côtés.



De chaque angle, le lasso sélectionne soigneusement le dessus de l'herbe autour de la base du dragon. Appuyez sur Maj entre chaque sélection pour ajouter de nouvelles régions sélectionnables aux sommets déjà sélectionnés.



Voici un GIF illustrant ce processus:





De temps en temps, vous devrez faire pivoter la fenêtre pour sélectionner les sommets qui se trouvent derrière les bords du maillage d'herbe.



Si vous avez sélectionné des sommets que vous ne souhaitez pas supprimer, cliquez dessus séparément avec Shift + bouton gauche de la souris pour les supprimer des sommets sélectionnés.



Avec toute l'herbe et les sommets environnants sélectionnés, appuyez sur Suppr ► Sommets pour les supprimer.







Regardez attentivement le maillage restant lorsque vous effectuez un zoom avant, un zoom arrière et une rotation de la fenêtre. Répétez le processus de sélection et de suppression pour tous les sommets que vous avez manqués.



À la fin, vous verrez une image effrayante similaire:





Fermez la base du maillage



Passez maintenant au mode d'édition si vous n'y êtes pas déjà. Le changement de mode s'effectue en appuyant sur la touche Tab . Sélectionnez ensuite toute la bordure inférieure des sommets du maillage dragon à l'aide de l'outil Sélection et en maintenant la touche Maj enfoncée . Cela prendra de la patience.





Ou vous pouvez utiliser l'outil Select Lasoo pour cela .





Une fois les sommets sélectionnés, cliquez sur Vertex Smooth Vertices .





Cela adoucira un peu l'anneau de vertex sélectionné.



Sélectionnez maintenant l'outil Curseur 3D en appuyant sur Maj + Espace, Espace et positionnez-le au niveau du sommet le plus bas de la bordure inférieure sélectionnée en appuyant sur le bouton gauche de la souris . Pour déterminer le sommet le plus bas, vous pouvez effectuer un panoramique et faire pivoter la fenêtre pour voir le dragon de côté.



Appuyez ensuite sur la touche . ("Point") pour sélectionner le point de pivot , puis sélectionnez le curseur 3D pour utiliser la position du curseur 3D comme point de référence.



Puis appuyez sur S, Z, 0, Entrée(c'est zéro, pas O). Cette série de commandes mettra à l'échelle tous les sommets sélectionnés à la même hauteur que le point d'ancrage que nous avons créé avec le curseur 3D.



Nous avons maintenant un maillage comme celui-ci:





Enfin, cliquez sur Sommet ► Nouveau bord / face à partir des sommets .



Cela créera une nouvelle base pour le dragon en couvrant tous les sommets sélectionnés et en créant une nouvelle face.







Déplacer le dragon



Revenez ensuite en mode objet en appuyant sur Tab et sélectionnez l'objet texturedMesh . Déplacer vers la scène dragon coordonnées du point de départ avec un outil Déplacer , en appuyant sur le Maj + Espace, G . Appliquez l'outil Rotation en appuyant sur Maj + Barre d'espace, R et faites-le pivoter jusqu'à la position souhaitée.



Sélectionnez maintenant l'outil Curseur 3D et cliquez sur le milieu du dos du dragon. Appuyez sur F3 , entrez Définir l'origine et appuyez sur Entrée . Ensuite, sélectionnez Origine vers curseur 3D dans la liste des commandes qui s'affiche .



Un point jaune apparaît au milieu du curseur 3D, indiquant la nouvelle origine du modèle.





Nous sommes prêts à exporter le modèle!



Ensuite, cliquez sur Fichier ► Exporter ► Wavefront (.obj) .



Sélectionnez Mode Chemin ► Copier et assurez-vous que Sélection uniquement est sélectionné dans Paramètres d'exportation . Enregistrez le fichier sous Dragon.obj dans un emplacement qui vous convient.





La valeur Copier pour le mode Chemin d' exportation garantit que les textures sont copiées et référencées à partir du même dossier que le modèle .obj. Cela évite les problèmes de textures perdues lors de l'importation dans Unity.



Tout déplacer vers Unity



Maintenant, ouvrons le projet Starter dans Unity, puis ouvrons la scène Assets / RW / Scenes / PhotoscanDragon . Trouvez un piédestal vide entre les pierres du village. C'est ici que nous installerons le modèle de dragon photographié.





Faites maintenant glisser le modèle exporté et ses fichiers exportés associés dans le dossier du projet Assets / RW / Models / Dragon .





Ensuite, nous utiliserons la fenêtre Hiérarchie Unity pour trouver le FocalPoint GameObject . Faites glisser le modèle Assets / RW / Models / Dragon / Dragon.obj dans la scène et faites-en un enfant du GameObject FocalPoint .





Modifions maintenant la position et la rotation du composant Transform de l'objet Dragon comme suit:



  • Position: (X: -33,32, Y: 0,53, Z: 5,08)

  • Rotation: (X: -2,229, Y: 90, Z: -0,6)




Remarque : Votre position et votre rotation peuvent être légèrement différentes, selon l'endroit où vous avez cliqué lors de la définition du point d'ancrage dans Blender.


Maintenant, appuyez sur Play et admirez notre propre dragon numérisé en photo pris dans le monde réel et recréé en 3D.





Où aller ensuite?



Le projet fini peut être téléchargé à partir du lien au début de l'article.



Pour y arriver, nous avons parcouru de nombreuses étapes tout en apprenant la photogrammétrie, l'édition de maillages 3D dans Blender, la manipulation des sommets et le transfert de l'ensemble du modèle vers Unity!



Je tiens à remercier The Tales Factory de l'Unity Asset Store pour m'avoir permis d'utiliser l'actif PBR de MountainsRocks photographiés dans la scène Dragon Viking Village.



Je recommande de vérifier leurs excellents actifs numérisés de photos .



Les prochaines étapes dépendent de vous. Que souhaitez-vous recréer et intégrer dans vos projets Unity? Vous trouverez ci-dessous des ressources et des lectures supplémentaires qui peuvent vous aider à poursuivre votre travail:






All Articles