Dans ce tutoriel vidéo, nous allons voir comment importer des modèles 3D téléchargés depuis Adobe Stock dans Unity, en configurant les textures PBR à la fois pour le shader intégré et pour le Universal Render Pipeline.



Transcription de la vidéo

Bonjour à tous ! Dans ce tutoriel vidéo, nous allons voir comment importer des modèles 3D téléchargés depuis Adobe Stock dans Unity, en configurant les textures PBR à la fois pour le shader intégré et pour le Universal Render Pipeline. Il existe en effet quelques petites différences entre ces deux moteurs de rendu que nous examinerons dans ce tutoriel, donc je vous conseille de le regarder jusqu’à la fin. Je ne montrerai pas comment faire pour le High Definition Render Pipeline, car cela ne change pas beaucoup par rapport au Universal Render Pipeline.

Pour un exemple pratique, j’utiliserai un modèle 3D appelé Business Jet.

Les textures des modèles sont au format PNG et contiennent des canaux séparés pour le workflow PBR Metallic. Nous aurons donc des textures pour les canaux Base Color, Normal, Metallic, Roughness, Glow et Opacity.

Cependant, les matériaux par défaut de Unity nécessitent que l’information de Smoothness soit intégrée dans la texture Metallic. De plus, la Smoothness est l’inverse de la Roughness, qui est celle fournie dans le package Adobe.

Il est possible de convertir et de regrouper les informations Metallic avec un logiciel externe, mais dans Unity, il existe un moyen de spécifier les textures du workflow Metallic comme images séparées, et nous allons le voir dans un instant.

Voyons maintenant comment importer et configurer ces modèles 3D dans Unity, en commençant par un projet utilisant le shader intégré.

Commencez par glisser le fichier OBJ et le fichier MTL dans l’onglet Project à partir du package que vous avez téléchargé depuis Adobe. Le fichier MTL est nécessaire pour spécifier quels matériaux créer et comment les associer au modèle 3D.

Pour voir les changements en temps réel, faisons glisser le modèle 3D depuis le Project dans la scène, puis appuyons sur la touche F pour le cadrer correctement.

Unity recherche les matériaux et les textures dans le modèle 3D importé, mais dans ce cas, les textures ne sont pas intégrées.

Sélectionnons donc le modèle 3D dans le Project, puis ouvrons l’onglet Materials dans la fenêtre Inspector.

Dans le menu Location, sélectionnez l’option Legacy, puis cliquez sur Apply.

Unity va créer un nouveau dossier, appelé Materials, dans la fenêtre Project. Dans ce dossier, nous trouverons les deux matériaux déjà associés au modèle 3D, mais sans textures.

Glissons alors les textures qui nous intéressent depuis le package Adobe vers ce dossier. Je n’importe pas les textures Glow car aucun matériau émettant de la lumière n’est prévu pour cet objet.

À ce stade, sélectionnons d’abord le matériau complètement opaque.

Dans la fenêtre Inspector, cliquez sur le menu Shader et sélectionnez l’option Autodesk Interactive.

Comme vous pouvez le voir, nous avons quelques options pour le Rendering Mode, que nous allons laisser sur Opaque dans ce cas, et surtout, nous pouvons spécifier les textures individuelles du workflow PBR Metallic !

Associons donc les textures importées depuis le package Adobe aux canaux respectifs du Shader.

Dans le cas du Normal Map, en particulier, cliquons sur le bouton Fix Now qui apparaîtra immédiatement après l’importation.

Nous devons également faire quelques remarques concernant l’apparence du Base Color, appelé ici Albedo, et de la Roughness.

Le Base Color résulte en réalité d’un mélange entre la texture et la couleur présente à côté. Cliquez donc sur cette couleur et réglez-la sur blanc pur afin d’obtenir uniquement la couleur de la texture.

Vous pouvez aussi vous amuser à mélanger la texture avec différentes couleurs pour voir l’effet produit.

En ce qui concerne la texture Roughness, si l’effet final n’est pas celui souhaité, sélectionnez la texture dans le Project, puis décochez la case sRGB Color Texture dans la fenêtre Inspector et cliquez sur Apply pour évaluer le résultat.

Ces opérations doivent également être répétées pour le matériau Glass, avec la différence évidente que, dans ce cas, nous devrons définir Autodesk Interactive avec le Rendering Mode réglé sur Transparent.

