AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-40%
Le deal à ne pas rater :
Tefal Ingenio Emotion – Batterie de cuisine 10 pièces (induction, ...
59.99 € 99.99 €
Voir le deal

 

 Terrain en d3d Nako

Aller en bas 
2 participants
AuteurMessage
Nako
Débutant



Messages : 13

Terrain en d3d Nako Empty
MessageSujet: Terrain en d3d Nako   Terrain en d3d Nako EmptySam 18 Juin 2016 - 12:27

Bonsoir

Comme je suis parvenu à convertir un modèle 3d fait depuis 3ds max en fichier de format d3d il m'est désormais possible d'afficher un terrain complexe avec d3d_start() de game maker 8 . Mon problème c'est la collisions:

Terrain en d3d Nako 913749Plane

Si on considère  l'image au dessus comme un terrain vue d'en haut et les points rouges comme des vertex d'altitude différent, est ce que vous pouvez m'expliquer un algorithme assez simple pour scanner l 'altitude dans toutes la surface ?

A noter que j'ai conservé la valeur de Z de chaque vertex dans un tableau à 2 dimension z[i,j]
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Terrain en d3d Nako Empty
MessageSujet: Re: Terrain en d3d Nako   Terrain en d3d Nako EmptySam 18 Juin 2016 - 14:42

Si t'as une grille, la première étape est d'obtenir les coordonnées de la cellule sur laquelle ton objet est placé.

En général il suffit de faire:
cell_x = x div cell_width
cell_y = y div cell_height

Maintenant que tu as la cellule, tu récupères les 4 vertex qui la forment.
Puis tu calcules l'altitude avec des interpolations linéaires.

Code de tête, y a peut être des bêtises, mais dans l'idée c'est un truc comme ça:
z1 = lerp(vertex_top_left_z, vertex_top_right_z, (x mod cell_width) / cell_width)
z2 = lerp(vertex_bottom_left_z, vertex_bottom_right_z, (x mod cell_width) / cell_width)
z = lerp(z1, z2,  (y mod cell_height) / cell_height)

Ce code ne marche que pour les grilles/heightmaps.

_________________
Terrain en d3d Nako Runningpotato1Terrain en d3d Nako TvF6GED Terrain en d3d Nako MdetltS
Revenir en haut Aller en bas
Nako
Débutant



Messages : 13

Terrain en d3d Nako Empty
MessageSujet: Terrain d3d Nako   Terrain en d3d Nako EmptySam 18 Juin 2016 - 19:35

Merci, maintenant je commence à avoir une idée de ce que tu m'as expliqué le problème c'est que GameMaker8 semble ne pas reconnaître les fonctions lerp(...) à moins que j'ai mal compris et que tu essayes juste de partager un nom commun d'une fonction  souvent utilisé en math

bref j'ai une idée de ce que je vais faire mais il y a un autre problème, enfaite ce que je veux créer c'est une fonction qui calcule l'altitude d'un point dans une cellule formé par 4 vertex en fonction de ça position dans la même cellule et répéter la même action à l'aide d'un boucle for (...)

Cependant le nombre d'arguments risque de poser problème. pour rendre la fonction plus simple, il faut réduire le nombre d'argument utilisé, j'aimerai savoir s'il existe un type de variable qui peut contenir 2 ou 3 valeur dans GML ( du genre Vector3(x,y,z) ou Vector2(x,y) )

Merci d'avance et ne vous en faite pas, si je parviens à atteindre mon objectif c'est à dire la collisions d'un terrain .d3d je ferai un rapport détaillé de mes recherches  pour aider les autre à mon tour  ...
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Terrain en d3d Nako Empty
MessageSujet: Re: Terrain en d3d Nako   Terrain en d3d Nako EmptySam 18 Juin 2016 - 20:19

Normalement y a lerp dans GM, mais au pire c'est une fonction toute simple a écrire (interpolation linéaire):
lerp(a, b, t)
return argument0 + (argument1 - argument0) * argument2

Sinon non dans GM les structures custom n'existent pas. Donc pour le Vector3 c'est mort :/

Pour les collisions par contre je vois pas pourquoi tu veux passer par une boucle, t'as juste a determiner la hauteur de la position ou tu te trouves, donc juste a tester une seule cellule.
(a moins que tu veuilles des collisions entre une AABB et une heightmap)

_________________
Terrain en d3d Nako Runningpotato1Terrain en d3d Nako TvF6GED Terrain en d3d Nako MdetltS
Revenir en haut Aller en bas
Contenu sponsorisé





Terrain en d3d Nako Empty
MessageSujet: Re: Terrain en d3d Nako   Terrain en d3d Nako Empty

Revenir en haut Aller en bas
 
Terrain en d3d Nako
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» terrain mapper
» Moteur de terrain 3D
» Destruction de terrain
» Terrain destructible
» Problème terrain destructible

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: