Salut, je voudrais savoir si il y en a parmi vous qui ont déjà réalisé des jeux 3D en C++. Si c´est le K, j´aimerais avoir des screens, et que vous disiez en quelques mots les outils que vous avez utilisé: modélisation, exportation si il y a lieu, moteur 3d, moteur de colision, outil pour les sons et les musiques etc...^^ Bon pas la peine de rentrer dans trop de détails, mais je n´arrête pas d´être découragé dès que je pense avoir trouvé une solution pour réaliser de vrais jeux 3d:
[Intermède musical du gars qui vois tous ces espoirs réduits à néants]
Quand j´ai eu connaissance de DarkBasic(3D Games Creator), je me suis empressé de l´acheter, mais j´ai rencontré des problèmes de texturage à la conversion de mes modèles en .X (date d´il y a 3 ou 4 ans)
Puis récemment après avoir commencé à modéliser sous Blender, tout content d´avoir trouvé un soft de modélisation 3D GRATUIT, j´ai eu connaissance du moteur 3d Ogre et d´une façon d´exporter mes modèles blender vers Ogre.
Mais (eh oui, il y a toujours un mais) il s´avère que je rencontre encore des problèmes de texturages à l´exportation de mes modèles...
C´est l´une des raisons qui me pousse à créer ce topic, en clair je recherche des solutions pour arriver enfin à réaliser un vrai projet avec de vrais outils, je n´aimerais pas avoir à créer et à texturer mes modèles directement avec le moteur 3D, ça limiterais beaucoup trop les possibilités (C mon avis).
Et puis ce post pourrait servir à ceux qui galèrent un peu comme moi, non pas qu´il n´existe pas de solutions, mais le couple blender ogre me paraissait très sympa étant donné que je n´ai pas suffisamment de ressources pour m´investir dans un 3dsMax ou autre Maya etc, ni dans un moteur 3D dernière génération comme par exemple ceux utilisés pour FarCry, Half Life 2 et autres Doom 3 et Quake 4...
Merci à ceux qui auront la patience de lire ce message et à ceux qui y répondront ^^
A bon entendeur salut!
Je vois que tout le monde est au pays des songes, ben vous répondrez demain...Eh oui, le décalage horaire
Je vais bientôt venir vous rejoindre.
lol , c´est clair qu´a cette heure ci tout le monde dort. et pourquoi ne pas essayé 3dsmax?
Ben déjà parsque 3dsmax coûte un max ^^ et puis j´aime bien blender, son caractère [gratuit], simple à prendre en main et sa modélisation vectorielle.
Mais pour en revenir à ce que je disais, il ne s´agit pas uniquement de la modo 3D, donc ne perdez pas le fil du sujet ![]()
Salut !
Tu demandes ceux qui ont déja programmé des jeux 3D en C++. Je peux donc te répondre oui ![]()
Pour voir ce que j´ai fait, regarde ma carte, pour mon site, et tu vas dans "mes programmes"
Personnellement, j´ai utilisé OpenGL pour faire mes petits jeux. Je n´ai, bien sur, pas tout modélisé en hard.
Pour le jeu de canyon, le vaisseau a été modélisé grace a 3DSmax, et nous avons (moi et mon binome) scripté la sortie pour faire un format facile a relire en C++.
Apres, rien ne t´empeche de relire n´importe quel type de formats, ou de les parser toi meme :
De toute évidence, pour un objet statique, il te suffit de :
- un vertex Array
- les normales au sommet
- les coordonnées u,v de correspondance pour la texture
- la texture (qui peut etre stocké sous forme d´un simple BMP)
En ce qui me concerne, je suis en train d´en faire un.
Je code en Cpp et j´utilise OPENGL. Pour les modèles et les levels, Blender est parfait.
Par contre je n´utilise aucun moteur 3d deja fait. Je le crée moi meme.
Si tu veux utiliser un moteur 3d, y a soit OGRE, soit Crystal Space ( il contient une lib 3ds qui je pense te permettra d´inclure tes modeles texturé), y a aussi Cube (basé sur le moteur de Quake2, que pour les FPS :s ).
Ensuite ben tu code generalement en cpp. Si tu veux faire tn propre moteur 3D, tu peux utiliser OPENGL ou DirectX.
Pour le son je ne connais que OPENAL qui apparament est tres efficace (utilisé pour battlefield)
Et puis ben a coté de tt ca, faut avoir de la patience, ne pas se decourager et etre bien organisé.
Bon courage ;)
JeanYvesYves: "Regarde ma carte", j´aimerais bien mais elle est ou?
(je suis nouveau sur le forum). Si tu pouvais balancer un lien pour ton site ce serait sympa.
Je n´ai pas encore vu tes jeux mais pour les textures, est-ce que 3dsmax te permet d´exporter la texture entière du vaisseau dans un seul fichier automatiquement? Parsque mes modèles (comme les tiens je présume) utilisent plusieurs textures en fonction de leurs parties, et je ne sais pas si Blender permet de faire une telle chose mais je ne crois pas.
De plus avec Blender, une fois que je joins toutes les parties de mon objet en une seule de façon à pouvoir l´exporter, il me fait n´importe quoi au niveau des textures:
Voici ainsi mon robot en version multimesh (jcrois que je viens d´inventer un mot ^^):
http://img107.imageshack..us/my.php?image=robot23hp.jpg
Et le même après avoir joint tous les objets:
http://img247.imageshack.us/my.php?image=robot2bis5kc.jpg][img=http://img247.imageshack.us/img247/4899/robot2bis5kc.th.jpg
Et j´i juste parlé des textures, je n´ai même pas parlé des matériaux, enfin ça c´est un autre problème à résoudre.
Pour l´instant la seule solution que je vois c´est d´exporter chaque partie du modèle et ensuite assigner les textures correspondantes et réassembler les parties du modèle, mais ce sera long et fastidieux sans compter qu´il ne s´agiera pas seulement d´exporter des modèles statiques mais aussi animés...
gamerome: C sérieux ce que tu dis cette fois?
![]()
Si c´est le cas comment te débrouilles-tu avec les modèles blender et les textures, car apparemment c´est blender qui ne les exporte pas (je fais encore des recherches sur le sujet).
Sinon pour le son et la musique, je ne parlais pas des bibliothèques, mais des logiciels qui permettent d´en faire ![]()
Je ne me décourage pas mais je trouve que j´investit beaucoup de tps à rechercher la façon d´arriver à mes fins sans trouver de résultat, car après ben va falloir coder, modéliser, composer et assembler!
http://perso.numericable.fr/~fvirtman
(http://www.fvirtman.fr.st)
pour la carte apuye simplement sur le point dinterogation !
PS : le point dinterogation est a coté du pseudo^^
Un point d´interrogation à côté du pseudo ![]()
Ah ouii je vois, sur ma machine il faut le mettre en surbrillance parsqu´il est tout gris...Non j´déconne je n´y avais pas fait attention
JeanYvesYves: Je ne sais pas si je me trompe, mais j´ai l´impression que ton vaisseau ne comporte pas de textures (juste des couleurs) ou alors des textures pas très complexes. J´espérais de ce post des jeux mettant en jeu beaucoup plus de moyens (sans vouloir minimiser ton travail), mais tout ce qui démontre les possibilités de la réalisation d´un jeu en 3D avec le c++ est le bienvenu. Je testerai ton jeu une fois que j´aurai fini de le télécharger avec mon misérable 56k...
![]()
Pour tous les autres ne soyez pas timides, même si votre jeu est commercial du moment que vous proposez même une démo et que vous parlez un peu des moyens que vous avez utilisés.
Mon vaisseau est texturé, mais le BMP de texture est fait a l´arrache...
"J´espérais de ce post des jeux mettant en jeu beaucoup plus de moyens"
--> Mettre + de moyens m´aurait demandé passer + de temps sous... Paint !!
Ce qui ne m´intéresse absolument pas.
T´inquiète c´était pas une critique, le topic est la pour ceux qui ont déjà fait leurs jeux, je ne demande à personne de se replonger dans son projet pour le rendre plus haut de gamme!
il est loin d´etre haut de gamme et il ne le sera jamais
mais il me plait a moi.
il n´y a pas que le c++ :p
perso je fais un moteur 3D en vb.net+directx
http://tzu3d.tk
pour convertir en .x j´utilise milkshape, un petit prog 3d qui convertie dans plein de format.
GianT oui oui je suis serieux cette fois ci :D
En fait moi j´exporte au format OBJ grace a Blender mais le fichier que je recupere n´inclut pas les textures. C´est moi meme qui l´inclut par un bidouillage enfin bref...
Sinon tt simplement, grace a 3dsMax tu exportes tn modele en .3ds qui gère les textures, leurs coord, mais aussi tout plein d´autres trucs comme la lumiere , les normales, le must quoi.
Enfin avec un bon loader 3ds, tu peux charger ton modele texturé ^^
Hum...
Tu utilise Blender et tu programmes en C++? C´est exactement ce qui m´interresse, dis donc ! Bon, je sais pas exactement au sujet de ton moteur 3D vu que j´en ai jamais utilisé un (le c++, c´est encore les débuts chez moi...). Par contre, au sujet de Blender, je vais peut être pouvoir t´aider. Ce qui suit marche seulement si tu exporte en .X
-> exportation de modèle texturé en .x
d´abors, tu dois savoir une chose : on ne peut pas exporter les matériaux avec Blender en .x (du moins pas à ma connaissance...). Donc abandonne cette technique si tu veux créer des jeux. Tu peux toutefois garder ceci pour les cinématique. La technique que je te propose pour le texturage de ton modèle est une forme améliorée d´UV texturing. Si tu ne sais pas ce qu´est l´UV texturing, sache qu´il s´agit d´une technique qui consiste à appliquer une texture par face sur la figure. Bon, ça c´est la version "simple" de l´UV texturing. Maintenant, Blender te permet (depuis la version 2.34) d´utiliser une seul texture pour texturer tout le mesh. En gros, tu dois déplier le mesh, pour en créer le développement 2D. Ensuite, tu exporte l´image, tu dessine dessus, et tu l´utilise comme texture. Ainsi, tu te retrouve au final avec :
-1 fichier.x
-1 texture
Pas mal pour les jeux. Si tu ne sais pas comment unwrapper (=déplier) le mesh, va voir ce site :
http://www.blender.org/modules/documentation/htmlI/x5336.html
malheureusement, il est en anglais, mais c´est le plus complet. Tu peux essayer de lire et de comprendre l´essentiel. Cependant, je suis moi-même entrain d´essayer de comprenre comme faut faire pour bien unwrapper, donc je cherche d´autres tutos similaires. En attendant, c´est le seul que je connais.
Bon, là on pourrait se dire : Bon, on a notre modèle, on a notre texture, il suffit d´exporter en .x... En réalité, Blender a un petit caprice : il exporte bien toutes les coordonées UV (elles servent à dire comment placer l´image), mais pas le nom de l´image elle-même... Mais je me suis que ça devait quand même pas être inutilisable. Alors, j´ai ouvert le fichier .x dans mon bloque note, et j´ai commencé l´exploration du fichier. Heureusement, j´avais un autre fichier .x, lui aussi texturé, mais par quelqu´un d´autre, et qui marchait! Alors j´ai un peu cherché, et j´ai fini par trouver ce qui jouait pas... Enfait, Blender saute les quelques lignes qui donnent le nom de la texture. Il suffit de les rajouter !
Je te donne la marche à suivre dans un petit moment... Le temps que j´aille regarder sur le poste où j´ai installé Blender...
Voilà le truc:
-t´ouvres ton fichier .x dans le bloc-note.
-tu fais Edition->rechercher et tu entre comme mot-clé
´Material Material {´ (apostrophes non compris).
tu descends, et quand tu vois les deux deux }}, tu regardes.
tu vas devoir taper :
TextureFilename {
"cube.bmp";
}
entre les dernières données de Material Material, et juste avant les duex accolades fermantes }}. Voilà un exemple. Ici, j´ai créé un cube. Je l´ai texturé comme expliqué plus haut, et je l´ai exporteé en .x. Sous original, tu peux voir un petit passage du fichier .x original, et sous modifié le fichier final que je vais utiliser dans mon jeu.
original :
Material Material {
0.756191134453; 0.756191134453; 0.756191134453;1.0;;
0.5;
1.0; 1.0; 1.0;;
0.0; 0.0; 0.0;;
}
}
modifié :
Material Material {
1.0; 1.0; 1.0;1.0;;
0.5;
1.0; 1.0; 1.0;;
0.0; 0.0; 0.0;;
TextureFilename {
"cube.bmp";
}
}
}
Voilà, j´espère que ça t´aidera un peu !
Sinon, t´as appris où à te servir d´un moteur 3D comme ogre? T´as lu quels tutos sur le C++?
(remplace cube.bmp par le nom de ta texture)
Wouaah, super Qosimo, merci pour le lien je me demandais justement comment faire ces textures!
Bon ben je vais regarder ça dès que j´aurai le temps, en attendant je sauve ce tuto dans mes archives... ![]()
Ben en fait je ne suis qu´un débutant sous Ogre, je suis actuellement entrain d´éplucher la doc officielle sur le site (en anglais, mais ça ne me pose pas énormément de problèmes), de façon à voir si c´est une bonne soluce de développer dessus:
il y a plusieurs tutoriels sur le site, du niveau débutant au niveau intermédiaire. Là je les prends un à un, même si c´est toujours chiant d´apprendre comment utiliser telle ou telle chose (j´ai envie de passer à l´étape supérieure, cad la phase de développement du jeu), mais c´est un passage forcé pour exploiter pleinement le potentiel du moteur.
donc là, j´envisage de suivre tous les tutos présents sur le site et de voir comment ogre gère les modèles 3D, leurs animations même si je n´ai rien encore animé dans Blender. J´ai un peu mis la modo de côté pour étudier Ogre, car je pense que c´est le meilleur moyen de savoir comment modéliser par rapport au moteur...
Alors pour le C++ lui même, euh...ben personnellement je te conseillerais d´apprendre déjà le C (au cas où tu ne connaitrais pas encore). C´est beaucoup plus simple que le c++. Personnelemment, j´ai appris par moi-même avec des tutos péchés sur le net, et j´ai ensuite eu quelques petits compléments en cours (Deug MIAS, Iup informatique).
Je pense que tu peux trouver des tutos sur www.developpez.com pour le C et le C++, par contre ne prends pas celui du créateur du c++ (G oublié son nom), car il contient trop de notions abstraites à mon goût et même, en fait ce n´est pas du tout un tutorial...
Au fait, je voulais revenir sur ce que tu as dis, qu´en .x tu ne pouvais pas exporter les matériaux. Ben en exportant en xml, d´après la description du plugin, on peut exporter avec les matériaux et même les textures uvmappées, enfin voila ce qui était marqué:
* BlenderExport - Exports meshes and armatures
o UV mapped textures, many material settings, armatures and animations are exported
D´après le lien que tu m´as donné, si j´ "uvmappe" mes modèles, je devrais pouvoir retrouver mes textures arrivé sous Ogre (sauf erreurs d´exportation comme j´en rencontre...). Mais ce serait le bout du tunnel!
(enfin le bout du premier tunnel)
Tiens voici les liens pour les tutos:
o Doc officielle: http://www.ogre3d.org/wik/wiki/index.php/Ogre_Tutorials
o J´avais oublié d´en parler, la communauté francophone d´Ogre: www.ogre-fr.net :
http://ogre-fr.net/modules.php?name=Content&pa=list_pages_categories&cid=1
Mais en ce moment il est impossible de s´enregistrer sur Ogre-fr, ce qui me fou les boules...