| | D3D - La caméra (épisode 1) | |
| | Auteur | Message |
---|
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: D3D - La caméra (épisode 1) Sam 3 Avr 2010 - 22:40 | |
| Bonjour à tous Je commence mes premiers pas dans la 3d et... je galère déjà J'ai fait le code de caméra suivant dans le draw : - Code:
-
d3d_set_projection(x,y,10,lengthdir_x(200,direction),lengthdir_y(200,direction),10,0,0,10);
qui ne fonctionne pas. Pour tester si ça marche, j'ai aussi dessiné un floor : - Code:
-
d3d_draw_floor(0,0,0,room_width,room_height,0,t_floor,1,1); Qui ne marche évidemment pas non plus. Je sais que c'est des questions de débutant mais... j'arrive pô. D'où vient le soucis ? de la caméra ? du floor ? comment arranger ça ? pourquoi ça ne fonctionne pas ? merci de l'aide |
| | | nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: D3D - La caméra (épisode 1) Sam 3 Avr 2010 - 23:04 | |
| Code de caméra (je sais pas si ça va changer quelque chose mah bon) :
d3d_set_projection(x,y,10,lengthdir_x(200,direction),lengthdir_y(200,direction),10,0,0,1);
BTW, fais voir ton create event (celui ou t'initialise la 3D et ou tu définis les paramètres) |
| | | Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: D3D - La caméra (épisode 1) Sam 3 Avr 2010 - 23:22 | |
| Ben ça se limite à : - Code:
-
d3d_start(); d3d_set_hidden(true); ce qui est dans l'aide de gm quoi |
| | | nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: D3D - La caméra (épisode 1) Dim 4 Avr 2010 - 9:43 | |
| Rajoute dans ton create event ou dans ton draw event : draw_set_color(c_white);
Et t'as essayé de changer ton code par celui que je t'ai donné ? |
| | | onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: D3D - La caméra (épisode 1) Dim 4 Avr 2010 - 10:27 | |
| Il faut savoir aussi que tu doit faire ta projection avant d'afficher des objets 3d EDIT : petit exemple directe a mettre dans le draw - Code:
-
if( !variable_local_exists('create') ) { d3d_start() create = 1 a = 0 sp = 5 }
t_floor = -1//sprite_get_texture(spr,img)
a += (keyboard_check(vk_left) - keyboard_check(vk_right))*5 x += keyboard_check(vk_up)*lengthdir_x(sp, a) y += keyboard_check(vk_up)*lengthdir_y(sp, a)
d3d_set_projection(x,y,10,lengthdir_x(200,a),lengthdir_y(200,a),10,0,0,1)
d3d_draw_floor(0,0,0,128,128,0,t_floor,1,1)
|
| | | nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: D3D - La caméra (épisode 1) Dim 4 Avr 2010 - 10:48 | |
| Oui exact, il faut que ta caméra ait une depth supérieure à celle de tous tes objets 3D à afficher. |
| | | Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: D3D - La caméra (épisode 1) Dim 4 Avr 2010 - 15:55 | |
| Ok, parfait ça marche mais deux soucis sont survenus : Premièrement, je souhaite utiliser une texture en floor, j'utilise donc background_get_texture(background0), et mon floor est tout noir. Pourtant mes hrepeat et vrepeat sont bien à 1, et mon background est un multiple de deux... Ensuite, un soucis un peu louche : impossible d'utiliser move_towards_point(x,y,speed). Je l'utilise de cette façon : move_towards_point(lengthdir_x(200,direction),lengthdir_y(200,direction),speed); or, ça ne marche pas dans le sens où ça bloque ma direction dès que j'appuye sur up ({speed=1}) ou down ({speed=-1}), jvois pas trop d'où ça vient v v J'ai donc essayé de remplacer la fonction par : x+=lengthdir_x(200,direction); y+=lengthdir_y(200,direction); mais ça fait un déplacement un peu bizarre, loin de la vue fps que je cherche quelqu'un a une idée ? désolé jsuis assez novice dans le monde de la 3d |
| | | supmaster004 Utilisateur confirmé: Rang *****
Messages : 2189 Localisation : x=23.256842 y=43.456879 Projet Actuel : Faire des parodies de jeux en 1h
| Sujet: Re: D3D - La caméra (épisode 1) Lun 5 Avr 2010 - 13:14 | |
| pour le floor tout noir, n'oublie pas: draw_set_color(c_white) dans le create event de ta caméra, parce que la couleur de base est c_black (d'où le sol noir ) tiens, si tu veux, j'ai un moteur 3D ici: http://www.yoyogames.com/games/84130-nightmare-3d-enginepour faire des jeux style nintendo nightmare bon, en gros tu copies les scripts dans obj_cam et tu les colles dans ta caméra. fais pareil avec les déplacements de obj_player (mario) N'oublie pas de changer les noms des objets. Sinon, tu peux aussi utiliser le moteur complêtement, mais si tu débutes dans la 3D tu va juste faire du drag and drop d'objets sans rien comprendre. |
| | | Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: D3D - La caméra (épisode 1) Lun 5 Avr 2010 - 15:57 | |
| Pour mon soucis de floor, c'est que j'ai mis une texture ! - Code:
-
d3d_draw_floor(0,0,0,128,128,0,background_get_texture(background0),1,1) background0 est un background de dimensions 64x64, et pourtant il m'affiche un floor noir qu'il est censé afficher que si la texture vaut -1 Ok je viens de comprendre, j'ai mis un draw_set_color(c_yellow) et ça marche impec, merci Pour mon problème de direction c'est résolu c'était tout con, vu que move_towards_point modifie la direction ça marche pas trop :nah: |
| | | Contenu sponsorisé
| Sujet: Re: D3D - La caméra (épisode 1) | |
| |
| | | | D3D - La caméra (épisode 1) | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |