| Charger une image sur le fond du SCENE3D | |
|
|
Auteur | Message |
---|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Charger une image sur le fond du SCENE3D Jeu 14 Avr 2016 - 22:42 | |
| Bonsoir à tous !
Dans la documentation, il est dit "A la création, un SCENE3D est de couleur blanche"
Est-il possible de charger une image sur le fond blanc du SCENE3D ?
Sur un SCENE2D, avec la fonction FILE_LOAD c'est possible, mais apparemment pas sur un 3D.
Y-a-t-il une astuce ? Ai-je loupé une commande spécifique ?
Merci de votre aide ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Charger une image sur le fond du SCENE3D Jeu 14 Avr 2016 - 23:12 | |
| Je ne suis pas un spécialiste 3D. Mais je peux te dire que la notion de "fond" n'a pas de sens dans un monde 3D.
Ce que tu peux faire, c'est de définir une 3D_SKYBOX et de charger des "textures" dans les différentes faces de cet objet. | |
|
| |
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Charger une image sur le fond du SCENE3D Jeu 14 Avr 2016 - 23:25 | |
| Merci Klaus pour ta réponse. Je m'en doutais un peu. Comme il est possible de le colorer, j'avais l'espoir de pourvoir y coller un motif.
| |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Charger une image sur le fond du SCENE3D Ven 15 Avr 2016 - 14:34 | |
| Tu as le 3D skybox pour cela En fait en 3D, tu définis une boite englobant ta scène avec: •3D_SKYBOX N : crée un SKYBOX et lui donne le numéro N comme référence puis tu charge les textures adéquates avec : •3D_LOAD_TEXTURE_BACK N,F : applique sur la face arrière de l'objet 3D_SKYBOX numéro N la texture dans le fichier F •3D_LOAD_TEXTURE_BOTTOM N,F : applique sur la face basse de l'objet 3D_SKYBOX numéro N la texture dans le fichier F •3D_LOAD_TEXTURE_FRONT N,F : applique sur la face avant de l'objet 3D_SKYBOX numéro N la texture dans le fichier F •3D_LOAD_TEXTURE_LEFT N,F : applique sur la face gauche de l'objet 3D_SKYBOX numéro N la texture dans le fichier F •3D_LOAD_TEXTURE_RIGHT N,F : applique sur la face droite de l'objet 3D_SKYBOX numéro N la texture dans le fichier F •3D_LOAD_TEXTURE_TOP N,F : applique sur la face haute de l'objet 3D_SKYBOX numéro N la texture dans le fichier F Amuses toi bien | |
|
| |
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Charger une image sur le fond du SCENE3D Ven 15 Avr 2016 - 17:43 | |
| Merci Jicehel ! J'ai déjà testé cette alternative, mais elle ne me convient pas pour l'utilisation que je souhaite en faire. Esthétiquement, ça ne va pas... ! Difficile, je suis ! En fait, tout découle d'une recherche pour remplacer une fonction inexistante à Panoramic : 2D_TEXTE => J’en ai fait la demande "officielle" dans la rubrique "Vos souhaits d’amélioration de Panoramic". Ce week-end, si ne n’arrive pas à mes fins, j’emprunterai la DDL de Klaus pour essayer de trouver solution à ma demande. A bientôt !
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Charger une image sur le fond du SCENE3D Ven 15 Avr 2016 - 18:40 | |
| J'ai une solution pour écrire un texte dans un Scend2D: - fais un picture - écris dedans - fais un sprite - charge l'image du picture dans le sprite
Et voilà - tu as un texte que tu peux déplacer et/ou redimensionner à volonté. | |
|
| |
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Charger une image sur le fond du SCENE3D Ven 15 Avr 2016 - 23:36 | |
| Merci Klaus, tu as raison mais, désolé, cette solution ne me satisfait pas. C'est pour afficher des messages à textes variables sur le fond 2D d'un jeu. La fabrication du PICTURE pour arriver à un SPRITE perturbe fortement l'esthétique du jeu. Pour mieux comprendre voici la capture de l'écran du jeu : Le fond est un SCENE2D. Les cartes sont des SPRITES. Pour terminer mon jeu, je dois pouvoir écrire, dans la partie basse, sur ce SCENE2D, les scores et les mises. Les zones dans les angles (le coeur, le carreau, le pique et le trèfle) sont cliquables et détectées par la position de la souris. Il faut que je trouve une solution. Le jeu est presque fini. Edit : le jeu est sur mon Webdav (version ALPHA !) | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Charger une image sur le fond du SCENE3D Ven 15 Avr 2016 - 23:58 | |
| Franchement, je ne vois pas où est le problème. Le picture intermédiaire, tu le caches par HIDE. Et tu y places le graphisme que tu veux, comme le coeur etc. Puis tu écris dedans. Si veux écrire aven un angle d'orientation - pas de problème - KGF.dll sait faire cela. Ensuite, tu charges l'image dans le sprite. Ne pas oublier d'avoir une couleur de fond noire dans le picture - cela devient transparent dans le sprite, de sorte à voir le fond comme dans ta capture.
Le problème, c'est la cliquabilité. On ne peut pas cliquer un sprite. Mais tu peux récupérer les coordonnées du clic sur l'objet Scene2D et en déduire quel sprite tu as cliqué. Et la boucle est bouclée.
J'ai fait, il y a longtemps déjà, un jeu auquel je joue souvent: un jeu de billes organisée en quinconces. On lance une bille qui apparaît avec une couleur aléatoire, et si elle touche au moins deux billes contigües de la même couleur, elles s'annulent toutes. Le but étant de vider le plan de jeu. Et dans ce programme, chaque bille est construite exactement selon ce modèle. Ca marche très bien. Tu peux même optimiser la chose en gardant dans des objets IMAGE les images de fond des sprites dans lesquels tu veux écrire, et au moment de le faire, tu copies cet IMAGE dans le PICTURE au lieu de le charger chaque fois à partir d'un fichier. | |
|
| |
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Charger une image sur le fond du SCENE3D Sam 16 Avr 2016 - 0:04 | |
| Merci Klaus, je n'ai pas dû m'y prendre comme il faut. Je refais des essais, j'y arriverai ! | |
|
| |
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Charger une image sur le fond du SCENE3D Sam 16 Avr 2016 - 10:04 | |
| Il est possible de charger une image sur le fond du SCENE3D en la collant sur un plan, mais elle sera un peu floue car une texture appliquée sur un objet 3D est filtrée par nature. - Code:
-
dim dist
' plein écran full_space 0 border_hide 0
rem trace et capture un dessin 2d_pen_width 3 2d_pen_color 0,0,250 2d_poly_from 10,10 2d_poly_to 20,30 2d_poly_to 40,5 2d_poly_to 40,60 2d_poly_to 60,20 2d_poly_to 100,110 2d_poly_to 150,20 rem capture le dessin image 2 2d_image_copy 2,0,0,width(0),height(0)
' notre scène scene3d 1 ' full_space 1 color 1,0,0,128 ' cam_position 0,0,0 point_position 0,0,100 light_position 0,0,10000000000 ' 3d_box 1,width(0),height(0),power(10,0-32) :' un plan vertical de la taille de l'écran 3d_color 1,128,128,0 dist=378.247 :' distance focale 3d_position 1,0,0,dist display 3d_image_texture 1,2 | |
|
| |
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Charger une image sur le fond du SCENE3D Sam 16 Avr 2016 - 10:11 | |
| Merci Sylverman
J'ai déjà testé aussi cette solution, mais je ne pas faire de raccord propre dans mon SCENE2D.
Je reprendrai demain l'astuce de Klaus que je n'ai pas dû exploiter correctement.
Bon weekend et encore merci ! | |
|
| |
Contenu sponsorisé
| Sujet: Re: Charger une image sur le fond du SCENE3D | |
| |
|
| |
| Charger une image sur le fond du SCENE3D | |
|