Vous avez importé un arbre fait avec SpeedTree, issu d'un package Unity... mais les textures en HDRP sont cassées ?
En effet actuellement les arbres faits avec SpeedTree sont compatibles avec le renderer Built-in de Unity, et le SRP appelé URP ... mais pas HDRP au moment où vous lisez ce tutoriel !
Ainsi dès lors que l'on importe un asset d'arbre SpeedTree, on se retrouve avec des textures toutes roooooses !
Reproduire l'importation
Sur la vidéo de 0 à 5 min environ
Afin de suivre ce tutoriel il suffit de créer un projet Unity en prenant comme Template le High Definition RP (HDRP).
Puis il suffit ensuite d'importer depuis l'asset store le package Conifers .
Ainsi vous verrez bien, après avoir glissé dans la scène un des prefabs du package, que les arbres sont tous roses !
Examiner le Material cassé des feuilles
Sur la vidéo de 5 min à 7 min environ
Avant de se lancer dans la réparation voyons tout d'abord ce qui ne va pas au niveau du Material utilisé pour les feuilles.
Retrouvez dans l'éditeur, le Material des feuilles (Conifer Leaves BODT) et cliquez dessus pour inspecter ...
On voit bien que le shader CTI/LOD Leaves 301, associé à la Texture, n'est pas compatible avec HDRP. En effet le Material est lui aussi rose !
Ainsi nous allons devoir créer from scratch un nouveau Material pour les feuilles. En effet ici le Material avec le Shader utilisé sont trop customisés pour que l'on puisse simplement faire juste un upgrade de Material !
Que conserver de l'ancien Material ?
Sur la vidéo de 7 min à 10 min environ
Si on regarde bien le Material original cassé, on doit surtout, pour recomposer, reprendre la texture de l'albedo, la texture de la normal map .. et surtout la valeur de l'alpha cutoff. En effet la Texture de l'Albedo possède de la transparence ...
Les seuls points importants à reproduire sur le Material sont repris sur la capture ci-dessous
Créer un nouveau Material pour les feuilles
Sur la vidéo de 10 min à 14 min environ
Maintenant que l'on sait quoi récupérer de l'ancien Material, c'est parti, créons le notre:
Clic droit dans la zone Asset => Create => Material
On va donc créer un Material dans l'éditeur qui utilisera finalement bien un Shader de type HDRP. Ainsi le Shader utilisé sera HDRP Lit.
Pour recomposer finalement notre ancien Material on va tout d'abord affecter la Texture des feuilles à l'Albedo du Material.
Mais c'est encore moche et très loin de nos beaux arbres aperçus sur l'Asset Store lorsque l'on a téléchargé le package.
Profitez en avant d'aller plus loin pour créer un Material pour le tronc de l'arbre, et de lui donner aussi une Texture Albedo et pourquoi pas aussi une Texture Normal Map.
Il est maintenant temps de revenir sur nos feuilles qui ne sont pas cisellées comme il se doit !
Si vous avez pris le temps de regarder la Texture utilisées pour les feuilles, vous avez vu que la Texture dispose de plein de zones vides ... ou plus exactement transparentes. Or actuellement sur notre résultat visuel, ce n'est absolument pas le cas.
Nous allons donc cocher la case "Alpha Clipping" sur notre nouveau Material. (Cela correspond sur notre ancien Material à l'Alpha CutOff)
En plaçant le curseur du seuil (Threshold) à 0.5, la magie de la transparence va pouvoir agir .
TADAAAA ! Et bim, le retour de vraies feuilles.
Affinage du Material pour les feuilles
Sur la vidéo de 14 min à 16 min environ
En l'état actuel nous avons déjà retrouvé l'aspect visuel de nos arbres mais on peut encore aller plus loin.
Ainsi on peut reprendre la Normal Map de l'ancien Material, pour la placer sur notre nouveau Material HDRP.
Must du Must, vous pouvez activer directement sur le Material HDRP, le double side qui permet à une surface de pouvoir être rendue à l'écran sur les 2 faces.
Enfin on change de Type de Material de Standard pour Subsurface Scattering (SSS ).
L'effet visuel est net !
Notez le vert "fluo" des feuilles sur l'image ci-dessus .. c'est l'effet du SSS !
Libres à vous maintenant de tester d'autres arbres.
Vous savez maintenant comment réparer des Material pour les arbres SpeedTree... à vous de jouer !