laboratoire 3D

Généralités sur la programmation 3D
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

laboratoire 3D

Message par comtois »

un fourretout 3D , dans lequel j'expérimente différentes choses .
au départ je pensais faire un jeu de course ,pis rapidement , c'est devenu un jeu de tir.
J'expérimente aussi la gestion de deux cameras , pour passer du mode une camera , à deux cameras , changez la valeur de la variable
Ecran
Ecran=1 > Une camera , prévu pour jouer contre l'ordi si je fais une IA un jour :?
Ecran=2 > Deux cameras , mode deux joueurs

Touches utilisées
Joueur(#Joueur1)\ToucheBas=#PB_Key_A
Joueur(#Joueur1)\ToucheHaut=#PB_Key_Q
Joueur(#Joueur1)\ToucheGauche=#PB_Key_J
Joueur(#Joueur1)\ToucheDroite=#PB_Key_L
Joueur(#Joueur1)\ToucheTir=#PB_Key_K

Joueur(#Joueur2)\ToucheBas=#PB_Key_Down
Joueur(#Joueur2)\ToucheHaut=#PB_Key_Up
Joueur(#Joueur2)\ToucheGauche=#PB_Key_Left
Joueur(#Joueur2)\ToucheDroite=#PB_Key_Right
Joueur(#Joueur2)\ToucheTir=#PB_Key_RightControl
http://perso.wanadoo.fr/comtois/sources/Racing3D.zip

il va falloir que j'ajoute des particules pour améliorer l'effet de tir et d'explosion.

Finalement les deux éditeurs que j'ai commencé m'ont servis pour faire la map , va falloir que je regroupe les deux en un , ça sera plus pratique :P
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Super Comtois , vraiment génial , la je suis en train d'apprendre l'OpenGL en C++ je reviendrai vers Pure Basic plus tard :) @++
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

C'est l'éditeur que j'utilise pour faire la map 3D.
Il est loin d'être fini , mais on peut déjà modifier la map de la démo ci dessus.

http://perso.wanadoo.fr/comtois/sources ... atrice.zip

Dans la procédure MakeCircuit()
il faut mettre en commentaire ( ou la supprimer ) la ligne en rouge .
Sinon les modifications de texture avec l'éditeur seront écrasées .
For z=0 To 17
For x=0 To 24
;Couche circuit
noc=TabMap(0,x,z)
If noc=23 : No=2:EndIf ; pave
If noc=21 : No=3:EndIf ; gravier
If noc=22 : No=1:EndIf ; mur
;M3D_TextureFacette(#Circuit,x,z,No) <<<désormais j'utilise l'éditeur de matrice
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Invité

Message par Invité »

une autre bricole , je la mets là pour ne pas trop encombrer :)

http://perso.wanadoo.fr/comtois/sources/chenille.zip
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

une autre bricole , je la mets là pour ne pas trop encombrer

http://perso.wanadoo.fr/comtois/sources/chenille.zip


PS : est-ce qu'un modo peut supprimer le post précédent ? je pensais que j'étais connecté :?
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

C'est amusant, par contre quand on dépasse la vingtaine de boulle ça ralenti énormémment :cry: , enfin ça reste fluide mais la chenille n'avance plus très vite
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

J'aime bien l'onde de choc qui se propage lorsque l'on cogne une autre boule :D
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Oliv a écrit :C'est amusant, par contre quand on dépasse la vingtaine de boulle ça ralenti énormémment :cry: , enfin ça reste fluide mais la chenille n'avance plus très vite
je ne suis pas sûr , mais je crois que c'est une impression .
en fait , j'éloigne la caméra au fur et à mesure que la chenille grossit .
tu as une impression de ralentissement , mais la vitesse est la même .
pour en être sûr , j'ai modifié le code ,maintenant il est possible d'afficher le FPS avec la touche [F4] ; dis moi si tu constates un ralenti ?
Et puisque l'éloignement de la caméra donnait cette impression , j'ai changé le mode de gestion pour la caméra , il est désormais possible de changer de vue avec [F1] et [F2] , mais aussi de régler la distance avec
le pavé numérique touche [2] et [5] , et la hauteur avec [3] et [6].

J'ai fait un essai avec une chenille de 600 boules ( dans le code que tu as testé il n'y a que 350 boules en tout ), et effectivement , j'ai pu constaté un début de ralentissement .
Mais bon , une sphère fait 164 triangles, alors 600*164=98400 triangles, ça commence à faire du monde !Et je n'avais un ralentissement que lorsque j'avais les 600 sphères affichées à l'écran , c'est à dire avec la caméra suffisamment éloignée pour visualiser l'ensemble des boules .

Voici le nouveau code , dans celui ci il n'y a que 350 boules à ramasser
http://perso.wanadoo.fr/comtois/sources/Snake3Ddemo.zip
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Hé Comtois c'est génial ton jeux , fais un menus des challenge est tout sa :) .
Invité

Message par Invité »

faire des niveaux jouables et avec une difficulté progressive c'est trop dur pour moi , je ne sais pas faire ça :?

Faudrait que je trouve un associé :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

je pensais qu'un invité ne pouvait pas poster ici ?? 8O
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

l'invité c'était moi ,je n'ai pas fait attention, en principe on ne peut pas poster si on est pas connecté :?

Sinon , autre petite bricole , j'ai ajouté une fonction dans la lib M3D_Matrix3D:

M3D_CreateTerrain(NoMatrice, Hauteur,Intensité)
Hauteur de 1 à 255
Intensité , je ne sais plus si j'ai limité , mais ça devrait être entre 1 et 6 , au delà , ça aplatit tout :)

Dans la démo qui suit , j'utilise la hauteur des vertex pour les colorer.

http://perso.wanadoo.fr/comtois/sources/demoTerrain.zip
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Répondre