| Moteur de terrain 3D | |
|
+20shadow_the_killer yano MrHappy al_tanner Wargamer lotus alpha M@d_Doc Chulien Playboy [TheDarkTiger] Mass Boudou ombre ??? edi9999 Topaze22 bibi675 Magma_GoGo nicoulas 24 participants |
|
Auteur | Message |
---|
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Moteur de terrain 3D Mer 18 Fév 2009 - 14:45 | |
| Salut, je bosse en ce moment sur un générateur de terrain 3D à partir d'images en niveaux de gris (heightmap) avec le moteur 3D de GM. Le moteur fonctionne avec plusieurs scripts, mais vu que tous ces scripts forment un ensemble, j'ai préféré mettre ça dans la section 'projets' Le moteur peut : - créer un modèle de terrain à partir d'une heightmap - assigner automatiquement les normales lissées au terrain (pour l'éclairage) - assigner automatiquement les coordonées des textures - étirer le modèle en largeur et/ou en longueur (et adapter automatiquement les normales) - définir une hauteur maximale du terrain (toutes les hauteurs seront calculées par rapport à la valeur maximale) (et adapter automatiquement les normales) - créer deux niveaux de détails avec une seule heightmap (un en haute qualité (plus lent mais plus beau) et l'autre en basse qualité (plus rapide)) - déterminer la hauteur de n'importe quel point sur le terrain avec les coordonées (x,y) du point - déterminer l'angle de dénivellation entre deux points du terrain avec seulement les coordonées (x,y) des deux points - créer des terrains dynamiques qui sont modifiables in-game, mais l'éclairage ne peut pas être rendu en temps réel dessus (pour des raisons de performances) ... Et pourra : - être utilisé pour créer des surfaces d'eau - simuler des effets sur l'eau (vagues, objets qui tombent dans l'eau, etc) Bon assez de baratin, une petite screenshot pour montrer le rendu actuel, avec maintenant les normales lissées, donc un meilleur rendu au niveau de l'éclairage : - Spoiler:
Une autre qui montre les couleurs en fonction de la hauteur : - Spoiler:
Une dernière qui montre le texture splatting en fonction de la hauteur : - Spoiler:
Images mises à jour.Petite démo technique (nouvelle démo avec éclairage correct) : Lien : http://www.mediafire.com/?f5kwmmtk5nwLien vers l'exe (pour ceux qui ont GM6 ou une version non enregistrée de GM) : http://www.mediafire.com/?m05ztmwtfqzNiveau performances, le calcul du terrain prend quelques secondes mais l'affichage de pompe pas trop : un terrain avec 8192 polygones (donc ~24500 points) prend environ ~4 secondes à charger et pompe 30% de mon processeur donc environ 600 Mhz. Bien sûr je compte optimiser encore ça pour que l'affichage soit encore plus rapide, mais ne vous attendez pas non plus à ce que ça ne pompe rien ^^.
Dernière édition par nicoulas le Lun 27 Avr 2009 - 0:25, édité 6 fois |
|
| |
Magma_GoGo Utilisateur confirmé: Rang ***
Messages : 653
| Sujet: Re: Moteur de terrain 3D Mer 18 Fév 2009 - 14:49 | |
| Bah, c'est très bien Nicolas. |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Moteur de terrain 3D Mer 18 Fév 2009 - 15:42 | |
| Yeah, Nicoulas a un nouveau projet ! Je n'aime peut-être pas trop la 3D mais je te supporte entièrement car si ça ne m'aide pas maintenant, ça m'aidera plus tard ! Mais dis-moi, ça ressemble à la fonction parallax je sais pas quoi de l'Escape Engine, non ? C'est la même chose ? @++ et bon courage pour ton projet ! |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Moteur de terrain 3D Mer 18 Fév 2009 - 16:46 | |
| Très intéressant. Il faudrait que j'en parle à [TheDarkTiger].
Autant de polygone et si peut de perte de performances, sans utiliser de DLL, c'est que maitrise bien le truc.
Bravo, sincèrement, ça a dû être chaud quand même ! |
|
| |
Invité Invité
| Sujet: Re: Moteur de terrain 3D Mer 18 Fév 2009 - 17:01 | |
| mais c'est que Nicoulas est en train de devenir un p oaro de la 3d sur game maker ohmondieu mais c'est terrible |
|
| |
edi9999 Utilisateur confirmé: Rang *****
Messages : 2480 Localisation : France Projet Actuel : theatre flashy
| Sujet: Re: Moteur de terrain 3D Mer 18 Fév 2009 - 17:10 | |
| :snif2: Et moi qui ait encore jamais affiché une fois un polygone en 3d. Sinon ca a l'air d'être bien fait, en plus ca utilise pas beaucoup de Ram, c'est pas mal :lng: . Jvais me mettre à la 3d aujourdh'ui je crois. - Spoiler:
Ai jeu sohr hen jeh doom 4d (ces moua qui est invnté mai je sai pas ancore ce que sa cera)avec mez zamis, il meu faut juste 5 modeleur, je conte sur vou lé gas
|
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Moteur de terrain 3D Mer 18 Fév 2009 - 18:50 | |
| Lol merci à tous ^^ @robotic : lol poaro @bibi675 : non je crois pas que çe soit la même chose (enfin je me souviens plus trop de cette fonction mais bon ^^), normalement le parallax c'est une sorte de bump mapping, et là à partir d'une image 2D en noir et blanc les scripts génèrent un terrain en 3D (regarde les images à droite : http://en.wikipedia.org/wiki/Heightmap)@Topaze : en fait j'ai trouvé une assez bonne technique d'optimisation dans l'utilisation de modèles 3D donc ça permet d'afficher un grand nombre de polygones (mais le modèle est difficilement modifiable, donc pas de terrains dynamiques ...). @edi : bah oui comme je l'ai dit c'est grâce aux modèles qui sont assez rapides dans GM, é bon chanss pr doom 4D sadoua et dur nn ? |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Moteur de terrain 3D Mer 18 Fév 2009 - 20:45 | |
| C'est pourtant pareil que toi, plus c'est foncé plus c'est profond... |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Moteur de terrain 3D Mer 18 Fév 2009 - 21:22 | |
| Excellente remarque, mais Nicoulas utilise bien le procédé des heightmap et non du bumpmaping pour une constatation très simple : Il utilise des modèles. Sa 3D est donc bien dû à des vertex et non à un effet généré par la carte graphique (dont la 3D ne vient pas de vertex).
Moins on en sait, plus on étale ^^ |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 0:04 | |
| Topaze a assez bien résumé le tout ^^ Au fait, si vous avez des idées d'améliorations que je n'ai pas écrites, je suis preneur (sauf si c'est pour proposer le support du multitexturing, parce que je crois pas pouvoir y arriver ^^). Là je galère un peu avec le lissage des normales, mais une fois que ce sera fait le seul truc un peu compliqué qui restera sera le calcul d'altitude en fonction des coordonées (x,y). |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 17:26 | |
| Ok merci de m'avoir expliqué ! :fier: |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 19:16 | |
| Fait un ****** d'éditeur ! Tu pourrais même coopérer avec TheDarkTiger... Il pourrait t'apprendre des choses et te faire gagner du temps (vis à vis de l'éditeur, chargement ect...). |
|
| |
??? Utilisateur confirmé: Rang ****
Messages : 1240 Localisation : NLG, 93
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 19:33 | |
| Super boulot déjà Juste, tu pourrais nous montrer l'image d'origine du terrain ? Entk je suis déjà fan, bonne chance =) |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 20:09 | |
| PS : dans un bumpmaping, on ne peut pas dire que "plus c'est foncé, plus c'est profond" sauf si on a donné une couche de niveau de gris correspondant aux couleurs à afficher comme info d'altitude.
Le bumpmaping, on peut ca comme une 4ème information [en plus du RVB habituelle], et cette valeur détermine la profondeur du pixel. La profondeur du pixel ne dépend pas des RVB sauf si on choisi que ce 4èmes canal soit égal au Rouge par exemple... On que l'on applique une corrélation avec le RVB pour déterminer le 4èmes canal.
PS : Les ombres de ta heightmap, tu les affiches par dessus, ou bien ton éditeur les faits fusionner avec la map originale ? |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 21:07 | |
| Alala, un jour faut vraiment que je me mette à la 3D mais je suis vraiment trop nostalgique (je préfère AgeOfEmpire 2 à AOE 3 ). |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 21:39 | |
| @ ??? : Merci beaucoup, et pour la heightmap là voilà : @ Topaze : Oui j'ai déjà pensé à faire un éditeur mais bon c'est long et plutôt compliqué à faire (surtout pour avoir une interface correcte et pour que le programme soit ergonomique). Après moi je veux bien coopérer avec TDT mais je sais pas si il voudra ^^ Et pour les ombres dont tu parles, elles sont rendues en temps réel grâce au système d'éclairage par polygone de GM, la texture appliquée sur le terrain ne comporte aucun ombrage. EDIT : D'ailleurs j'ai un peu amélioré la texture du terrain, je remettrais une screenshot bientôt (plus tard dans la soirée sans doute) et peut être une démo technique si j'arrive à finir à temps le script pour trouver la hauteur du terrain avec des coordonées (x,y). |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 22:06 | |
| Toutes les montagnes viennent de ce pauvre carré ? Pourtant ta heightmap est assez grande... |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 22:19 | |
| Bah un pixel en 2D et un pixel en 3D ne représentent pas forcément la même grandeur selon la proximité de la caméra avec l'objet :lng: Ma caméra est assez près du terrain donc il apparait assez gros ^^
De toute façon on peut régler la mise à échelle du terrain sur les axes x,y et z (pour x et y, on doit donner un coefficient (1 pour que le terrain garde sa taille par défaut) et pour z on donne la hauteur maximale du terrain (cad lorsque un pixel est complètement blanc sur la heightmap, il atteindra cette hauteur)). Et les normales du terrain s'adaptent automatiquement en fonction de tous ces paramètres. J'essaie de faire des fonctions le plus simple possible à utiliser, cad avec le moins d'arguments possible mais tout en restant assez paramétrable.
Screenshot mise à jour.
Edit : Au fait, la heightmap est l'image 2D qui sert à générer le terrain, pas l'inverse ^^ |
|
| |
??? Utilisateur confirmé: Rang ****
Messages : 1240 Localisation : NLG, 93
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 22:35 | |
| Merci, c'est vrai qu'elle est assez petite cette image, et j'ai donc du mal à retrouver les régions de l'image correspondant au relief (mais c'est pas le but loL).. Bon développement ^^ |
|
| |
ombre Utilisateur confirmé: Rang ***
Messages : 689 Localisation : Dans sa batcave.
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 22:39 | |
| C'est jolie mais bon, le gros problème c'est avec le moteur de game maker tu risques de pas allez très loin |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 22:46 | |
| En fait chaque pixel correspond à une hauteur sur le terrain, et cette taille d'image est la taille maximale pour avoir un terrain à la fois correct, rapide à charger et à afficher. Avec une image en 128*128, le temps de chargement du terrain (lorsque le programme génère le terrain) dure plusieurs secondes et mon processeur est utilisé à environ 80%, donc après y'a plus trop de puissance pour afficher d'autres choses à l'écran dans le cas d'un jeu, alors c'est pas top ^^ Enfin on peut aussi utiliser une image plus grande et réduire la qualité du terrain mais au final ça revient au même. Une fois que j'aurais fini la plupart des fonctions, je ferais un petit tuto qui expliquera comment utiliser chaque fonction, avec des petites astuces pour gagner du temps, etc, enfin bon j'y suis pas encore - Spoiler:
Et j'ai encore fait un grand post pour dire pas grand chose
EDIT : @ ombre : Bah, bien utilisé, on peut faire des trucs vachement bien rien qu'avec le moteur de GM. Sur yoyogames, j'avais trouvé des merveilles faites en 3D avec GM. :oui: |
|
| |
Boudou Utilisateur confirmé: Rang ***
Messages : 557 Localisation : Marseille Projet Actuel : Boudou
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 23:06 | |
| j'ai lu la premiere ligne et le spoiler |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Moteur de terrain 3D Jeu 19 Fév 2009 - 23:46 | |
| Bon j'ai uploadé une petite démo technique avant de partir en vacances ^^ Elles montre un terrain avec une boule qui se déplace dessus (le calcul de hauteur est un peu bricolé il faudra que je le reprogramme en mieux). Pour déplacer la caméra, utilisez les touches directionnelles, Z et S pour monter/descendre la caméra et pour changer la texture du terrain et activer/désactiver la lumière, les touches espace et entrée. lien : http://www.mediafire.com/?yiczvy0qgtmA dans 3 jours :nezrouge: |
|
| |
Invité Invité
| Sujet: Re: Moteur de terrain 3D Ven 20 Fév 2009 - 20:19 | |
| NICOULAS !!! madi caca arrête de faire des trucs magnifique avec gm :teacher: |
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: Moteur de terrain 3D Ven 20 Fév 2009 - 21:17 | |
| Cool, je pense que j'utiliserais ça dans me second opus de mon jeu, enfin faudrait d'abord que je sorte le premier |
|
| |
Magma_GoGo Utilisateur confirmé: Rang ***
Messages : 653
| Sujet: Re: Moteur de terrain 3D Sam 21 Fév 2009 - 13:23 | |
| Super, c'est déja du bon boulot Nicoulas, la texture est encore un peu baveuse, mais ca va. |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Moteur de terrain 3D Sam 21 Fév 2009 - 15:17 | |
| Texture et "angle" à améliorer, mais sinon, c'est énorme, je suis sur le ***. J'avais vu bien mieux avec la liquidlight engine, mais sinon, ta matrice pompe rien, malgré ses dizaines de milliers de vertex. |
|
| |
Invité Invité
| Sujet: Re: Moteur de terrain 3D Sam 21 Fév 2009 - 16:27 | |
| heu... je vous rappelle que c'est un moteur, la texture et autres trucs c'est optionnel |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Moteur de terrain 3D Dim 22 Fév 2009 - 16:32 | |
| Merci à tous pour vos réponses @ Shm : lol merci beaucoup =D @ Max : yay super ça me fait déjà un futur utilisateur potentiel @ Magma et Topaze : Comme l'as dit shm, j'ai fait une texture vite fait histoire de montrer le rendu, mais bien sûr elle est pas top (c'est une petite texture en 256*256 donc normal que ça fasse 'flou'). Pour Topaze, j'ai vu aussi liquidlight, c'est vrai que c'est un excellent éditeur de terrain, en plus l'interface et clean et ergonomique, c'est super. De toute façon je compte pas rivaliser, je veux juste faire un truc avec un assez bon rendu et le plus simple possible à utiliser . Sinon qu'est ce que tu entends par "angle à améliorer" ? |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Moteur de terrain 3D Dim 22 Fév 2009 - 16:55 | |
| Je prend la converation en route, mais ça me dérange pas de coopérer avec toi . Je te propose deux choses : - soit tu fait un script pour charger mes fichiers (un peu pas pratique car mes fichiers font subir un remaniement de fond en comble) - soit tu me donne la description de ton fichier et je fait en sorte que mon éditeur puisse exporter ses maps dans ton format (bien meilleur idée) après, si t'a besoin d'aide, je suis OK EDIT : voilà un screen de la version actuelle (juste pour info, ma matrice fait 8*8 ...) mon éditeur exporte déjà en BMP soit dit en passant ... |
|
| |
Contenu sponsorisé
| Sujet: Re: Moteur de terrain 3D | |
| |
|
| |
| Moteur de terrain 3D | |
|