La photogrammétrie dans Unity : Transformer des objets du monde réel en actifs numériques

SEBASTIEN LAGARDE / UNITY TECHNOLOGIESContributor
Mar 12, 2018|4 Min
La photogrammétrie dans Unity : Transformer des objets du monde réel en actifs numériques
Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.

La photogrammétrie est le processus qui consiste à utiliser plusieurs photos d'objets réels pour créer des ressources prêtes à l'emploi. Il convient mieux aux objets qui prennent du temps à produire dans un logiciel de sculpture en 3D. Cet article explique comment les nouvelles fonctionnalités d'Unity vous aident à travailler avec la photogrammétrie. Nous partageons également notre projet de démonstration de photogrammétrie à Fontainebleau, y compris tous les maillages, textures et matériaux.

L'année dernière, lors du Siggraph 2017, nous avons révélé un guide de terrain très détaillé pour les artistes professionnels. Il vous guide pas à pas tout au long du processus de production de ressources numériques de haute qualité, réutilisables et prêtes à l'emploi, à partir de photos et de vidéos.

Dans le cadre de ce processus, l'équipe a publié l'outil De-Lighting sur l'Asset Store. Il permet aux artistes et aux développeurs de supprimer les informations relatives à l'éclairage des textures photogrammétriques, afin que les ressources finales puissent être utilisées quelles que soient les conditions d'éclairage. Nous avons également présenté à Siggraph une vue d'ensemble du flux de travail en photogrammétrie et partagé des détails techniques sur l'outil De-Lighting.

Rédaction de documents avec des données photogrammétriques pour le développement de jeux vidéo

Cette année, nous avons créé un guide étape par étape qui montre comment utiliser un shader en couches pour obtenir le même niveau de qualité que celui présenté dans le guide du flux de travail en photogrammétrie, tout en optimisant le budget mémoire de la texture pour répondre à vos besoins en matière de jeu.

Voici une vue d'ensemble des étapes de la création d'un matériau avec un actif de photogrammétrie dans Unity :

Consultez le guide complet :
Superposition de matériaux dans Unity avec le pipeline de rendu haute définition (HD)

La photogrammétrie permet d'obtenir un résultat qualitatif, mais nécessite une résolution de texture très élevée pour conserver les détails, comme illustré ici :

Image photogrammétrique

Cette méthode n'est pas pratique pour la création de jeux en raison du budget mémoire, et elle ne permet pas d'ajouter des variations à l'objet.

Unity 2018.1 beta a introduit un aperçu de Scriptable Render Pipeline. Nous allons lancer deux pipelines de rendu intégrés avec Unity 2018.1 : le Lightweight (LW) Render Pipeline (pipeline de rendu léger) et le High-Definition (HD) Render Pipeline (pipeline de rendu haute définition). HD Pipeline fournit un shader dédié au nom de l'auteur du matériel de photogrammétrie : LayeredLit.

Dans l'image ci-dessus, le matériau principal est mélangé à d'autres matériaux tels que la pierre, l'élément de sol et la mousse. Ces autres matériaux peuvent être recouverts d'un carrelage. Cela signifie qu'ils peuvent s'enrouler autour des objets et que vous pouvez les réutiliser sur d'autres objets. L'utilisation d'une combinaison de matériaux permet d'obtenir une qualité visuelle similaire à celle d'une texture haute résolution (c'est-à-dire une densité de pixels similaire à l'écran), mais avec des textures basse résolution, ce qui permet d'économiser de la mémoire :

Photogrammétrie dans Unity image

Un shader en couches vous permet de partager des textures entre les éléments et de combiner des matériaux en tuiles pour ajouter des variations. Il est donc facile de peupler un vaste monde à peu de frais :

Image photogrammétrique
Démonstration de Fontainebleau

Nous avons créé la démo Fontainebleau pour illustrer le flux de travail de la photogrammétrie et l'utilisation du shader LayeredLit. Cette démo technique a été conçue en tenant compte des conditions de développement des jeux : il s'agit d'un niveau de jeu représentatif qui cible la plateforme PlayStation 4 standard à 1080p @ 30fps. Le niveau représente une partie de la forêt de Fontainebleau et utilise un ensemble limité de maillages et de textures qui sont réutilisés avec différentes variations à l'aide du shader LayeredLit. Il y a un mode jouable à la première personne et un mode à la troisième personne pour se promener dans la forêt. Pour cibler des consoles comme la XboxOne ou la PlayStation 4, il faut réfléchir à la manière de tirer le meilleur parti de ces plateformes.

Exemple d'éclairage d'une image

La démo prend également en charge trois conditions d'éclairage différentes afin d'illustrer le fait qu'une ressource correctement créée et dépourvue d'éclairage fonctionne parfaitement dans n'importe quelle condition d'éclairage :

Éclairage de jour :

Exemple d'éclairage de jour

L'éclairage au coucher du soleil :

Exemple d'éclairage de l'après-midi

Éclairage nocturne avec les lumières éteintes :

Exemple d'éclairage nocturne

Éclairage nocturne avec des lampes allumées :

Exemple d'éclairage nocturne avec une lune dans le ciel

Enfin, nous avons inclus 3 modes d'exploration de la démo :

  • Mode cinéma : sélectionnez votre programme d'éclairage, puis installez-vous confortablement et profitez du spectacle,
  • Modes à la première personne et à la troisième personne : il s'agit de modes d'exploration très rudimentaires qui vous permettent de découvrir l'environnement par vous-même, avec des bonus en mode à la première personne.
Pourquoi Fontainebleau ?

Fontainebleau est le nom d'une forêt située à proximité du bureau d'Unity Paris. La forêt est un bon sujet pour parler de photogrammétrie. Les actifs naturels sont souvent complexes et difficiles à reproduire de manière réaliste. Pour nos artistes, il était important d'avoir le sujet près d'eux pour faire tous les tests nécessaires à l'analyse du meilleur flux de travail possible pour les jeux.

Photo d'un homme prenant une photo dans les bois
Télécharger le projet

Le projet est prévu pour fonctionner avec la version 2018.3 et utilise le paquet HDRP 4.8.0.

Vous pouvez télécharger le lecteur PC autonome pré-construit ici.

Le projet est disponible pour clonage uniquement ici sur GitHub. Cela signifie que le téléchargement d'un fichier zip à l'aide du bouton vert sur Github ne fonctionnera pas. Vous devez utiliser une version de git qui a LFS afin d'obtenir le projet. Jetez-y un coup d'œil et inspectez les ressources photogrammétriques : maillages, textures et matériaux. Vous êtes également autorisé à réutiliser les actifs dans votre projet Unity sans aucune restriction.

Image en mode cinéma

Au début, le processus de photogrammétrie peut sembler difficile à gérer, mais le résultat en vaut la peine.

Nous espérons que cette démo convaincra certains d'entre vous d'utiliser la photogrammétrie pour améliorer la qualité de vos actifs et vous aider à accélérer vos projets.

Nous sommes impatients de voir ce que vous faites et de discuter avec vous de cette démo et du flux de travail de la photogrammétrie dans Unity en général dans ce fil de discussion du forum.