AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Moteur de terrain 3D

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2, 3, 4, 5, 6, 7, 8, 9  Suivant
AuteurMessage
nicoulas
*Excellent utilisateur*


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense

MessageSujet: Moteur de terrain 3D   Mer 18 Fév 2009 - 13: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' tord

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 : mediafire.com ?f5kwmmtk5nw
Lien vers l'exe (pour ceux qui ont GM6 ou une version non enregistrée de GM) : mediafire.com ?m05ztmwtfqz

Niveau 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 Dim 26 Avr 2009 - 22:25, édité 6 fois
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
Magma_GoGo
Utilisateur confirmé: Rang ***


Messages : 653

MessageSujet: Re: Moteur de terrain 3D   Mer 18 Fév 2009 - 13:49

Bah, c'est très bien Nicolas. super
Revenir en haut Aller en bas
bibi675
Utilisateur confirmé: Rang *****


Messages : 2456
Localisation : Oise
Projet Actuel : Jeu par navigateur original

MessageSujet: Re: Moteur de terrain 3D   Mer 18 Fév 2009 - 14:42

Yeah, Nicoulas a un nouveau projet ! noel
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 ! happy1

_________________
Revenir en haut Aller en bas
Topaze22
*Excellent utilisateur*


Messages : 6213
Localisation : Sur la Lune
Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World

MessageSujet: Re: Moteur de terrain 3D   Mer 18 Fév 2009 - 15: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 !

_________________
Topique pour le Projet Hello Mario en préparation.
Sorti du topique lorsque la première démo sera disponible.
Revenir en haut Aller en bas
robotic76
*Excellent utilisateur*


Messages : 4841
Localisation : Le Havre, Normandie
Projet Actuel : Binär

MessageSujet: Re: Moteur de terrain 3D   Mer 18 Fév 2009 - 16:01

mais c'est que Nicoulas est en train de devenir un poaro de la 3d sur game maker
ohmondieu mais c'est terrible heheh
Revenir en haut Aller en bas
edi9999
Utilisateur confirmé: Rang *****


Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

MessageSujet: Re: Moteur de terrain 3D   Mer 18 Fév 2009 - 16:10

:snif2: snif
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:
 

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/
Revenir en haut Aller en bas
http://gameplay.c.la/
nicoulas
*Excellent utilisateur*


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense

MessageSujet: Re: Moteur de terrain 3D   Mer 18 Fév 2009 - 17:50

Lol merci à tous ^^

@robotic : lol poaro heheh

@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 ? tord
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
bibi675
Utilisateur confirmé: Rang *****


Messages : 2456
Localisation : Oise
Projet Actuel : Jeu par navigateur original

MessageSujet: Re: Moteur de terrain 3D   Mer 18 Fév 2009 - 19:45


C'est pourtant pareil que toi, plus c'est foncé plus c'est profond...

_________________
Revenir en haut Aller en bas
Topaze22
*Excellent utilisateur*


Messages : 6213
Localisation : Sur la Lune
Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World

MessageSujet: Re: Moteur de terrain 3D   Mer 18 Fév 2009 - 20: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 ^^

_________________
Topique pour le Projet Hello Mario en préparation.
Sorti du topique lorsque la première démo sera disponible.
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense

MessageSujet: Re: Moteur de terrain 3D   Mer 18 Fév 2009 - 23: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 ^^). tord

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).
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
bibi675
Utilisateur confirmé: Rang *****


Messages : 2456
Localisation : Oise
Projet Actuel : Jeu par navigateur original

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 16:26

Ok merci de m'avoir expliqué ! :fier:

_________________
Revenir en haut Aller en bas
Topaze22
*Excellent utilisateur*


Messages : 6213
Localisation : Sur la Lune
Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 18: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...).

_________________
Topique pour le Projet Hello Mario en préparation.
Sorti du topique lorsque la première démo sera disponible.
Revenir en haut Aller en bas
???
Utilisateur confirmé: Rang ****


Messages : 1240
Localisation : NLG, 93

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 18:33

Super boulot déjà super
Juste, tu pourrais nous montrer l'image d'origine du terrain ?
Entk je suis déjà fan, bonne chance =)
Revenir en haut Aller en bas
Topaze22
*Excellent utilisateur*


Messages : 6213
Localisation : Sur la Lune
Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 19: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 ?

_________________
Topique pour le Projet Hello Mario en préparation.
Sorti du topique lorsque la première démo sera disponible.
Revenir en haut Aller en bas
bibi675
Utilisateur confirmé: Rang *****


Messages : 2456
Localisation : Oise
Projet Actuel : Jeu par navigateur original

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 20: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 coeur ).