Ce mode utilisera l’opacité à partir du canal Alpha de la texture Base Color, si elle est disponible, mais vous pouvez aussi éviter d’importer cette texture et définir manuellement la valeur Alpha à 0 dans le champ coloré à côté d’Albedo.

Il faut maintenant appliquer les autres textures, en faisant attention à ce qui a été dit précédemment pour les textures Roughness et Normal Map, c’est-à-dire décocher la case sRGB et cliquer sur le bouton Fix Now.

Voyons maintenant comment importer le modèle et ses textures dans un projet qui a été créé avec le Universal Rendering Pipeline dès le départ.

L’importation du modèle 3D et la création des matériaux se font comme nous l’avons vu dans le cas du shader intégré, donc nous importerons à la fois le fichier OBJ et le fichier MTL dans la fenêtre Project.

Ensuite, dans l’onglet Materials de la fenêtre Inspector du modèle 3D, nous allons sélectionner l’option Legacy pour les matériaux et cliquer sur Apply, afin que Unity crée le dossier Materials avec les matériaux à spécifier pour le modèle.

Dans le dossier Materials, nous allons ensuite importer les images des textures à associer aux matériaux existants.

À ce stade, cependant, nous ne pourrons pas changer directement le type de Shader de chaque matériau en Autodesk Interactive, car cette option ne peut être utilisée qu’avec le shader intégré.

Pas d’inquiétude ! Autodesk Interactive est également disponible parmi les options du Universal Render Pipeline dans le menu Shader !

On remarque aussi qu’il existe trois modes différents : base, Masked et Transparent.

Pour le matériau opaque de l’avion, nous utiliserons le mode base, tandis que pour les vitres, nous utiliserons le matériau Transparent.

Commençons par associer les textures à leurs canaux respectifs dans le matériau Autodesk Interactive du Universal Render Pipeline.

On remarque immédiatement que le shader n’applique pas automatiquement les textures, donc c’est à nous de cocher les différentes cases Use Map pour chaque texture.

Dans le cas du Normal Map, Unity devrait nous proposer de corriger la texture en cliquant sur le bouton Fix Now.

Si ce bouton n’est pas disponible, nous pouvons tout de même corriger la texture en la sélectionnant dans le Project et en spécifiant son type correct, c’est-à-dire Normal Map, dans le menu Texture Type de la fenêtre Inspector.

Les mêmes considérations concernant la texture Roughness s’appliquent comme dans le cas du shader intégré, donc il peut être nécessaire de décocher l’option sRGB dans la fenêtre Inspector de cette texture, puis d’appliquer les modifications.

Pour ce qui est du matériau des vitres, nous devons effectuer des opérations similaires, avec toutefois quelques différences. Tout d’abord, le Shader doit être du type Autodesk Interactive Transparent.

Les textures Base Color, Normal Map, Metallic et Roughness doivent être définies comme nous l’avons déjà vu dans d’autres cas, mais il y a une différence importante concernant la texture de transparence, appelée Opacity.

Dans le cas de Autodesk Interactive Transparent, la case Use Opacity Map permet d’utiliser le canal de transparence présent dans la texture Base Color.

Cependant, nous avons une texture séparée pour le canal Opacity. Comment devons-nous procéder ? Il existe deux alternatives, selon que votre matériau est complètement transparent ou non.

Si le matériau est complètement transparent, comme dans notre cas, nous pouvons alors spécifier directement la valeur de transparence dans le champ Opacity, sans utiliser de texture, par exemple en réglant la valeur d’Opacity à 0.

Dans le cas d’un matériau qui est transparent uniquement dans certaines zones, nous pouvons opter pour le shader Autodesk Interactive Masked, dans lequel nous pouvons également utiliser notre texture Opacity.

Dans ces cas aussi, comme pour le shader intégré, il est possible d’utiliser la Glow map fournie dans le package Adobe pour le canal Emissive. Je n’ai pas utilisé cette texture car elle n’est pas nécessaire pour ce projet, mais il est bon de savoir que cette option existe.

J’espère que ce tutoriel vous a été utile ! À bientôt !

Ce site a pour seul objectif de présenter certains de mes travaux, sans aucune intention promotionnelle. Veuillez noter que je ne recherche actuellement - et ne répondrai pas - à aucune demande de travaux personnalisés, de conseil ou de toute autre forme de collaboration professionnelle.


POLITIQUE GENERALE DE CONFIDENTIALITE ET D'UTILISATION DES COOKIES