Bonjour!
Depuis Unity, je suis en mesure de passer certains parametres au shader pour chaque vertice: une couleur (vertex color), 3 uvs (uv, uv1, uv2) et une position.
Ma question:
Est-t-il possible de passer des paramètres personnalisés ?
J'avais cru entendre que c'était possible avec UDK mais je n'ai aucune info dessus pour Unity.
Merci!
Question: Paramètres par vertices
- artemisart
- Messages : 1893
- Inscription : 21 Juin 2011 19:51
- Localisation : Centre
- Contact :
Re: Question: Paramètres par vertices
Salut,
Personnalisés non, et fait attention aux uvs il y en a que 2 sets (uv1 == uv2).
Par contre si tu n'utilise pas les tangents/colors32 et peut-être boneWeights tu peux les utiliser pour stocker les floats que tu veux.
La 5 apportera le support d'au moins 4 uvs sets.
Personnalisés non, et fait attention aux uvs il y en a que 2 sets (uv1 == uv2).
Par contre si tu n'utilise pas les tangents/colors32 et peut-être boneWeights tu peux les utiliser pour stocker les floats que tu veux.
La 5 apportera le support d'au moins 4 uvs sets.
Re: Question: Paramètres par vertices
Ca marche.artemisart a écrit :Salut,
Personnalisés non, et fait attention aux uvs il y en a que 2 sets (uv1 == uv2).
Par contre si tu n'utilise pas les tangents/colors32 et peut-être boneWeights tu peux les utiliser pour stocker les floats que tu veux.
La 5 apportera le support d'au moins 4 uvs sets.
Je ne conaissait pas tangents et boneWeights merci pour l'info!
Re: Question: Paramètres par vertices
Attention tout de même : plus on en balance et plus ça rame
J'ai encore ce souci avec mon moteur de particules...
Attention aussi si tu veux utiliser les normales pour envoyer des données différentes, pour le cas d'un shader sur mobile (opengl es 2.0), il faut bien penser à ajouter ceci :
Sinon les vecteurs stockés dans les normales seront automatiquement normalisés, et du coup on ne récupère plus dans le shader les données envoyées à l'origine... j'ai passé un sacré moment à trouver la réponse à ce souci >__<
Pour ce qui est des couleurs, que l'on mette à jours l'attribut .colors ou .colors32 du mesh, ça revient au même dans le shader donc ce ne sont pas deux tableaux séparés.
Par contre coté scripting, il est beaucoup plus rapide de mettre à jour les couleurs en utilisant l'attribut .colors32
Pour les boneWeights, à ma connaissance, ce n'est pas accessible depuis un shader
Voilà pour mon complément à ce sujet
J'ai encore ce souci avec mon moteur de particules...
Attention aussi si tu veux utiliser les normales pour envoyer des données différentes, pour le cas d'un shader sur mobile (opengl es 2.0), il faut bien penser à ajouter ceci :
Code : Tout sélectionner
#pragma glsl_no_auto_normalization
Pour ce qui est des couleurs, que l'on mette à jours l'attribut .colors ou .colors32 du mesh, ça revient au même dans le shader donc ce ne sont pas deux tableaux séparés.
Par contre coté scripting, il est beaucoup plus rapide de mettre à jour les couleurs en utilisant l'attribut .colors32
Pour les boneWeights, à ma connaissance, ce n'est pas accessible depuis un shader
Voilà pour mon complément à ce sujet