Skybox - Problème avec l'UV
Publié : 11 Fév 2022 16:34
Bonjour,
Aujourd'hui je viens vers vous parce que je cherche à créer un shader de skybox procédural.
Mon problème est que j'ai de la peine à appréhender l'UV de la skybox et à faire précisément ce que je veux en gardant le tout seamless. Je dois avouer que les maths, et plus précisément la géométrie, ne sont pas mon fort.
J'ai suivis un petit tuto pour projeter correctement mon shader sur une skybox avec les noeuds suivants que j'ai converti en SubGraph :
Mon but final, est d'obtenir une "ligne d'étoile et de gaz" comme celle de la voie lactée comme on peut le voir sur cette image (pas pas nécessairement avec cet angle) :
Donc je cherche à créer un masque que j'appliquerai ensuite sur une génération Voronoi pour mes étoiles/nébuleuse/etc... J'appliquerai également un bruit procédural sur le dégradé pour le rendre moins régulier.
Je n'en suis pas encore là (ça je maitrise plutôt bien déjà).
Cependant, j'aimerais pouvoir faire pivoter cette ligne à mon aise. Mon projet se déroulant dans l'espace, nous sommes amené à naviguer sur différentes orbites en conservant toujours la même rotation relative à l'étoile (pour des soucis de lumière sur la scène (mon projet est une sorte de mélange entre FTL et Starmancer pour ceux qui ocnnaissent) et donc l'inclinaison de cette ligne n'est pas toujours la même (et faire pivoter toute la scène n'est pas une option, nous ne naviguons pas librement autour d'un objet de façon dynamique en utilisant la physique, je ne refais pas KSP lol)
Problème, je n'arrive à faire quelque chose de propre que quand je la fais pivoter à 90° comme ici :
Là c'est seamless, pas de problème.
Mais si je change le degré d'inclinaison :
Et évidemment une fois sur la scène, on obtient le même résultat sur la skybox.
Je comprend qu'il faut déformer mon dégradé pour qu'ils suivent la projection des UVs de la skybox et qu'ainsi il reste seamless. C'est là que je bloque et j'espère donc pouvoir obtenir de l'aide ici.
Je ne sais pas si je m'y prend mal. Si le problème vient carrément de la façon dont je projette les UV, bref je suis un peu perdu.
Quelles sont les opérations et les noeuds que je dois utiliser pour être libre dans le degré d'inclinaison de cette ligne?
Je remercie d'avance ceux qui me donneront des pistes.
Aujourd'hui je viens vers vous parce que je cherche à créer un shader de skybox procédural.
Mon problème est que j'ai de la peine à appréhender l'UV de la skybox et à faire précisément ce que je veux en gardant le tout seamless. Je dois avouer que les maths, et plus précisément la géométrie, ne sont pas mon fort.
J'ai suivis un petit tuto pour projeter correctement mon shader sur une skybox avec les noeuds suivants que j'ai converti en SubGraph :
Mon but final, est d'obtenir une "ligne d'étoile et de gaz" comme celle de la voie lactée comme on peut le voir sur cette image (pas pas nécessairement avec cet angle) :
Donc je cherche à créer un masque que j'appliquerai ensuite sur une génération Voronoi pour mes étoiles/nébuleuse/etc... J'appliquerai également un bruit procédural sur le dégradé pour le rendre moins régulier.
Je n'en suis pas encore là (ça je maitrise plutôt bien déjà).
Cependant, j'aimerais pouvoir faire pivoter cette ligne à mon aise. Mon projet se déroulant dans l'espace, nous sommes amené à naviguer sur différentes orbites en conservant toujours la même rotation relative à l'étoile (pour des soucis de lumière sur la scène (mon projet est une sorte de mélange entre FTL et Starmancer pour ceux qui ocnnaissent) et donc l'inclinaison de cette ligne n'est pas toujours la même (et faire pivoter toute la scène n'est pas une option, nous ne naviguons pas librement autour d'un objet de façon dynamique en utilisant la physique, je ne refais pas KSP lol)
Problème, je n'arrive à faire quelque chose de propre que quand je la fais pivoter à 90° comme ici :
Là c'est seamless, pas de problème.
Mais si je change le degré d'inclinaison :
Et évidemment une fois sur la scène, on obtient le même résultat sur la skybox.
Je comprend qu'il faut déformer mon dégradé pour qu'ils suivent la projection des UVs de la skybox et qu'ainsi il reste seamless. C'est là que je bloque et j'espère donc pouvoir obtenir de l'aide ici.
Je ne sais pas si je m'y prend mal. Si le problème vient carrément de la façon dont je projette les UV, bref je suis un peu perdu.
Quelles sont les opérations et les noeuds que je dois utiliser pour être libre dans le degré d'inclinaison de cette ligne?
Je remercie d'avance ceux qui me donneront des pistes.