_________________
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 20: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. tord

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).
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
bibi675
Utilisateur confirmé: Rang *****


Messages : 2456
Localisation : Oise
Projet Actuel : Jeu par navigateur original

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 21:06

Toutes les montagnes viennent de ce pauvre carré ? Pourtant ta heightmap est assez grande...

_________________
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 21: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 ^^
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
???
Utilisateur confirmé: Rang ****


Messages : 1240
Localisation : NLG, 93

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 21: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 ^^
Revenir en haut Aller en bas
ombre
Utilisateur confirmé: Rang ***


Messages : 689
Localisation : Dans sa batcave.

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 21:39

C'est jolie mais bon, triste le gros problème c'est avec le moteur de game maker tu risques de pas allez très loin
Revenir en haut Aller en bas
http://www.3arks.com
nicoulas
*Excellent utilisateur*


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 21: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 tord

Spoiler:
 

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:
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
Boudou
Utilisateur confirmé: Rang ***


Messages : 557
Localisation : Marseille
Projet Actuel : Boudou

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 22:06

j'ai lu la premiere ligne et le spoiler ange
Revenir en haut Aller en bas
http://moongaming.idoo.com/
nicoulas
*Excellent utilisateur*


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense

MessageSujet: Re: Moteur de terrain 3D   Jeu 19 Fév 2009 - 22: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 : mediafire.com ?yiczvy0qgtm


A dans 3 jours :nezrouge:
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
sachem
­Capitaine Star


Messages : 15495
Projet Actuel :


MessageSujet: Re: Moteur de terrain 3D   Ven 20 Fév 2009 - 19:19

NICOULAS !!! colere2
madi caca arrête de faire des trucs magnifique avec gm :teacher:

_________________
Revenir en haut Aller en bas
http://host-a.net/u/shm31/
Mass
*Excellent utilisateur*


Messages : 3313
Localisation : Dans une canonnière wookie.
Projet Actuel :
Wyvup
SpaceShift
Centauri-France


MessageSujet: Re: Moteur de terrain 3D   Ven 20 Fév 2009 - 20:17

Cool, je pense que j'utiliserais ça dans me second opus de mon jeu, enfin faudrait d'abord que je sorte le premier
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
Magma_GoGo
Utilisateur confirmé: Rang ***


Messages : 653

MessageSujet: Re: Moteur de terrain 3D   Sam 21 Fév 2009 - 12:23

Super, c'est déja du bon boulot Nicoulas, la texture est encore un peu baveuse, mais ca va.

super
Revenir en haut Aller en bas
Topaze22
*Excellent utilisateur*


Messages : 6213
Localisation : Sur la Lune
Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World

MessageSujet: Re: Moteur de terrain 3D   Sam 21 Fév 2009 - 14: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.

_________________
Topique pour le Projet Hello Mario en préparation.
Sorti du topique lorsque la première démo sera disponible.
Revenir en haut Aller en bas
sachem
­Capitaine Star


Messages : 15495
Projet Actuel :


MessageSujet: Re: Moteur de terrain 3D   Sam 21 Fév 2009 - 15:27

heu... je vous rappelle que c'est un moteur, la texture et autres trucs c'est optionnel

_________________
Revenir en haut Aller en bas
http://host-a.net/u/shm31/
nicoulas
*Excellent utilisateur*


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense

MessageSujet: Re: Moteur de terrain 3D   Dim 22 Fév 2009 - 15:32

Merci à tous pour vos réponses tord

@ 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 Smile. Sinon qu'est ce que tu entends par "angle à améliorer" ?
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
[TheDarkTiger]
Modérateur


Messages : 7365
Localisation : Essonne

MessageSujet: Re: Moteur de terrain 3D   Dim 22 Fév 2009 - 15: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 super

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 ...

_________________
Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^
l'antique http://www.membres.lycos.fr/thedarkminousite/
Bienvenue au 2484eme utilisateur : alphak01 !
Revenir en haut Aller en bas
http://www.membres.lycos.fr/thedarkminousite/
Contenu sponsorisé




MessageSujet: Re: Moteur de terrain 3D   

Revenir en haut Aller en bas
 
Moteur de terrain 3D
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 9Aller à la page : 1, 2, 3, 4, 5, 6, 7, 8, 9  Suivant
 Sujets similaires
-
» Moteur de terrain pour un jeu comme Populous?
» Moteur de terrain 3D
» Moteur physique dans AE
» [Fermé] MOTEUR DE RECHERCHE LO.ST
» [moteur] humain en 3D +ville

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Informations :: Projets-
Sauter vers: