Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Aide sur les fonctions 3D | |
| | |
Auteur | Message |
---|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Aide sur les fonctions 3D Ven 17 Aoû 2012 - 11:56 | |
| bonjour à tous ! je suis actuellement à la découverte des fonctions 3D j'essaye de construire 4 faces d'un cube avec des textures (ca j'ai trouvé), mais le probleme réside dans le positionnement de chacune des 4 faces car ensuite je souhaite les faire tourner les les 3 axes. Je sais certains me diront qu'il existe la fonction 3d_cube mais on ne peut appliquer qu'une couleur . Alors que moi je souhaite avoir 6 faces avec 1 couleur differente sur chaque. Quelqu'un a-til la solution ? merci d'avance. voici mon code actuel : - Code:
-
dim x%,y%,z% full_space 0 : scene3d 1 : full_space 1
3D_PLANE 2 : 3d_u_tile 2,1 : 3d_v_tile 2,1 : 3D_POSITION 2,100,100,100 : 3d_load_texture 2,"\\Serveur\docs-serveur\BASIC\BASIC\Exemples\CUBE 3D\rouge.bmp" 3D_PLANE 3 : 3d_u_tile 3,1 : 3d_v_tile 3,1 : 3D_POSITION 3,100,100,100 : 3d_load_texture 3,"\\Serveur\docs-serveur\BASIC\BASIC\Exemples\CUBE 3D\bleu.bmp" 3D_PLANE 4 : 3d_u_tile 4,1 : 3d_v_tile 4,1 : 3D_POSITION 4,100,100,100 : 3d_load_texture 4,"\\Serveur\docs-serveur\BASIC\BASIC\Exemples\CUBE 3D\jaune.bmp" 3D_PLANE 5 : 3d_u_tile 5,1 : 3d_v_tile 5,1 : 3D_POSITION 5,100,100,100 : 3d_load_texture 5,"\\Serveur\docs-serveur\BASIC\BASIC\Exemples\CUBE 3D\vert.bmp"
cam_position 120,120,120
3d_move 2,-10 3d_move 4,-5 3d_move 5,-5
for x%=1 to 360 3D_ROTATE 2,0,0,x% 3D_ROTATE 3,0,0,x% 3D_ROTATE 4,360-x%,270,0 3D_ROTATE 5,180-x%,90,0 wait 1 next x%
| |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Aide sur les fonctions 3D Ven 17 Aoû 2012 - 12:28 | |
| Pour moi, la 3D est un terrain totalement inconnu ! Mille et une fois j’ai voulu le découvrir, mais (par paresse, sans doute) je ne m’y suis pas aventuré ! Alors je ne suis d’aucune aide pour toi, mais je profiterais de toutes les reponses des nos connaisseurs en la matière. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 17 Aoû 2012 - 12:31 | |
| La 3D.....pffff.....que dire..... Monde infernal pour esprit tortueux .... Non, vraiment, là je ne peux rien pour toi... désolé | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Aide sur les fonctions 3D Ven 17 Aoû 2012 - 12:37 | |
| Et bien c'est l'occasion de s'y mettre Messieurs !!
Je suis sur que je bloque sur une commande mais je ne vois pas comment resoudre le probleme... attendont l'avis des pros de la 3D... | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Aide sur les fonctions 3D Ven 17 Aoû 2012 - 15:23 | |
| Il ne tarderont pas à se manifester! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 17 Aoû 2012 - 15:25 | |
| | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Aide sur les fonctions 3D Ven 17 Aoû 2012 - 15:37 | |
| Grrrr et Sniff et Grrr Grrr!
!!!! TU M’AS EU !!!! | |
| | | flowerkinzy
Nombre de messages : 100 Date d'inscription : 23/09/2009
| Sujet: Re: Aide sur les fonctions 3D Ven 17 Aoû 2012 - 16:59 | |
| Alors, sans être une spécialiste, je conseillerai de faire la rotation avant de déplacer les 3d_planes. Par contre, j'utilise rarement 3d_move mais plutôt 3d_position. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Aide sur les fonctions 3D Ven 17 Aoû 2012 - 18:46 | |
| d'accord mais comment positionner correctement les elements pour qu'ils restent dans l'axe et tournent tous ensemble ?
that is the question ??? | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Aide sur les fonctions 3D Ven 17 Aoû 2012 - 21:12 | |
| Je ne maitrise pas trop ce genre de truc pour ton source pour les couleurs et pour faire les faces, tu peux faire comme ci dessous mais pour les rotations, je ne maitrise pas trop, je te laisse voir. J'ai laissé les 2 faces qui tournent pareil J'ai viré les textures pour le moment, puisque tu mets des couleurs. - Code:
-
dim x%,y%,z% full_space 0 : scene3d 1 : full_space 1
light_position 0,0,0 : ' positionne la lumiere
3D_PLANE 2 : 3D_POSITION 2,100,100,100 : 3d_color 2,100,0,0 3D_PLANE 3 : 3D_POSITION 3,100,100,100 : 3d_color 3,0,100,0 3D_PLANE 4 : 3D_POSITION 4,100,100,100 : 3d_color 4,100,100,0 3D_PLANE 5 : 3D_POSITION 5,100,100,100 : 3d_color 5,0,0,100
cam_position 120,120,120
3d_move 3,-10 3d_move 4,-5 3d_rotate 4,90, 0, 0 3d_move 4,-5 3d_move 5, -5 3d_rotate 5,90, 0, 0 3d_move 5,5
for x%=1 to 360 3D_ROTATE 2,0,0,x% 3D_ROTATE 3,0,0,x% wait 1 next x% | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Aide sur les fonctions 3D Ven 17 Aoû 2012 - 21:55 | |
| merci pour vos reponses
mais je cherche toujours a faire le deplacement dans les 3 dimensions. le probleme etant qu'une fois positionnées, les faces ne restent pas dans le meme axe que les autres. Et pourtant les positions sont toutes definies ensemble.
J'ai lu sur l'aide panoramic qu'il existe une fonction pour chainer les elements les uns au autres et aussi une fonction pour diriger les objets entre eux mais je n'ai pas compris le fonctionnement !!!
je vais reprendre tout ca a tête reposé demain.
encore merci pour votre aide | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Aide sur les fonctions 3D Ven 17 Aoû 2012 - 22:19 | |
| Si bignono lit tes lignes, il pourra sans doute t'aider. Plus qu'à éspérer qu'il lise ces lignes ... | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Aide sur les fonctions 3D Sam 18 Aoû 2012 - 10:31 | |
| Bonjour minibug, J'ai bien compris ce que tu veux faire, mais chaque objet 3d tourne sur lui même sur ses 3 axes de rotations x, y ou z! A moins d'utiliser des calculs de matrice complexes et de faire la translation pour chaque sommet de ton cube, je ne vois pas comment faire. Ma solution, est que ce matin avec wings 3d, logiciel de 3d, j'ai vite fait un cube de 6 faces. Télécharge sur mon Web_dev le dossier cub.zip. J'ai fait un mesh que j'ai nommé cub.3ds et que j'ai redécomposé en 6 mesh différents représentant les 6 faces d'un cube, nommés bas.3ds, haut.3ds, face.3ds, dos.3ds, gauche.3ds, droite.3ds. il y a 2 programmes: le premier est cub.bas, où tu te trouves à l'intérieur du cube cub.3ds. en actionnant les 4 touches flèchées et les touches page down et page up tu va faire tourner le cube dans toutes les direstions sur chaque axes. le 2ème programme prend les 6 faces du cube et le reconstitue par l'instruction chain. Tu devrais comprendre son fonctionnement avec ce programme. Chaque face est colorée de manière différente. A toi de découvrir ce programme. http://www.mydrive.ch/identifiant: panoramic@bignono mot de passe: panoramic123 Bon je vous laisse, à bientôt. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| | | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Aide sur les fonctions 3D Sam 18 Aoû 2012 - 10:37 | |
| merci bignono je regarde tout cela et je te tiens au courant. donc a priori la seul solution c'est d'utiliser des objets mesh. c'est bien ce que j'avais cru comprendre. par contre j'ai essayer des logiciels 3d comme wing3d ou blender mais la je suis largué c'est pourquoi j'ai préférer m'en remettre au connaisseur. encore merci. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Aide sur les fonctions 3D Sam 18 Aoû 2012 - 10:51 | |
| Petite variante avec des modifs mineures sur le programme de rotation de cube de Bignono => Je sents qu'avec son programme je vais me faire un jeu de 421 en 3D moi, un jour - Code:
-
label action dim i,j,k,pas if variable("rep00$") = 0 then dim rep00$ rep00$="c:\panora~3\sources\Cube_3D\"
pas = 1
full_space 0:scene3d 1:full_space 1 cam_position 50,20,20:point_position 0,0,0 light_position 40,60,100 3d_mesh 1 3d_load_object 1,rep00$+"cub.3ds" timer 99:timer_interval 99,1:on_timer 99,action end
action: timer_off 99 select scancode case 27:terminate case 33:k=k+pas:3d_z_rotate 1,k case 34:k=k-pas:3d_z_rotate 1,k case 37:i=i+pas:3d_y_rotate 1,i case 38:j=j+pas:3d_x_rotate 1,j case 39:i=i-pas:3d_y_rotate 1,i case 40:j=j-pas:3d_x_rotate 1,j end_select timer_on 99 return | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 18 Aoû 2012 - 13:21 | |
| Il manque les fichiers 3ds pour que cela fonctionne, peux tu nous dire où ils sont ? | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Aide sur les fonctions 3D Sam 18 Aoû 2012 - 13:45 | |
| Bonjour ygeronimi, il faut aller sur mon web_dev et télécharger le dossier cub.zip http://www.mydrive.ch/identifiant: panoramic@bignono mot de passe: panoramic123 @ Jicehel, Dans le même dossier cub.zip, j'ai rajouté un programme dé.bas avec 2 mesh dé.3ds et points.3ds Si tu veux faire un 421, tu peux maintenant! A+ | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Aide sur les fonctions 3D Sam 18 Aoû 2012 - 13:47 | |
| Je le ferais bientôt Bignono De toute façon avec ton fichier, on va voir fleurir des roulement de dés dans des jeux, je pense, ce serait dommage de s'en priver. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 18 Aoû 2012 - 14:31 | |
| @ bignono, Merci pour le partage, les cubes m'intéressent pour mes jeux avec des dés. Ne pas confondre avec dédé, le cousin de la tante à la nièce de...... Je vais regarder çà de près, maintenant que je viens de résoudre un autre problème dû à ma mémoire de poisson rouge . | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Aide sur les fonctions 3D Sam 18 Aoû 2012 - 15:04 | |
| Si tu veux un petit code pour des dés dans ton jeu de l'oie, je met ce que j'ai fait (Ca permet d'afficher un chiffre entre 1 à 6 sur le dé) - Code:
-
dim i,j,k dim vitesse : vitesse = 2 if variable("rep00$") = 0 then dim rep00$ rep00$="c:\panora~3\sources\Cube_3D\"
full_space 0:scene3d 1:full_space 1:color 1,100,0,0 cam_position 0,0,5:point_position 0,0,0:light_position 0,0,-20 3d_mesh 1:3d_load_object 1,rep00$+"dé.3ds":3d_color 1,180,180,180 3d_mesh 2:3d_load_object 2,rep00$+"points.3ds":3d_color 2,10,10,20 3d_chain 1,2 3d_position 2,0,-5,-10
while scancode=0 j=1+int(rnd(6)) caption 0,j k=int(rnd(3))+3 select j case 1 for i= 360*k to 0 step (0-vitesse) 3d_rotate 2,i,0,0:display if scancode <> 0 then exit_while next i case 2 for i= 0 to 270+360*k step vitesse 3d_rotate 2,0,i,0:display if scancode <> 0 then exit_while next i case 3 for i= 0 to 90+360*k step vitesse 3d_rotate 2,i,0,0:display if scancode <> 0 then exit_while next i case 4 for i= 0 to 270+360*k step vitesse 3d_rotate 2,i,0,0:display if scancode <> 0 then exit_while next i case 5 for i= 0 to 90+360*k step vitesse 3d_rotate 2,0,i,0:display if scancode <> 0 then exit_while next i case 6 for i= 0 to 180+360*k step vitesse 3d_rotate 2,i,0,0:display if scancode <> 0 then exit_while next i end_select pause 2000 end_while terminate | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 18 Aoû 2012 - 15:12 | |
| @ Jicehel, Je prends... J'étudierai tout çà ce soir, là, il faut que j'aille faire ma petite tournée hospitalière ( rien de grave, rassurez vous, juste ma belle mère qui s'est fracturé la cheville ). Merci, pour tout ses codes. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Aide sur les fonctions 3D Sam 18 Aoû 2012 - 18:03 | |
| oui très interessant tous tes codes bignono !
juste une précision : est il possible de faire bouger plusieurs cubes ou plusieurs faces (cote a cote) en meme temps ou bien faut-il creer un fichier mesh directement ?
merci pour ton aide. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Aide sur les fonctions 3D Sam 18 Aoû 2012 - 18:14 | |
| Ca je peux répondre Oui, on peut. Par contre il faut que tu fasses la même chose pour chaque cube. Je vais faire un petit code de démo | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Aide sur les fonctions 3D Sam 18 Aoû 2012 - 18:27 | |
| Voilà, normalement, il faut mémoriser les position des objets dans des varaibles séparées (ou dans un tableau), là, j'ai fais une rotation brutale en utilisant la base du programme de Bignono - Code:
-
label action,fin dim h,i,j,k,pas if variable("rep00$") = 0 then dim rep00$ rep00$="c:\panora~3\sources\Cube_3D\"
pas = 1
full_space 0:scene3d 1:full_space 1 cam_position 50,20,20:point_position 0,0,0 light_position 20,30,-30 for i = 0 to 2 3d_mesh 1+6*i:3d_load_object 1+6*i,rep00$+"gauche.3ds":3d_color 1+6*i,255,000,000 3d_mesh 2+6*i:3d_load_object 2+6*i,rep00$+"bas.3ds" :3d_color 2+6*i,000,255,000:3d_chain 1+6*i,2+6*i 3d_mesh 3+6*i:3d_load_object 3+6*i,rep00$+"droite.3ds":3d_color 3+6*i,000,000,255:3d_chain 2+6*i,3+6*i 3d_mesh 4+6*i:3d_load_object 4+6*i,rep00$+"haut.3ds" :3d_color 4+6*i,255,255,000:3d_chain 3+6*i,4+6*i 3d_mesh 5+6*i:3d_load_object 5+6*i,rep00$+"face.3ds" :3d_color 5+6*i,000,255,255:3d_chain 4+6*i,5+6*i 3d_mesh 6+6*i:3d_load_object 6+6*i,rep00$+"dos.3ds" :3d_color 6+6*i,000,000,000:3d_chain 5+6*i,6+6*i 3D_move 6+6*i,-35 + 35*i next i on_close 0,fin timer 99:timer_interval 99,1:on_timer 99,action h=25 end
action: timer_off 99 select scancode case 33:k=k+pas:3d_z_rotate 6,k: 3d_y_rotate 12,k : ' Touche Pg up case 34:k=k-pas:3d_z_rotate 6,k: 3d_y_rotate 18,k : ' Touche Pg down case 37:i=i+pas:3d_y_rotate 6,i: 3d_y_rotate 12,i : ' Touche flèche gauche case 38:j=j+pas:3d_x_rotate 6,j: 3d_y_rotate 18,j : ' Touche flèche haut case 39:i=i-pas:3d_y_rotate 6,i: 3d_x_rotate 18,i : ' Touche flèche droite case 40:j=j-pas:3d_x_rotate 6,j: 3d_x_rotate 12,j : ' Touche flèche bas case 65:h=h-pas:cam_position 0,0,h: ' Touche A (Avance) case 82:h=h+pas:cam_position 0,0,h: ' Touche R (Recule) end_select timer_on 99 return
fin: 3d_chain_break 5,6:3d_chain_break 4,5:3d_chain_break 3,4:3d_chain_break 2,3:3d_chain_break 1,2 terminate | |
| | | Contenu sponsorisé
| Sujet: Re: Aide sur les fonctions 3D | |
| |
| | | | Aide sur les fonctions 3D | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |