besoin d'explications sur le principe d'application d'un shader dans unity

Questions à propos du scripting Shader.
UnityNoobUser
Messages : 20
Inscription : 21 Fév 2021 14:54

besoin d'explications sur le principe d'application d'un shader dans unity

Message par UnityNoobUser » 20 Mai 2021 19:34

Salut,

petite question pour comprendre le principe avant de me lancer dans shader graphe.
je réalise un petit jeux pour apprendre . je suis donc passer par l'étape "apprendre a utiliser blender" pour modéliser un objet.
je suis ensuite passer par l'étape création d'un shader simple sous blender car sur un missile par exemple, je voulais utiliser un .png pour appliquer une tete de mort sur une texture acier ou appliquer une transparence sur une vitre de vaisseau . une fois réussi je réalise les quelques étapes pour importer sous unity ( comme appliquer les transform, les rotations pour avoir le bon axe z sous unity, le scale, l'export des textures, la fusion en un seul objet de toutes les pièces du model car pas d'animation a prevoir etc..) mais bien entendu une fois sous unity le shader n'est pas appliqué je n'ai plus que les materiaux de base (une couleur mais plus de textures avec les melange rgb ou ma tete de mort avec la prise en compte de l'alpha pour la transparence etc) et les matériaux sont grisés sous unity, je ne peux donc pas les modifier ou les remplacer.
je vais donc devoir apprendre a utiliser shader graph apres avoir galeré dans blender avec les noeuds et le uv unwrap ^^.

mais je ne vois pas comment une fois que j'aurai réussi a recreer un shader sous unity je pourrai l'appliquer a la ou les parties de mon missile car il n'y a pas le system de uv unwrap dans unity! font il que je refasse mon missile dans blender en le laissant en plusieurs morceaux et sans matériaux pour réaliser les materiaux sous unity et pouvoir y appliquer des shader fait avec shader graph ?

merci d'avance a celui qui voudra bien m'aider a comprendre la méthode a suivre pour avoir un objet qui rend a peu prêt correctement sous unity :amen:
Dernière édition par UnityNoobUser le 22 Mai 2021 00:11, édité 2 fois.

EmileF
Messages : 673
Inscription : 18 Mars 2017 19:39

Re: besoin d'explications sur le principe d'application d'un shader dans unity

Message par EmileF » 21 Mai 2021 09:17

Salut,

quand je désire appliquer une texture sur un objet dans Blender, je crée un Material avec la texture en question et j'applique ce matérial sur les faces concernée. Dans l'UVEditor de Blender, je règle la position de la texture.

Je fait le transfert dans Unity, et j'importe le material de Blender ou je crée un material dans Unity dans lequel je mets ma texture et que j'applique au bon material de l'objet.

J'espère avoir été assez clair et que ça pourra t'aider.

Bonne continuation
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: besoin d'explications sur le principe d'application d'un shader dans unity

Message par boubouk50 » 21 Mai 2021 10:48

1/ Les matériaux "grisés".
Ce sont les matériaux par défaut, ils sont là uniquement pour que l'objet possède un matériau et soit rendu (s'il n'en possédait pas, il serait d'une couleur unie fuschia).
2/ Les matériaux Blender vers Unity.
Dans les Imports Settings d'Unity, tu peux régler dans l'onglet Materials la façon dont ceux-ci sont importés. Je recommande personnellement de ne pas les importer et des les refaire dans Unity.
3/ Les matériaux, les shaders, les UVs
Pour rendre à l'écran un objet 3D, il lui faut un MeshFilter qui contient le Mesh 3D (qui lui possède les UVs) et un Renderer qui définit un matériau qui interprète un shader qui définit comment ton mesh 3D est rendu.
Le matériau n'est qu'une interface pour un shader où tu définis les attributs: textures, couleur, offset, etc.
C'est ce que tu dois avori normalement, avec le matériau default-material.

Pour créer un matériau, tu fais un simple clique droit dans Project: Create > Material.
Ensuite (matériau sélectionné), dans l'Inspector tu règles ton matériau avec ta texture (que tu auras importée) et tu glisse-déposes celui sur ton objet. Tu devrais avoir un premier résultat.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

UnityNoobUser
Messages : 20
Inscription : 21 Fév 2021 14:54

Re: besoin d'explications sur le principe d'application d'un shader dans unity

Message par UnityNoobUser » 21 Mai 2021 21:18

un grand merci a vous deux ! j'ai enfin compris le principe, je peux passer aux tutos sur shader graph pour ajouter ma tête de mort sur mon missile :super:

Image

UnityNoobUser
Messages : 20
Inscription : 21 Fév 2021 14:54

Re: besoin d'explications sur le principe d'application d'un shader dans unity [RESOLU]

Message par UnityNoobUser » 22 Mai 2021 00:11

ok ok bon ça commence mal ^^ a priori je ne peux pas utiliser shadergraph car j'ai créé mon projet avec un template 3D ( qui utilise de ce que je comprends Built-in Render Pipeline)..et non hdrp ou urpipeline... du coup quelle serait la bonne voie a suivre ? est ce que je peux modifier le template de mon projet actuel ou sinon quel est l’équivalent de shadergraph pour Built-in Render Pipeline car pour mon apprentissage je n'ai pas besoin de faire des shaders de ouf . je sens que ça va être compliquer tout ça encore :hehe:
Dernière édition par UnityNoobUser le 22 Mai 2021 00:19, édité 1 fois.

Avatar de l’utilisateur
jmhoubre
Messages : 851
Inscription : 05 Oct 2019 22:05

Re: besoin d'explications sur le principe d'application d'un shader dans unity

Message par jmhoubre » 22 Mai 2021 00:14

Bonsoir boubouk50,
boubouk50 a écrit : 2/ Les matériaux Blender vers Unity.
Dans les Imports Settings d'Unity, tu peux régler dans l'onglet Materials la façon dont ceux-ci sont importés. Je recommande personnellement de ne pas les importer et des les refaire dans Unity.
Cela m'intéresserait de savoir la raison de ce choix. Je n'ai pas importé beaucoup d'objets depuis Blender, mais j'ai à chaque fois importé les matériaux, et demandé l'extraction.

Merci.

Avatar de l’utilisateur
jmhoubre
Messages : 851
Inscription : 05 Oct 2019 22:05

Re: besoin d'explications sur le principe d'application d'un shader dans unity

Message par jmhoubre » 22 Mai 2021 00:18

Oui tu peux.
1) tu installes le pipeline de ton choix avec le package manager.
2) menu Asset > Renderer, tu crées une asset. Unity va créer 2 assets dans ton repertoire actuel.
3) dans Project Settings, section Graphics, tu renseignes le champ renderer avec l'asset que tu viens de créer.
4) tu convertis les matériaux pour ton nouveau pipeline (en souhaitant que tu aies seulement des shaders standards). C'est dans Edit > RenderPipeline > [NOM de ton PIPELINE] > Upgrade Project Materials to [NOM de ton PIPELINE] materials.

Conseil : une sauvegarde préliminaire de ton projet ne coûte pas grand chose et évite le stress.

UnityNoobUser
Messages : 20
Inscription : 21 Fév 2021 14:54

Re: besoin d'explications sur le principe d'application d'un shader dans unity

Message par UnityNoobUser » 22 Mai 2021 00:52

:pleur4:

1) tu installes le pipeline de ton choix avec le package manager.
install de hight definition rp ok

2) menu Asset > Renderer, tu crées une asset. Unity va créer 2 assets dans ton repertoire actuel.
unity a créé automatiquement un "asset" (je comprend pas trop de ce que c'est) "HDRenderPipelineAsset"
mais il n'y a rien dedans et mon projet est tjrs dans le dossier Assets. fautil que je recopie tout dans le nouvel asset ?
plus rien n'est affiché normalement, plus de skybox, mes objets sont fushia etc ! seul mon canvas s'affiche normalement.

3) dans Project Settings, section Graphics, tu renseignes le champ renderer avec l'asset que tu viens de créer.
il la fait tout seul je n'ai plus que le choix que du HDRP

4) tu convertis les matériaux pour ton nouveau pipeline (en souhaitant que tu aies seulement des shaders standards). C'est dans Edit > RenderPipeline > [NOM de ton PIPELINE] > Upgrade Project Materials to [NOM de ton PIPELINE] materials.
ok quelques objets sont de retour (et en plus beau d'ailleurs) mais j'ai perdu un paquet de trucs, comme mes effets de particules et certains objets avec materiaux qui en effet utilisaient un shader spécifique 8|

y a trop de trucs qui ont changés et trop d'options partout , les materiaux, les lumieres etc Oh My God :aille2:

UnityNoobUser
Messages : 20
Inscription : 21 Fév 2021 14:54

Re: besoin d'explications sur le principe d'application d'un shader dans unity

Message par UnityNoobUser » 22 Mai 2021 01:24

bon je vais faire une restore du projet je crois . sinon y a pas équivalent a shadergraph pour Built-in Render Pipeline :-D

Avatar de l’utilisateur
Max
Messages : 8764
Inscription : 30 Juil 2011 13:57
Contact :

Re: besoin d'explications sur le principe d'application d'un shader dans unity

Message par Max » 22 Mai 2021 09:40

Bonjour,
UnityNoobUser a écrit :
22 Mai 2021 01:24
sinon y a pas équivalent a shadergraph pour Built-in Render Pipeline :-D
personnellement, toujours attaché au pipeline standard (Built-in), j’utilise Amplify Shader, qui est vraiment très bien (asset payant par contre).
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Répondre

Revenir vers « les Shaders »