| Shmup 3D Need Lot of help^^' | |
|
+22Bast nic_rf shadow_the_killer jo Topaze22 Mass M@d_Doc Zone51 Blizter nicoulas PhoenixD Scooby Doo Devil37 daminetreg keïtchi Dark Gokou Xierra54 notiz85 Wargamer MagnuM [TheDarkTiger] yano 26 participants |
|
Auteur | Message |
---|
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Shmup 3D Need Lot of help^^' Lun 5 Jan 2009 - 19:16 | |
| Un simpe draw_set_color(); suffit Par exemple ça devrait marcher avec ce code : draw_set_color(make_color_rgb(zmax-z,zmax-z,zmax-z)); // affichage des modèles draw_set_color(c_white); Avec zmax qui correspond à la hauteur à laquelle tes modèles devront s"afficher sans être assombries |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| |
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Shmup 3D Need Lot of help^^' Mar 6 Jan 2009 - 1:19 | |
| heu ton zmax, il vaut combien ???
en théorie, chaque composante devrait être :
(255*z)/zmax
soit :
draw_set_color(make_color_rgb((255*z)/zmax,(255*z)/zmax,(255*z)/zmax)); _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Mar 6 Jan 2009 - 3:31 | |
| En tous cas ça marche, mais pour moi zmax pouvait être egal à n'importe quel nombre et la façon dont j'ai interpreté les indications de nicoulas m'ont amené à écrire le code comme ceci: zmax=568; //(hauteur habituelle de mon vaisseau) draw_set_color(make_color_rgb(zmax+z,zmax+z,zmax+z)); Ici le code d'affichage de mon modèle draw_set_color(c_white); Ce qui donne: Le résultat très visible sur les oiseaux qui sont plus foncés vers le bas |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Shmup 3D Need Lot of help^^' Mar 6 Jan 2009 - 19:54 | |
| voila un script plus général. tu lu rentre l'altitude z, l'altitude zmin où la couleur sera noire, et zmax où elle sera blanche, et ça te retourne la couleur . make_color_from_z(z,zmin,zmax); - Code:
-
var z,zmin,zmax,TMP; z=argument0; zmin=argument1; zmax=argument2; z=max(min(z,zmax),zmin); TMP=((z-zmin)/zmax)*255; return make_color_rgb(TMP,TMP,TMP); _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Shmup 3D Need Lot of help^^' Mar 6 Jan 2009 - 23:15 | |
| TDT a raison, j'ai oublié de convertir ça en valeur par rapport à la valeur max de chaque composante rgb (255), mais bon y'a ptet pas besoin d'un script exprès :nah: |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Shmup 3D Need Lot of help^^' Mer 7 Jan 2009 - 1:03 | |
| ça dépend de ses valeurs de Z ...
si pour une raison ou une autre (cinématique par exemple) le Z peut changer et dépasser les valeurs d'affichage, et générer une erreur.
la fonction, c'est que pour pas à avoir à taper les lignes de codes à chaque fois :nezrouge: _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Mer 7 Jan 2009 - 13:13 | |
| - [TheDarkTiger] a écrit:
- ça dépend de ses valeurs de Z ...
si pour une raison ou une autre (cinématique par exemple) le Z peut changer et dépasser les valeurs d'affichage, et générer une erreur.
la fonction, c'est que pour pas à avoir à taper les lignes de codes à chaque fois :nezrouge: Oui même si pour l'instant tout fonctionne bien un peu par chance je vais tout de même utiliser le code de TDT qui me semble parfait. Je résume ce que je dois faire pour être sur: 1 Script : - Code:
-
var z,zmin,zmax,TMP; z=argument0; zmin=argument1; zmax=argument2; z=max(min(z,zmax),zmin); TMP=((z-zmin)/zmax)*255; return make_color_rgb(TMP,TMP,TMP); Dans le draw de chaque modeles: - Code:
-
make_color_from_z(z,zmin,zmax); Et appeler le script dans le draw. Correct? |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Shmup 3D Need Lot of help^^' Mer 7 Jan 2009 - 13:52 | |
| Oui, tu dois juste ne pas oublier de remettre la couleur de dessin en blanc après avoir dessiné tes modèles :
draw_set_color(c_white); :nah: |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Mer 7 Jan 2009 - 19:49 | |
| Ok Le cell-shading sera selectionnable dans les options, c'est pratiquement en place, y'a plus qu'a faire la variable qui dira au modele de créer le contour. (Comme ça pas de soucis pour les trop petites config qui n'aimerais le doublage des modeles...) Un screen du jeu en Cell-shading d'ici 10 minutes ^^' |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Shmup 3D Need Lot of help^^' Mer 7 Jan 2009 - 19:56 | |
| heu dans le draw, c'est
draw_set_color(make_color_from_z(z,zmin,zmax)); // :lng:
//affichage du model
//puis à la fin, comme l'a dit nicoulas : draw_set_color(c_white); _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Mer 7 Jan 2009 - 20:41 | |
| Ok tigrou. Je poste le screen du cell-shading donc le topic projet |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Shmup 3D Need Lot of help^^' Mer 7 Jan 2009 - 22:52 | |
| ça rend vraiment très bien ! félicitations _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Shmup 3D Need Lot of help^^' Mer 7 Jan 2009 - 23:07 | |
| Ouep, très beau rendu (mhh ce post aurais plus eu sa place dans le topic du jeu mah bon) |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Ven 9 Jan 2009 - 13:31 | |
| Merci, j'aime aussi beaucoup ce cell-shading mais à vrai dire il reste un très gros probleme avec les instances de memes objet, si j'en détruit un le cell-shading des autres (objet du modele en texture noire) se détruit aussi...
Ce que je voulais faire c'est mettre le modele cell-shading dans le meme objet que le modele de base. Mais probleme de depth irrésolu.... :/ D'ou ma question est-il possible d'une façon ou d'une autre d'afficher deux modeles avec des depth différents dans un même objet?? J'ai beau changer les depth de chaque modele ils ne fonctionnent pas :snif2: |
|
| |
shadow_the_killer Utilisateur confirmé: Rang ****
Messages : 1272 Localisation : Québec\Canada Projet Actuel : Chrono Trigger
| Sujet: Re: Shmup 3D Need Lot of help^^' Ven 9 Jan 2009 - 15:01 | |
| tu pourrais le faire en recupérant l'id ?
<var>=instance_position(x,y,obj)
en tout cas je crois _________________ allez voir le Projet d'envergure de la M.R.Sallez voir mon Crono Trigger Il y a du nouveau !!! ------------------------------------------------------------------------ - Spoiler:
[url=http://www.nouvel-empire.com/inscription.php?idp=Ayatane Iruka] [/url]
Envoyer moi un pv pour nous rejoindre ! |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Ven 9 Jan 2009 - 21:44 | |
| - shadow_the_killer a écrit:
- tu pourrais le faire en recupérant l'id ?
<var>=instance_position(x,y,obj)
en tout cas je crois <var> est sensé être l'ID? On doit déterminer soit même les id? ou GM assigne une ID automatiquement? Enfin il serait plus simple de pouvoir mettre 2 modeles avec des depth différents dans un seul objet... :/ EDIT: :p_lol: Finalement solution toute simple en réfléchissant un peu -> Dans tous les modeles a chaque collision - Code:
-
with instance_position(x,y,Helicobra_shadow) {instance_destroy();}; Et le tour est joué Trop content Cell shading 100% ok plus qu'a mettre une variable on/off pour les ptites config - [TheDarkTiger] a écrit:
- heu dans le draw, c'est
draw_set_color(make_color_from_z(z,zmin,zmax)); // :lng:
//affichage du model
//puis à la fin, comme l'a dit nicoulas : draw_set_color(c_white); Il faudra que j'essaye sur une copie en virant tout mon code actuel pour le z_color, car pour le moment avec ton code rien ne s'assombrit, il y a surement 'conflit' avec mon code ^^' |
|
| |
shadow_the_killer Utilisateur confirmé: Rang ****
Messages : 1272 Localisation : Québec\Canada Projet Actuel : Chrono Trigger
| Sujet: Re: Shmup 3D Need Lot of help^^' Ven 9 Jan 2009 - 23:02 | |
| en fais <var>=variable ^^ mais content que sa fonctionne ^^ _________________ allez voir le Projet d'envergure de la M.R.Sallez voir mon Crono Trigger Il y a du nouveau !!! ------------------------------------------------------------------------ - Spoiler:
[url=http://www.nouvel-empire.com/inscription.php?idp=Ayatane Iruka] [/url]
Envoyer moi un pv pour nous rejoindre ! |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Ven 16 Jan 2009 - 15:07 | |
| Yop voici le code draw 3D pour le tanguage de mes vaisseaux, il donne un mouvement très souple que le vaisseau se déplace par commande du joueur ou avec un path, en plus pour le vaisseau joueur il remet automatiquement le vaisseau sur l'axe 0 de façon toujours aussi fluide, il est adaptable pour n'importe quel axe donc là je peux faire du bon boulot d'animation simple dans l'espace par exemple un vaisseau qui se redresse en 'chandelle' pour prendre de l'altitude etc etc... (Happy) Le seul truc qui me chiffonne c'est que la valeur que j'ai mis en rouge peut changer, l'effet reste le même...est-ce normal?? - Citation :
- axe_x+=(y-oldy);
d3d_transform_set_identity(); if y=oldy+50 { d3d_transform_add_rotation_x(1); } if y=oldy-50 { d3d_transform_add_rotation_x(-1); }
if axe_x>4 then axe_x=5; if axe_x<-4 then axe_x=-5;
d3d_transform_add_rotation_x((40/3)*axe_x); d3d_transform_add_translation(x,y,z); d3d_model_draw(Mod_Chip,0,0,0,Mod_Chip_Tex) d3d_transform_set_identity(); |
|
| |
nic_rf Plutôt bien
Messages : 45 Localisation : Anciennement appellé Nic353 Projet Actuel : COmeback 2
| Sujet: Re: Shmup 3D Need Lot of help^^' Ven 16 Jan 2009 - 15:34 | |
| Juste une simple question, est-ce que ton = dans y=oldy-50 ne sera pas plus un <? |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Ven 16 Jan 2009 - 19:31 | |
| - nic_rf a écrit:
- Juste une simple question, est-ce que ton = dans y=oldy-50 ne sera pas plus un <?
ça fonctionne avec les deux, en fait les valeurs ne servent à rien tel quel, voilà le code complet avec retour à l'axe 0 - Code:
-
if y=oldy{ d3d_set_hidden(true); axe_x+=(y-oldy); d3d_transform_set_identity(); if y>oldy { d3d_transform_add_rotation_x(0.1); } if y<oldy { d3d_transform_add_rotation_x(-0.1); } if axe_x>0 then axe_x-=0.1; if axe_x<0 then axe_x+=0.1; d3d_transform_add_rotation_x((40/3)*axe_x); d3d_transform_add_translation(x,y,z); d3d_model_draw(Mod_Chip,0,0,0,Mod_Chip_Tex) d3d_transform_set_identity(); d3d_set_hidden(false);}
- Code:
-
d3d_set_hidden(true); axe_x+=(y-oldy); d3d_transform_set_identity(); if y>oldy { d3d_transform_add_rotation_x(0.1); } if y<oldy { d3d_transform_add_rotation_x(-0.1); }
if axe_x>2 then axe_x=2.1; if axe_x<-2 then axe_x=-2.1; d3d_transform_add_rotation_x((40/3)*axe_x); d3d_transform_add_translation(x,y,z); d3d_model_draw(Mod_Chip,0,0,0,Mod_Chip_Tex) d3d_transform_set_identity(); d3d_set_hidden(false); Testé ça marche impecc' |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Jeu 22 Jan 2009 - 14:39 | |
| Draw event: - Code:
-
draw_set_color(make_color_from_z(z,zmin,zmax)); //affichage du model
//puis à la fin draw_set_color(c_white); Je remet le code puisque j'en suis là, je vais commencer a remplacer mon code par celui-ci EDIT: bah voilà c'est en place, aucun souci |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Shmup 3D Need Lot of help^^' Jeu 22 Jan 2009 - 23:49 | |
| et ça marche bien ? _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Ven 23 Jan 2009 - 4:15 | |
| - [TheDarkTiger] a écrit:
- et ça marche bien ?
Oui ça fonctionne bien je vais peut être revoir les hauteur max et min pour optimiser l'effet mais ça marche Pour pas créer un topic pour ça, la DLL freememory de bibi n'est pas compatible avec gm7? gros soucis mon jeu freeze quand je l'utilise :gniah: |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Shmup 3D Need Lot of help^^' Ven 23 Jan 2009 - 18:03 | |
| Tu peux tout à fait l'utiliser, mais elle peut causer des problèmes (genre disons que 1 fois sur 5000 elle génère un BSOD). Pour l'utiliser, lance une alarme dans le create event d'un de tes objets (avec comme valeur de l'alarme un nombre compris entre 1 et 5 de préférence), et dans cette alarme tu met le code de la dll à savoir : Initalize(); FreeMemory(); |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Dim 25 Jan 2009 - 2:46 | |
| Ok merci Nicou mais finalement j'ai allegé suffisamment mon jeu pour m'en passer pour le moment Bon par contre là il faut que je sauvegarde la configuration du pad et même si j'ai compris la théorie des inis, je ne sais pas trop comment le mettre en pratique avec mon code actuel, ce qui m'interesse surtout pour le moment c'est de sauver la config du pad. Voici les codes: Create: ->déclaration des commandes - Code:
-
alarm[0] = 1 gamepad_init(); leftButton = 1; rightButton = 1; upButton = 1; downButton = 1; mainshotbutton = 1; chargeshotButton = 1; homingshotButton = 1; shieldButton = 1; bombButton = 1; startButton = 1; Alarm0 : -> Ici on config son pad - Code:
-
draw_clear(c_white); d3d_set_lighting (false); draw_text(room_width / 2,room_height / 2,"Press left"); d3d_set_lighting (true); screen_refresh(); gamepad_wait(1); leftButton = gamepad_find_button(1); gamepad_wait_none(1);
draw_clear(c_white); d3d_set_lighting (false); draw_text(room_width / 2,room_height / 2,"Press right"); d3d_set_lighting (true); screen_refresh(); gamepad_wait(1); rightButton = gamepad_find_button(1); gamepad_wait_none(1); etc etc... Donc je voudrais écrire cette config dans un ini qui sera chargé automatiquement avec le jeu. EDIT : c'est reglé, pad configurable et config sauvegardable. |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Jeu 3 Sep 2009 - 2:05 | |
| Salut ^^' Je viens de faire un modèle 3D de terrain, pour créer des iles pour mon jeu... mais ça donne un HORRIBLE effet de scie, comment je peux remédier à ça?? |
|
| |
Bast Administrateur
Messages : 20021 Localisation : Alsace
| Sujet: Re: Shmup 3D Need Lot of help^^' Jeu 3 Sep 2009 - 3:01 | |
| C'est un problème récurrent en 3D, qui survient lorsque des textures se superposent ou s'entrecoupent.
J'ignore s'il existe une technique particulière permettant de corriger le rendu de tels artefacts, mais le mieux reste encore de t'assurer que tes modèles ne s'entrecoupent pas. Comme par exemple en rognant l'île par le bas pour éviter qu'elle coupe la texture de l'océan.
Mais comme dit, il existe peut-être d'autres techniques. Et comme il se fait un peu tard, j'essaierai de voir ça demain. _________________ |
|
| |
yano Utilisateur confirmé: Rang **
Messages : 488 Projet Actuel : SCR Keiko Shoot them up 3D vertical.
| Sujet: Re: Shmup 3D Need Lot of help^^' Jeu 3 Sep 2009 - 18:08 | |
| Je pense avoir un début de solution, mais il m'oblige à utiliser des script qui créent un floor d'eau mouvant qui fait juste la taillle de la vue au lieu de mes simple floor habituels . -> code habituel avec l'effet dent de scie: - Code:
-
d3d_draw_floor(-16000,-16000,50, 16000,16000,50, sprite_get_texture(spr_Water,image_index),32,32)
Comme ça le problème de dents de scie est résolu, par contre ça prends plus de ressources, les lumières sont à refaire et je perds beaucoup en lisibilité (surement juste parce que le fond est10x plus clair, je vais simplement essayer une texture plus sombre). EDIT: j'ai trouvé un article imagé sur le sujet qui semble ma foi TRÈS intéressant, par contre c'est en anglais. Practical 3D Programming http://www.viridiangames.com/blog/index.php?s=diffa |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: Shmup 3D Need Lot of help^^' Jeu 3 Sep 2009 - 21:02 | |
| - Bast a écrit:
- Mais comme dit, il existe peut-être d'autres techniques. Et comme il se fait un peu tard, j'essaierai de voir ça demain.
Effectivement :oui: Si tu affiche ta projection à l'aide de d3d_set_projection_ ext(); tu dois mettre ta valeur de znear à une valeure assez élevée par rapport à la "normale" (pas trop pour que les polygones proches de la caméra soient affichés, 10 devrait être une bonne valeur dans ton cas) et mettre zfar à une valeur assez élevée par rapport à la "normale" (de même, pas trop pour que les polygones loin de la caméra soient affichés, je pense que tu dois pouvoir mettre 1000 ou 2000 sans problèmes). Si tu utilise d3d_set_projection(); tu va devoir changer pour d3d_set_projection_ext(); C'est à ma connaissance le seul moyen (qui ne nécessite pas non plus beaucoup de travail ^^). EDIT : Petite précision, ce bug est dû au zbuffer de GM |
|
| |
Contenu sponsorisé
| Sujet: Re: Shmup 3D Need Lot of help^^' | |
| |
|
| |
| Shmup 3D Need Lot of help^^' | |
|