Salut, je cherche à faire un système de skybox dynamique qui change en fonction de ma position dans l'espace ( comme dans la vraie vie quoi, le ciel n'est pas le même sur Alpha Centauri que sur Terre ).
J'aimerais un résultat de ce genre :
Vous pouvez aller dans chaque étoiles que vous voyez, les seuls éléments de skybox classique sont les nébuleuses.
Dans mon script actuel, il est impossible de passer d'une étoile à une autre directement, il y a un chargement entre deux. ( Vous ça de la même manière qu'on fait dans Star Wars ).
L'auteur du jeu explique ça très bien ici : https://www.reddit.com/r/skywanderers/c ... he_skybox/
Donc j'aimerais avoir un peux d'aide, au moins théorique au minimum sur comment faire un script de ce genre pour les skybox en générant des milliers d'étoiles sans perdre de performance.
Merci.
[resolu] Generer une skybox spatiale en 3D selon ma position.
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
[resolu] Generer une skybox spatiale en 3D selon ma position.
Dernière édition par FriteCoca le 21 Déc 2018 17:46, édité 1 fois.
Re: [MY-AL] Generer une skybox spatiale en 3D selon ma position.
Salut FriteCoca !
Du haut de mon humble expérience, je dirais qu'il faut que tu te penches sur du LOD (Level of Detail), c'est à dire qu'une planète qui est à quelques années lumières n'a pas besoin d'afficher 4000 vertex, contrairement à une autre qui est juste devant tes yeux. Tu modifies donc le niveau de détail de tes étoiles selon leur proximité à la caméra.
https://docs.unity3d.com/Manual/class-LODGroup.html
Du haut de mon humble expérience, je dirais qu'il faut que tu te penches sur du LOD (Level of Detail), c'est à dire qu'une planète qui est à quelques années lumières n'a pas besoin d'afficher 4000 vertex, contrairement à une autre qui est juste devant tes yeux. Tu modifies donc le niveau de détail de tes étoiles selon leur proximité à la caméra.
https://docs.unity3d.com/Manual/class-LODGroup.html
- boubouk50
- ModoGenereux
- Messages : 6247
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [MY-AL] Generer une skybox spatiale en 3D selon ma position.
Pas sur de suivre ton idée.
Tu veux une skybox différente pour chaque endroit de la galaxie?
Tu veux la générer automatiquement? Est-ce que cela implique que lorsque tu reviens sur une planète déjà visitée la skybox sera la même ou pas forcément?
Autant les étoiles/planètes/astres peuvent être spatialisés donc être en place et affichés avec des particules (ou autre) autant le "derrière" (espace, nébuleuse, etc), lui moins.
Tu veux une skybox différente pour chaque endroit de la galaxie?
Tu veux la générer automatiquement? Est-ce que cela implique que lorsque tu reviens sur une planète déjà visitée la skybox sera la même ou pas forcément?
Autant les étoiles/planètes/astres peuvent être spatialisés donc être en place et affichés avec des particules (ou autre) autant le "derrière" (espace, nébuleuse, etc), lui moins.
"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
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: [MY-AL] Generer une skybox spatiale en 3D selon ma position.
Salut, on m'a finalement dis dans un autre endroit que je pouvais faire ça avec des particules Et concernant la galaxie :boubouk50 a écrit : ↑20 Déc 2018 11:37Pas sur de suivre ton idée.
Tu veux une skybox différente pour chaque endroit de la galaxie?
Tu veux la générer automatiquement? Est-ce que cela implique que lorsque tu reviens sur une planète déjà visitée la skybox sera la même ou pas forcément?
Autant les étoiles/planètes/astres peuvent être spatialisés donc être en place et affichés avec des particules (ou autre) autant le "derrière" (espace, nébuleuse, etc), lui moins.
Elle est générée aléatoirement,
Il faut une skybox à différentes à chaque endroit de la galaxie et bien sur avoir la même si je reviens.
La j'ai déjà compris comment régler le soucis pour les étoiles mais pour les nébuleuse la ça coince toujours
Re: [MY-AL] Generer une skybox spatiale en 3D selon ma position.
Dans l'idéal, il faudrait être capable de complètement générer ta galaxie de manière procédurale.
Tu pourrais ainsi être capable d'en faire un rendu depuis n'importe quelle position... Mais ça va demander un gros taf
Pour commencer, il faut étudier l'aspect des différentes galaxies répertoriées, et identifier celle que tu veux imiter.
Si par exemple c'est une galaxie spirale, il faut te faire un générateur de galaxie en spirale, qui va positionner les étoiles toujours de la même façon, peu importe combien tu mets d'étoiles.
Ensuite, il faut générer des zones de gaz où tu pourras placer des billboards qui serviront à colorer tout ça...
C'est vraiment une description approximative, mais c'est un point de départ.
Quelques liens utiles :
http://martindevans.me/game-development ... -Galaxies/
https://www.youtube.com/watch?v=kpnWe6luD-o
https://www.youtube.com/playlist?list=P ... yri4WL6zsS
et tu en trouveras plein d'autres sur google avec "procedural galaxy generator"
Tu pourrais ainsi être capable d'en faire un rendu depuis n'importe quelle position... Mais ça va demander un gros taf
Pour commencer, il faut étudier l'aspect des différentes galaxies répertoriées, et identifier celle que tu veux imiter.
Si par exemple c'est une galaxie spirale, il faut te faire un générateur de galaxie en spirale, qui va positionner les étoiles toujours de la même façon, peu importe combien tu mets d'étoiles.
Ensuite, il faut générer des zones de gaz où tu pourras placer des billboards qui serviront à colorer tout ça...
C'est vraiment une description approximative, mais c'est un point de départ.
Quelques liens utiles :
http://martindevans.me/game-development ... -Galaxies/
https://www.youtube.com/watch?v=kpnWe6luD-o
https://www.youtube.com/playlist?list=P ... yri4WL6zsS
et tu en trouveras plein d'autres sur google avec "procedural galaxy generator"
Re: [MY-AL] Generer une skybox spatiale en 3D selon ma position.
Salut, niveau génération de ma galaxie je suis déjà au clair avec ça et c'est déjà fait même.Alesk a écrit : ↑21 Déc 2018 16:55Dans l'idéal, il faudrait être capable de complètement générer ta galaxie de manière procédurale.
Tu pourrais ainsi être capable d'en faire un rendu depuis n'importe quelle position... Mais ça va demander un gros taf
Pour commencer, il faut étudier l'aspect des différentes galaxies répertoriées, et identifier celle que tu veux imiter.
Si par exemple c'est une galaxie spirale, il faut te faire un générateur de galaxie en spirale, qui va positionner les étoiles toujours de la même façon, peu importe combien tu mets d'étoiles.
Ensuite, il faut générer des zones de gaz où tu pourras placer des billboards qui serviront à colorer tout ça...
C'est vraiment une description approximative, mais c'est un point de départ.
Quelques liens utiles :
http://martindevans.me/game-development ... -Galaxies/
https://www.youtube.com/watch?v=kpnWe6luD-o
https://www.youtube.com/playlist?list=P ... yri4WL6zsS
et tu en trouveras plein d'autres sur google avec "procedural galaxy generator"
Puis j'ai finalement déjà trouvé comment faire ma skybox sans perdre trop de performance mais merci quand même pour la playlist ( https://www.youtube.com/playlist?list=P ... yri4WL6zsS ), mon problème est résolu.
Re: [resolu] Generer une skybox spatiale en 3D selon ma position.
Ha ben super !
On peut voir ce que ça donne maintenant ? ça m'intéresse
On peut voir ce que ça donne maintenant ? ça m'intéresse
Re: [resolu] Generer une skybox spatiale en 3D selon ma position.
Hey ! je suis entrain de faire un système similaire mais je ne trouve pas comment le faire sans générer des mesh avant puis utiliser camera.RenderToCubeMap.
Je génère mes mesh avec un shader et un compute shader en tant que particule comme l'a dit l'auteur mais je trouve que ça fait très bricolage. j'ai donc ce résultat la :
Après avoir capturé un rendu de ma scène je met ma cubemap en tant que skybox et je désactive le rendu.
je voudrais donc avoir une petite indication niveau script sur comment rendre les étoiles et changer leurs positions en fonction de la position du joueur directement dans la sykbox
Je génère mes mesh avec un shader et un compute shader en tant que particule comme l'a dit l'auteur mais je trouve que ça fait très bricolage. j'ai donc ce résultat la :
Après avoir capturé un rendu de ma scène je met ma cubemap en tant que skybox et je désactive le rendu.
je voudrais donc avoir une petite indication niveau script sur comment rendre les étoiles et changer leurs positions en fonction de la position du joueur directement dans la sykbox