AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -20%
-20% Récupérateur à eau mural 300 ...
Voir le deal
79 €

 

 map.z = player.z

Aller en bas 
4 participants
AuteurMessage
Crosskid
Petit bavard
Crosskid


Messages : 53

map.z = player.z Empty
MessageSujet: map.z = player.z   map.z = player.z EmptyLun 2 Juil 2012 - 18:52

Bonjour a tous !

Voila j'ai un petit problème, je commence un projet en 3D (j'ai déjà mes models, mon personnage et ma map).
Ma map se compose de montées et de descentes mais mon personnage les traverses (il reste a z=0)

Je sais bien qu'il existe de nombreux forums sur le sujet, mais je ne comprend pas vraiment (et copier des scripts sans comprendre sa sert a rien XD)

Comment changer "z du personnage" en "z du terrain" ?

Merci d'avance pour vos réponses. happy1
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

map.z = player.z Empty
MessageSujet: Re: map.z = player.z   map.z = player.z EmptySam 7 Juil 2012 - 21:59

en fait, on va dire que tout depend de ton code :
- est ce que ce sont des plateformes
- est ce que c'est tout le sol de ma map qui bouge

ces facteurs auront différentes conséquence sur la camera.
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Mass
*Excellent utilisateur*
Mass


Messages : 3351
Localisation : Dans une canonnière wookie.
Projet Actuel : Monter des trucs et des machins

map.z = player.z Empty
MessageSujet: Re: map.z = player.z   map.z = player.z EmptySam 7 Juil 2012 - 23:36

C'est pas ce qu'il dit... en gros son sol est en 3d donc il a des reliefs, et son perso reste sur un z=0 comme si il était sur sol plat... J'ai jamais creusé le sujet mais ce qui me vient c'est de faire une heightmap, soit avec un tableau en 2 dimensions ou avec ds_grid Wink

_________________
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

map.z = player.z Empty
MessageSujet: Re: map.z = player.z   map.z = player.z EmptyDim 8 Juil 2012 - 1:24

en effet, javais pas compris ca comme ca ^^
dans ce cas de figure, c'est plutot pratique de faire une heightmap. et comme Mass, je ne me suis jamais encore pencher dessus (seulement dans le cas d'un moteur physique)
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

map.z = player.z Empty
MessageSujet: Re: map.z = player.z   map.z = player.z EmptyDim 8 Juil 2012 - 13:13

Ouai pour la heightmap si t'en utilise pas tu risque de galérer.
Sinon après pour savoir le z de ton perso entre 3 ou 4 points de cette heightmap, bah il faut utiliser une interpolation (linéaire si tu traite pas ta heigtmap et que tu affiche les triangles normalement).

Par exemple une interpolation linéaire 2d :
//interpol_linear(v1, v2, x)
return argument0*(1-argument2)+argument1*argument2

va te donner le y compris entre v1 et v2 a la position x (les x de la courbe évoluent de manière constante, c'est pour ça qu'ils ne sont pas pris en compte dans l'équation).
Donc si jamais tu voulais déplacer un objet sur une courbe, tu n'aurais qu'a calculer son y avec nterpol_linear :b
Je te conseille de commencer a faire tout ça avec une courbe avant de t'attaquer a la 2d, il faut bien que tu comprenne la notion d'interpolation.

Pour la 3d, c'est un peu plus compliqué vu que tu a 4 valeurs a prendre en compte, on doit donc utiliser une interpolation bilinéaire, qui utilise en fait deux interpolations linéaires :
// interpol_bilinear(v1, v2, v3, v4, x, y)
v1 = interpol_linear(argument0, argument1, argument4);
v2 = interpol_linear(argument2, argument3, argument4);
return interpol_linear(v1, v2, argument5);


Donc si tu comprend les histoires d'interpolation, tu comprendra tout :b
Après tu pourras même utiliser des interpolation plus complexes pour charger ta heigtmap et faire ta 'physique'.
(interpolation cos, bicubique, plus douces mais aussi plus complexes)

_________________
map.z = player.z Runningpotato1map.z = player.z TvF6GED map.z = player.z MdetltS
Revenir en haut Aller en bas
Crosskid
Petit bavard
Crosskid


Messages : 53

map.z = player.z Empty
MessageSujet: Re: map.z = player.z   map.z = player.z EmptyLun 9 Juil 2012 - 14:09

Merci infiniment pour vos réponses, je vais tester sa tout de suite !

En effet, je n'ai jamais utilisé d' "interpolations" rire2
je test ! gnii

Revenir en haut Aller en bas
Crosskid
Petit bavard
Crosskid


Messages : 53

map.z = player.z Empty
MessageSujet: Re: map.z = player.z   map.z = player.z EmptyLun 9 Juil 2012 - 15:48

Problème résolu !!! j'ai créer des heightmap et tout fonctionne correctement. Je continue de rechercher des infos sur les " interpol_linear".
Merci beaucoup pour vos réponses, je laisse un petit lien vers quelques scripts qui pourrons être utiles à ceux qui ont ou auront le même problème que moi:

http://gmc.yoyogames.com/index.php?showtopic=423717

encore merci !
a bientôt
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

map.z = player.z Empty
MessageSujet: Re: map.z = player.z   map.z = player.z EmptyMar 10 Juil 2012 - 21:13

joli boulot !
C'est sympa d'avoir laissé le code, je suis sur que ca pourra aidé plusieurs personne happy1
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Contenu sponsorisé





map.z = player.z Empty
MessageSujet: Re: map.z = player.z   map.z = player.z Empty

Revenir en haut Aller en bas
 
map.z = player.z
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» tir ennemi en direction du player object

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: