Découvrez les nouvelles scènes de démonstration Terrain Unity pour HDRP et URP.

XIAOXI LIU / UNITY TECHNOLOGIESContributor
Feb 18, 2022|18 Min
Découvrez les nouvelles scènes de démonstration Terrain Unity pour HDRP et URP.
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.
Entendez les artistes techniques en coulisses et obtenez les meilleures pratiques pour créer des environnements de jeu organiques.

Créer des environnements de haute fidélité pour votre jeu peut être une tâche massive. C'est pourquoi nous avons introduit un certain nombre de mises à jour lors de la sortie de la Tech Stream 2021.2, y compris de nouveaux pinceaux de stamping de Terrain, des contrôles de peinture de matériaux affinés, des capacités d'instanciation GPU pour les Détails de Terrain, et l'intégration de SpeedTree, parmi d'autres améliorations de l'expérience de création de Terrain. Nous avons même mis à jour le Terrain Sample Asset Pack gratuit pour aider à démarrer votre développement. Derrière tout cela, une équipe d'artistes techniques a travaillé pour créer et optimiser une scène d'environnement crédible en utilisant le High Definition Render Pipeline (HDRP) de Unity pour PC et consoles haut de gamme, et en le migrant vers le Universal Render Pipeline (URP) de Unity pour une portée multiplateforme. Nous vous apportons maintenant une collection de conseils, d'astuces et de meilleures pratiques pour accompagner la nouvelle scène de démonstration de Terrain URP Demo scene et HDRP Demo scene.

Rencontrez les artistes techniques
Xiaoxi Liu

Bonjour à tous. Je m'appelle Xiaoxi Liu et j'ai rejoint Unity en 2018 en tant qu'artiste technique axé sur l'amélioration des fonctionnalités et des flux de travail des artistes dans Unity, du système de Terrain à Shader Graph. Dans mon temps libre, j'aime les activités de plein air avec mon fils de quatre ans très actif.

Barrington Campbell

Salut, je m'appelle Barrington Campbell. J'ai rejoint Unity en 2019 en tant que stagiaire puis j'ai transitionné vers un poste à temps plein en tant qu'artiste technique en 2020. Pendant mon temps chez Unity, j'ai cherché à améliorer le système de Terrain, en me spécialisant dans le développement d'outils et les flux de travail des utilisateurs. En dehors du travail, j'aime construire ma voiture de course et la faire courir le week-end.

Conseils et astuces pour créer des scènes d'environnement organiques
Création de mondes avec les derniers outils de Terrain

Bien que le package Terrain Tools ait été initialement vérifié dans la version Tech 2021.2, il est maintenant disponible pour installation dans votre projet via le Gestionnaire de paquets et l'ensemble de fonctionnalités de création de mondes. Le package est équipé de pinceaux de peinture de Terrain artistiques supplémentaires et d'outils utilitaires pour améliorer vos processus de création de mondes.

Terrain d'unité satellite

Routage depuis DCC

Dans la phase de préproduction du projet Terrain Demo, notre équipe artistique technique a réduit plusieurs éléments clés à mettre en avant, en priorisant finalement la carte de hauteur détaillée du Terrain et la couverture dense de feuillage.

Nous avons utilisé un outil de génération de Terrain procédural appelé Gaea pour générer une carte de hauteur et une carte de splat de haute résolution, suivie du Toolbox pour importer ces cartes dans l'éditeur. Pour la carte de hauteur du Terrain, nous avons utilisé l'outil Importer la carte de hauteur pour l'appliquer à un Terrain en tuiles 4x4 dans Unity à 4 000 unités à l'échelle. En utilisant l'outil Importer la carte de splat, nous avons appliqué la carte de splat au Terrain en tuiles. Ce processus a été déterminé lors de la création de notre projet, qui a fourni des flux de travail de routage de base de Gaea à Unity Terrain.

Après l'importation initiale dans Unity, nous avions une surface de Terrain très solide sur laquelle commencer, mais avec certaines zones que nous voulions peindre manuellement.

Peindre avec des tampons de carte de hauteur

Le pinceau Tampon Terrain est un excellent outil pour adapter rapidement les informations de hauteur du Terrain pour des résultats réalistes. Nous avons publié des cartes de hauteur prêtes à l'emploi dans le Pack d'actifs d'échantillon de Terrain, mais vous pouvez également générer vos propres cartes de hauteur à partir de DCC.

Peindre avec des matériaux de couche de Terrain

Comme vous le savez peut-être déjà, les matériaux de Terrain d'Unity sont construits par des actifs de Couche de Terrain. Le pinceau Peindre Texture vous permet de sélectionner et de changer de matériau dans la vue de la scène, tandis que les Filtres de masque de pinceau et l'interface utilisateur récemment améliorée du package Terrain Tools vous permettent de générer des résultats époustouflants avec moins d'effort.

Par exemple, vous pouvez contraindre la zone de peinture en ajoutant un filtre de pente. Tout d'abord, appliquez la couche de matériau herbeux sur la surface latérale du Terrain, puis utilisez un filtre de concavité pour contraindre la couche de sol aux courbures. Vous pouvez isoler un filtre en désactivant les autres, ou même combiner des filtres si nécessaire.

Il y a des pinceaux de sculpture supplémentaires dans le package, comme les effets d'érosion et de bruit, que vous pouvez également intégrer dans votre flux de construction de Terrain pour des résultats optimaux.

Couvrir le terrain de feuillage dense

Depuis la sortie de 2021.2, Unity Terrain tire parti de la puissance de votre GPU pour rendre d'énormes quantités de feuillage avec le support des détails instanciés. Ceci est utile pour les zones de feuillage qui nécessitent une couverture dense, comme l'herbe et les buissons.

Unity Terrain Lac

Sur la plupart des plateformes PC, vous pouvez rendre des millions de détails instanciés à bien plus de 60 fps. Dans la scène de démonstration, par exemple, il y a plus de 50 millions de triangles rendus sous quelques angles de vue. Pour activer l'instanciation, allez dans le Edit Details Mesh et cochez la case Use GPU Instancing.

image

Rendu avancé avec des détails instanciés

Les détails instanciés vous permettent d'utiliser des matériaux personnalisés – un avantage majeur lors de l'utilisation de HDRP ou URP. Pour la meilleure expérience possible, nous recommandons de créer des matériaux d'herbe en utilisant Shader Graph. Examinons de plus près le TerrainGrass.shadergraph.

Avec le support de Custom Interpolators, un ajout récent à Shader Graph, nous sommes maintenant capables d'effectuer des manipulations de vertex dans l'étape Vertex avec des performances globales plus fortes. Dans ce projet, nous avons utilisé l'étape Vertex pour les animations de vent, ainsi que l'apparence de l'herbe qui s'estompe par la couleur et l'occlusion ambiante, en fonction de la distance par rapport à la caméra. Compte tenu du nombre élevé d'instances pour la randomisation, ainsi que de la capacité à saisir et positionner des objets d'herbe individuels, vous pouvez créer des effets basés sur des emplacements dans votre shader, tels que des ondulations de vent et des couleurs se fondant avec le Terrain en dessous.

Une chose à noter, cependant, est que le composant LOD Group n'est pas compatible avec les détails du Terrain, bien que vous puissiez toujours utiliser des Prefabs pour les détails et ajuster la distance de culling dans le shader Shader Graph ou via le paramètre de Distance de Détail sur le Terrain.

Renforcé par SpeedTree

Unity Terrain Forêt

Naturellement, les arbres sont essentiels pour créer des environnements crédibles. Les scènes de démonstration contiennent une variété d'arbres personnalisés de SpeedTree, un modeleur qui vous permet de créer une végétation haute performance avec des générateurs procéduraux pour presque tous les projets, quelle que soit leur échelle. Avec le support de l'intégration de Shader Graph, vous pouvez exploiter des shaders prêts à l'emploi qui contiennent toutes les fonctionnalités de SpeedTree dans Unity – pensez au vent, à la variation de teinte, au rendu de panneaux publicitaires, et plus encore. Semblable aux instances de matériaux modifiables, les shaders Shader Graph sont personnalisables, vous pouvez donc enregistrer de nouveaux shaders dans votre projet et commencer à les modifier librement. Recherchez Extraire les matériaux sous Paramètres d'importation pour commencer votre personnalisation.

title

Les arbres et les détails sont généralement peints à l'aide des pinceaux Peindre les arbres et Peindre les détails respectivement, tout comme les flux de peinture existants que vous connaissez probablement. Vous pouvez créer un pinceau personnalisé grâce aux API de pinceau disponibles dans les Outils de terrain. Ensuite, référez-vous au Module de terrain pour votre propre projet.

Avec le support des détails instanciés et l'intégration de SpeedTree, vous avez le pouvoir de créer du feuillage de terrain avec une personnalisation avancée depuis Shader Graph. Nous en avons parlé lors de Siggraph l'année dernière, couvrant quelques détails supplémentaires qui pourraient vous intéresser.

Atteindre la fidélité lumineuse dans HDRP
Terrain Unity sur les pentes

Avec HDRP dans Unity 2021.2, vous pouvez créer des ciels convaincants et dynamiques en utilisant le nouveau système Nuages volumétriques. En particulier, le système Ciel Physique dans HDRP fournit des paramètres standard pour générer un éclairage de ciel physiquement correct.

En regardant l'environnement diurne que nous essayons d'atteindre dans la scène, l'intensité du soleil est réglée à une valeur que nous attendrions en dehors de l'effet d'atténuation de l'atmosphère – 130 000 lux – tandis que la température de couleur est réglée à une valeur approximée comme un corps noir à 5 800 K. Avec le post-traitement, la température de la lumière peut être compensée, tout comme elle le serait dans une Caméra Physique.

Vous ne voudriez pas que de l'herbe courte projette des ombres lorsqu'elle est placée dans un style de moquette, car cela serait coûteux sur le fil de rendu – sans parler du fait que ce serait irréaliste et moins visuellement attrayant. C'est pourquoi nous avons employé quelques techniques pour un éclairage et des ombres appropriés sur les objets de détail de terrain, tels que Ombres de contact pour générer de bien meilleures visuels avec moins de coût.

Les objets de détail de terrain, comme l'herbe et la végétation basse, partagent tous la sonde ambiante de la scène afin d'améliorer les performances de rendu. Comme ces objets reçoivent un éclairage non obstrué du ciel, le résultat peut souvent être trop lumineux. Pour rectifier cela, nous avons choisi d'utiliser un volume de "ciel de cuisson" séparé. Cela nous a permis de réduire l'exposition du ciel utilisé pour générer la sonde ambiante, abaissant l'intensité lumineuse de l'herbe sans modifier l'apparence visuelle du ciel dans la scène.

Passer du terrain de HDRP à URP

Notre objectif a été de démontrer le Terrain dans les pipelines de rendu scriptables, ce qui s'est avéré être une excellente opportunité d'apprentissage pour toute l'équipe.

Comme nous l'avons montré, les actifs TerrainData sont partageables entre les projets HDRP et URP. Nous avons commencé par construire le Terrain dans le projet HDRP, et avons apporté les actifs TerrainData dans le projet URP après la phase de masse des matériaux et du feuillage. En transformant les tuiles de Terrain en un Prefab, nous avons accéléré le processus d'intégration vers l'URP.

Bien que l'échelle et les résolutions du Terrain partagent les mêmes paramètres pour les deux projets, nous avons choisi le mode de mélange de matériaux basé sur la hauteur dans HDRP, et le mode de mélange alpha par défaut dans URP, pour une fidélité visuelle optimale. Notez que HDRP permet de mélanger jusqu'à huit couches de Terrain.

Nous avons conçu l'éclairage et le post-traitement dans les deux projets pour maximiser les dernières fonctionnalités de rendu disponibles. Dans le projet HDRP, nous avons configuré les Nuages Volumétriques et le ciel procédural comme mentionné précédemment. Ensuite, nous avons cuit le ciel procédural en textures à utiliser comme un ciel HDRI dans le projet URP.

Le brouillard est géré différemment dans chaque cas. Nous avons utilisé le brouillard volumétrique pour le brouillard léger autour du lac dans HDRP, mais avons créé des effets de particules personnalisés à partir du Visual Effect Graph dans URP.

Voici un aperçu des fonctionnalités que nous avons utilisées pour la comparaison :

Tableau de comparaison du Terrain Unity
Maximiser les performances de votre projet Terrain Unity

La performance est cruciale lorsqu'il s'agit d'expériences interactives 3D en temps réel, et il y a plusieurs approches que nous avons utilisées dans ce projet pour l'améliorer. L'actif de pipeline de rendu disponible dans HDRP et URP vous permet de créer des paramètres personnalisés pour cibler plusieurs plateformes. Prenant la scène Terrain URP comme exemple, nous avons créé des actifs de Haute Qualité et de Basse Qualité, où les cartes d'ombre haute résolution et les fonctionnalités HDR ne sont optées que pour la version Haute Qualité. De cette façon, vous pouvez configurer facilement les paramètres pour chaque plateforme cible via Paramètres de qualité, dans la fenêtre des paramètres du projet. En fait, vous pouvez changer et prévisualiser divers paramètres dans votre scène de travail directement dans l'éditeur ; il suffit d'échanger l'actif de pipeline de rendu depuis les paramètres graphiques.

image

En plus des paramètres de niveau projet pour un gain de performance, nous avons effectué quelques optimisations de contenu dans le Terrain. Dans la scène Terrain HDRP, par exemple, nous avons réduit la résolution des tuiles Terrain extérieures à distance. Cependant, vous ne devez effectuer ce changement de résolution qu'après avoir terminé votre processus de peinture de Terrain. Sinon, peindre sur des tuiles voisines peut entraîner des incohérences en raison de la différence de résolution.

Les détails denses sont les coupables de performance les plus courants en ce qui concerne les plateformes bas de gamme. Il est vital de garder le nombre de sommets du maillage bas. Dans la scène HDRP, nous avons réglé la densité des détails à 0,75, avec une distance de culling plus proche de 145 mètres sur les tuiles Terrain centrales. Vous pourriez essayer d'augmenter ou de diminuer les paramètres de densité et de distance de culling pour voir ce qui fonctionne bien ensemble. Alternativement, vous pourriez ajuster les distances LOD sur les arbres pour les faire rendre LOD et Billboard plus tôt, pour un gain raisonnable.

Si vous utilisez URP et que vous construisez pour des plateformes qui ne prennent pas en charge l'instanciation GPU ou qui ont une bande passante matérielle très limitée, vous pourriez choisir le mode Vertex Lit pour rendre les détails du Terrain. Mais contrairement aux détails instanciés, ce mode ne prend pas en charge les ombres, le rendu double face ou le clipping alpha.

Vous souhaitez en savoir plus ? Pour des conseils et astuces supplémentaires d'optimisation des performances, assurez-vous de consulter cet article de blog et nos vidéos Unite Now.

Commencez maintenant

Pour accéder aux nouvelles scènes de démonstration Terrain Unity pour HDRP et URP, allez sur l'Asset Store et importez-les directement dans votre projet Unity 2021.2. Une fois que vous aurez eu la chance d'explorer pleinement les scènes, faites-nous savoir ce que vous en pensez sur les forums de Worldbuilding.

Pour plus d'informations sur ce qui est à venir, veuillez visiter la Feuille de route Unity.

Enfin, l'équipe artistique technique de Unity recrute. Vous pouvez consulter les postes ouverts sur notre site web. Nous avons hâte d'avoir de vos nouvelles !