CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

creation de jeux 3D pour newbies

delf__ar
delf__ar
Niveau 7
20 juillet 2006 à 14:42:16

moi, je dirais plutot :
partie programmation :
1)choisir son langage de prog(c/c++,...)
2)choisir son moteur(openGL, directX,...)
3)choisir son format de fichier 3D(3DS, obj,...)
4)trouver ou creer un importeur pour ce format de fichier
5)choisir comment gerer ses collisions(bounding box, pixel perfect 3D(oui, c´est possible, je peux vous expliquez si vous voulez))
6)creer ses fonctions qu´il faudra utiliser(exemple : effet d´eau, de transparance,...)
7)en option : creer son format de map et un editeur(c´est ce que je fait pour mon projet)
8)gestion des entités : creer des persos par exemple, permettre de lier des actions a differentes choses qui leur arrive(perdre de la vi, voir un ennemis,...)
9)ajouter des actions dans le jeu(exemple : bounding box d´action)
10)creer une histoire et la charger(des images ou des videos(lib VFW par exemple)
11)ajouter de la musique(lib FMOD par exemple)

autre :
creer les objets 3d, les map
creer la musique
creer une histoire
...

lesatan
lesatan
Niveau 6
20 juillet 2006 à 22:16:45

merci delf_ar peut tu me dire ce que c une boulding box concretement?

Pxnet
Pxnet
Niveau 3
20 juillet 2006 à 23:36:40

Oui on m´a recemment parlé de bounding box. Je sais que ca sert pour les collisions, mais apparement pas pour les collisions penchées... Mon systeme de collisions maison pour NDoom à l´air plus puissant :D

charkutor
charkutor
Niveau 8
20 juillet 2006 à 23:44:51

C´est quoi la traduction littéraire de bounding box ? Boite ... ? Tu pourrai peut être tirer une conclusion de la traduction française :P

delf__ar
delf__ar
Niveau 7
21 juillet 2006 à 22:49:28

un bounding box est un cube qui permet de calculer facilement une collision :
on englobe un objet complexe dans un cube, ensuite, il n´y a plus qu´a qu´a calculer facilement les collisions.

un exemple :
cube positionné en (0.0,0.0,0.0) et de taille (10.0,2.0,10.0)

: on a donc une collisions si on se trouve entre 0.0 et 10.0 de X, 0.0 et 2.0 de Y, 0.0 et 10.0 de Z
cela est bien sur tres simple a utiliser et a l´avantage de pouvoir etre cree automatiquement a partir des coordonnees des points(minimum et maximum de chaque coordonnee)

par contre, cela a de gros desavantages : on peut avoir des bugs de collision pour les objets complexes : exemple : un objet perce ne permettra pas de passer a l´endroit ou il est perce

si on les place manuellement, c´est beaucoup plus efficace mais plus long

une autre technique comme celle de pxnet est de calculer une equation du type y = m*x+p avec les angles, cela est un peu plus long et plus complexe mais permet de faire des effet sympa : collision correcte avec un mur non parrallele aux axes

une technique tres efficace que j´ai invente(meme si j´imagine que ca devait deja exister) est le pixel perfect 3D :
il faut choisir une echelle et dessiner l´objet 3D dans un buffer sous 3 positions differentes(du haut(en utilisant juste les axes XZ), et des 2 cotes (XY et ZY) et de faire un pixel perfect entre les 3 buffers et la position du joueur.

bien sur, comme vous pouvez l´imaginer, cette technique est lente, ou demande un prechargement(vous pouvez aussi precalculer dans des fichiers mais cela risque d´etre gros), cette technique doit etre combinee a un bounding box.

avantages : si on fait attention en creant les objets 3D, cela peut etre tres pratique et les collisions sont de meilleure qualite.

malgre tout, je ne recomande pas cette technique.

le mieu, selon moi, est les bounding box ou bien la technique de pxnet(que l´on pourrais aussi etendre pour le gerer avec les 3 axes meme si elle est tres bien comme ca)

Lapintade
Lapintade
Niveau 30
22 juillet 2006 à 11:40:12

"Bounding box" = "Boite englobante".

Quand on gere des collision on utilise souvent des formes simples pour representer un objet complexe : Spheres / Rectangles.

Les shperes c´est le plus simple a utiliser car elles ont pas d´orientation. C´est juste un point et un rayon. Pour calculer l´intersection, on calcul juste la distance entre les deux centres de deux spheres et on compare avec la taille de la somme des rayons.

Pour les rectangles, on peut choisir de les aligner avec les axes, ou alors de leur donner une orientation

"AABB" = "Axis Aligned Bounding Box" = "Boite Englobante orienté sur les axes". Elle ne tourne pas, elle fait juste se deplacer avec l´objet. Les calculs sont simples, mais ca englobe plus ou moins bien l´objet qui lui peu tourner dans certains cas.

"OBB" = "Oriented Bounding Box" = "Boite Englobante Orienté". Meme chose que AABB mais elle peut tourner dans tous les sens. Pour faire la collision entre deux OBB, c´est donc un peu plus dur et il faut utiliser un algo special (test axes separés).

Gamerome
Gamerome
Niveau 8
22 juillet 2006 à 12:28:21

"2)choisir son moteur(openGL, directX,...) "
:d) Ce sont des lib graphiques pas des moteurs... Crystal Space, Ogre sont des moteurs 3D.

charkutor
charkutor
Niveau 8
22 juillet 2006 à 12:51:48

C´est pas plutot une lib crystal space ?

Gamerome
Gamerome
Niveau 8
22 juillet 2006 à 12:56:08

non c´est bien un moteur 3D

Lapintade
Lapintade
Niveau 30
22 juillet 2006 à 12:58:31

La notion de "lib" ou de moteur est assez difficile a definir, puisqu´une lib n´est qu´un ensemble de fonction, tout comme un moteur.
Le moteur 3D que j´utilise (GameIncubator) est fourni sous forme de lib :)

Un "moteur" c´est un truc qui facilite la vie du programmeur, mais c´est le but de chaque lib. Donc "moteur" ou "lib", la frontiere est floue.

Lapintade
Lapintade
Niveau 30
22 juillet 2006 à 12:59:15

Sinon CrystalSpace est bien un "moteur 3D". Va voir dans la FAQ->Moteurs pour voir la liste des moteurs 3D

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment