Je suis très enthousiasmé par la sensibilité de l'informatique: une idée dans laquelle des objets intelligents perçoivent l'environnement, sont connectés, puis deviennent une extension de l'utilisateur. En tant qu'évangéliste d'Intel Software (et codeur amateur avoué), je suis assez chanceux pour pouvoir expérimenter ces possibilités en utilisant la technologie de pointe d'Intel. Auparavant, j'avais écrit sur le balayage 3D en temps réel du monde qui vous entourait et sur l'insertion d'un objet virtuel dans celui-ci. Cependant, dans ce didacticiel, je voudrais expliquer comment procéder, en scannant vous-même vous-même puis en ajoutant cette numérisation au monde virtuel..
Plus spécifiquement, nous allons:
Nous nous retrouverons avec un maillage couleur 3D de votre tête, prêt à être utilisé dans Unity. (Dans le prochain didacticiel, nous verrons comment intégrer cela dans Unity et comment l'utiliser dans un jeu.)
Tu auras besoin de:
Après avoir installé le Kit de développement logiciel (SDK), accédez à la barre de charme (sous Windows 8) ou au menu Démarrer (sous Windows 7 ou 10) et recherchez Exemple de navigateur SDK RealSense
. Trouvez-le dans la liste, cliquez dessus avec le bouton droit de la souris et sélectionnez Exécuter en tant qu'administrateur.
Dans le navigateur exemple, vous trouverez une section intitulée Échantillons communs. Ce sont des exemples qui fonctionneront à la fois sur les caméras RealSense orientées vers l’avant et vers l’arrière. Trouvez l'échantillon appelé Scan 3D (C ++).
Les documents
dossier en tant que 3Dscan.obj
.Le format OBJ est le format par défaut obtenu lors de la numérisation. Pour l'utiliser dans Blender (et plus tard Unity), nous le convertirons au format PLY à l'aide d'un outil gratuit appelé MeshLab. Alors, téléchargez, installez et lancez MeshLab, si vous n’avez pas encore.
Du Fichier menu, sélectionnez Importation. Trouvez le 3Dscan.obj
fichier que vous avez créé dans la section précédente.
Une fois que vous avez importé votre objet, il peut être de son côté. Vous pouvez cliquer avec le bouton gauche de la souris sur le bas de l'objet et le déplacer vers le haut pour le faire pivoter et l'examiner..
Vous devriez voir le maillage texturé avec de la couleur. Les informations de couleur sont stockées sous la forme couleurs de sommet, ce qui signifie que chaque sommet est coloré avec les pixels obtenus de la caméra RVB lorsqu’elle vous a balayé la tête.
Cliquez sur Fichier> Exporter le maillage sous. Dans la boîte de dialogue qui apparaît, sélectionnez Format de fichier de Stanford Polygon (* .ply) du Des fichiers de type menu déroulant:
Sauvegardez la couche résultante quelque part, vous pourrez la retrouver plus tard.
L'idée ici est d'importer le fichier 3D dans Blender, de le copier, de le nettoyer et de mapper les couleurs de vertex en tant que carte UV pour la nouvelle version dupliquée..
Téléchargez, installez et lancez Blender, si ce n'est déjà fait.
Créez un nouveau projet dans Blender, sélectionnez Importer> Stanford (.ply), puis sélectionnez le fichier PLY que vous venez d'exporter à partir de MeshLab:
Après l'avoir importé, vous verrez que les textures ne sont pas visibles:
Cependant, si vous passez à Texture vous verrez que les couleurs RVB de la numérisation sont maintenant mappées au mode Texture:
Utilisez ce menu pour passer à Texture vue.Pour voir les couleurs correctement, changez de mode d'affichage cette fois-ci pour Matériel. Sur le panneau de droite, sélectionnez le Matériaux icône, puis créer un nouveau matériau.
Dans l'éditeur de panneaux, définissez Ombres à Shadeless, et dans le Les options, allumer Peinture de couleur vertex. Cela permet de définir avec succès les couleurs de vertex sur le matériau de l'objet..
Maintenant, ce n'est pas encore un maillage fonctionnel pour nous. C'est plein de trous, c'est rugueux, et le nombre de poly est beaucoup plus élevé que nous le voudrions, si nous allons l'utiliser dans un jeu.
Nous devons créer une version de ce maillage que nous pouvons nettoyer, mais mappez cette texture de couleur vertex sous forme de carte UV. Cette version est la version que nous apporterons à Unity.
Sélectionner Objet> Objets dupliqués et frapper Entrer. Ne bouge pas ta souris.
Ensuite, sélectionnez Objet> Déplacer vers le calque, puis sélectionnez le carré à droite du calque actuel (le deuxième carré à partir de la gauche dans la rangée supérieure).
Aller au Navigateur d'actifs et renommez vos mailles. Nommez un Maille originale
et l'autre Deuxième maille
. Cela vous aidera à les distinguer.
Sélectionnez le deuxième maillage, sélectionnez le calque approprié et passez du mode d'affichage à Matériel à Solide.
Ensuite, dans le panneau de droite, cliquez sur l'icône qui ressemble à une clé pour ajouter un modificateur. Nous allons réduire le nombre de poly de ce maillage et le nettoyer.
Sélectionner Outils> Remesh. Dans cette boîte de dialogue, définissez le Oct Tree entre 7
et 8
. Ensemble Mode à Lisse, et allumer Ombrage lisse. Cela vous fera perdre la cartographie des matériaux:
Cliquez sur Appliquer. Vous avez maintenant un maillage plus propre auquel vous pouvez appliquer la carte vertex et UV.
Entrer dans modifier mode sur ce deuxième maillage. Cliquez sur Sélectionner> Tout sélectionner.
Créer une nouvelle fenêtre et la définir sur UV / Image Editor mode pour voir la carte UV.
dans le 3D fenêtre, sélectionnez Maillage> Déballage UV> Projet UV intelligent.
dans le Carte UV fenêtre, sélectionnez Nouveau créer une texture. Éteindre Alpha. Nommez la texture le nom que vous souhaitez donner à votre modèle final.
Basculer vers Objet mode. Vous verrez un modèle noir et une carte UV noire. C'est bon!
Maintenant, sélectionnez les deux couches par Décalage-en cliquant dessus pour les rendre tous les deux visibles.
Sélectionnez les deux calques… … Et votre volet de visualisation ressemblera à ceci.dans le Navigateur d'actifs, sélectionnez le maillage d'origine. Cliquez sur l'icône de la caméra.
dans le Cuire section, allumer Sélectionné à actif. Sois sûr que Bake to Vertex Couleur est éteint.
dans le Scène section, ensemble La gestion des couleurs à Aucun.
dans le Atout menu, sélectionnez le maillage original. Ensuite, maintenez Décalage et sélectionnez le deuxième maillage. (Vous devez le faire dans cet ordre.) Assurez-vous que les deux calques sont visibles avec les icônes œil et caméra..
Cliquez sur l'icône de la caméra. dans le Cuire section, cliquez Cuire.
Vous devriez maintenant avoir une texture mappée. Pour voir cela, désactivez le premier calque afin de ne voir que le calque avec le deuxième maillage. Sélectionnez le Texture voir et vous verrez votre maillage texturé avec votre carte UV.
Vous remarquerez un certain amusement lorsque l’image remplit les zones manquantes de votre maillage:
Vous pouvez passer à Texture Texture mode pour nettoyer ceux en place. Vous pouvez également maintenant passer à Sculpter mode pour remplir les zones manquantes, ainsi que pour nettoyer ou ajouter des fonctionnalités à votre maillage.
Une fois que vous avez nettoyé votre maille, vous pouvez vous préparer à l'exporter:
Votre modèle est complet!
Vous avez numérisé dans votre tête, réduit le nombre de polycotes, nettoyé le modèle et l’exporté en tant que modèle 3D prêt à être utilisé dans d’autres applications. Dans un prochain tutoriel, nous allons importer ce maillage 3D dans Unity et voir comment il pourrait être utilisé dans les jeux..
Le programme Intel® Software Innovator soutient les développeurs indépendants innovants qui ont la capacité de créer et de démontrer des projets tournés vers l'avenir. Les innovateurs tirent parti des opportunités de présentation et de démonstration lors de manifestations de l'industrie et de réunions de développeurs..
Zone de développement Intel® offre des outils et des informations pratiques pour le développement d'applications multiplates-formes, des informations de plate-forme et de technologie, des exemples de code et l'expertise de pairs pour aider les développeurs à innover et à réussir. Rejoignez nos communautés pour le Internet des objets, Android*, Technologie Intel® RealSense ™, Code moderne, Développement de jeu et Les fenêtres* pour télécharger des outils, accéder à des kits de développement, partager des idées avec des développeurs partageant les mêmes idées et participer à des hackathons, des concours, des tournées de présentation et des événements locaux.