#1 

17-08-2010 13:50:21

Kit-fisto24
Membres
Date d'inscription:
Messages: 60
IP: 86.209.109.170
Courriel

Salut,

Pour mon programme, j'aurais besoin de la fonction getHeight(), jusque là tout va bien, mais le problème c'est que mon terrain subit une rotation ( sur l'axe Y), et getHeight, ne me renvoie que "-1e+006" (où que je sois sur le terrain), mais si j'enlève la rotation, getHeight() me renvoie la bonne hauteur. Comment régler ce problème, tout en gardant la rotation?


Hors ligne


#2 

17-08-2010 15:13:10

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 188.93.45.30
Courriel  Site web

un peu de code ? non ... smile

bon sinon je ne sais pas trop comment tu gères ça, avec un picking sans doute, enfin j'imagine ... dans cette optique tu peut faire subir une transformation aux coordonnée du picking avec les matrices, ce qui devrait faire pointer le bon endroit

sinon tu refais ta fonction getHeight en te basant sur les coordonnées x,z du terrain, moins pratique dans certain cas j'avoue, mais avec la même approche ( avec les matrices ), il doit tout de même y avoir moyen d'obtenir les mêmes résultats, et plus rapide je penses, car les méthode de picking sont basées sur du raycast en général et plutôt lent ...

bref je parle dans le vent sans codes .... wink
ah et es tu sûr que quand tu cherches à appeler getHeight(), tu as le bon node ? possible que tu te retrouves avec un pointeur invalide/vide/...

Hors ligne


#3 

17-08-2010 15:49:21

Kit-fisto24
Membres
Date d'inscription:
Messages: 60
IP: 86.209.109.170
Courriel

Déjà merci d'avoir répondu. smile
Voici le code:

// Dans main
// .....

    terrain = smgr->addTerrainSceneNode(
			TCheminNiveau[3].c_str(),
                0,                                      // parent node
                -1,                                     // node id
                core::vector3df(0.f, 0.f, 0.f),         // position  
                core::vector3df(0.f, -90.f, 0.f),         // rotation
                core::vector3df(31.87f, 10.87f,31.87f),      // scale 
                video::SColor ( 255, 255, 255, 255 ),   // vertexColor
                5,                                      // maxLOD
                scene::ETPS_17,                         // patchSize
                4                                       // smoothFactor
                );
        terrain->setMaterialFlag(video::EMF_LIGHTING, false);
	terrain->setMaterialFlag(video::EMF_FOG_ENABLE, true);
       terrain->setMaterialTexture(0, driver->getTexture("terrain-texture.jpg"));
       terrain->setMaterialTexture(1, driver->getTexture("detailmap3.jpg"));

while(device->run())
{
//.......
//.......
posCam = camera->getPosition();
cout << terrain->getHeight(posCam.X, posCam.Z) << endl;
//.....

Il y a juste ça dans le code qui concerne le terrain. Et il suffit que je remplace -90.f par 0.f dans rotation pour que tout marche parfaitement.


Hors ligne


#4 

17-08-2010 20:57:28

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 188.93.45.30
Courriel  Site web

uhm je pensais que tu utilisais un terrain perso, mais la du coup sa change tout ... ça viens directement d'irrlicht hmm

bon, pour se faire je te conseil d'utiliser un terrain de TMyke dispo sur ce forum, ou quelque chose dans le même style, ou regarde sur le forum officiel
il sont plus optimisés que celui de "base" proposé par l'engine

c'est temporaire ou pas, cela dépend de tes besoins, ou de tes << capacités ? >>
sinon il est probable que ce ne soit qu'un bug de ta version d'irrlicht, il y a peut-être un corectif sous la svn, si tu n'y est pas déjà sinon repasse en release, on ne sait jamais smile

sur ce, bonne soirée/journée/nuit/matiné/... ! wink

edit/ps: je peux toujours te conseiller sur le moteur de terrain, j'ai bien du tous les regarder, si tu en fait un, regarde l'exemple 23 ..

Hors ligne


#5 

18-08-2010 12:18:32

TUpac
Membres
Avatar de TUpac
Date d'inscription:
Messages: 387
IP: 80.13.52.19
Courriel

[hs]Magun : je peut toujours te conseiller sur le moteur de terrain, j'est bien du touse les regardés, si tu en fait un, regarde l'exemple 23 ..
Fixed : je peuX toujours te conseiller sur le moteur de terrain, j'AI bien du touS les regardER, si tu en fait un, regarde l'exemple 23 ..

Sans rancune Magun? je ne peux résister quand c'est aussi gros. Rassure toi t'es pas le seul à recevoir des cours de français, c'est plus fort que moi.
Au fait! Nico j'aimerai faire une réclam. pour un nouveau forum qui se trouverait juste après "aide au language C++" et qui s'intitulerait :"aide au language FR++" big_smile

bisoux smile


ps : Tupac tu devrais te rentre sur le forum FR++ de toute urgence !!

Tupac : Bisoux smile
Fixed : Bisous (sourire)

:p[/hs]


"Si vous ne partagez pas votre stabilité avec les pauvres, les pauvres partageront leur instabilité avec vous."

Hors ligne


#6 

18-08-2010 12:59:40

Kit-fisto24
Membres
Date d'inscription:
Messages: 60
IP: 86.209.109.170
Courriel

hum, le problème c'est que j'ai besoin de régler ce problème assez vite. sad
Mais c'est quoi exactement les terrains de TMyke? Car je n'ai pas trouvé en cherchant sur le forum.
Pour le problème de version, j'ai déjà essayé sur plusieurs versions et à chaque fois ça ne marchait pas.


Hors ligne


#7 

18-08-2010 13:08:06

nico
Administrateurs
Avatar de nico
Date d'inscription:
Messages: 563
IP: 82.232.128.163
Courriel

[hs]Bein alors Tupac, es-tu fatigué en ce moment ? Tu zappe le plus mythique.

cela dépent de t'est beusoin, ou de t'est << capaciter ? >>

hein bâte table ! wink.
Je vais essayer de trouver une solution, je songe à mettre en place un système de correction, je vous tiens au courant...

ps: lol, on se marre, mais la grammaire française est bien plus complexe que tout les langages de programmations réunis
nb: oui moi aussi je fait souvent des fautes sad
edit: les liens de tmyke sont morts, pourrais-tu poster le code Magun ? tiens d'ailleur je sais pas ce qu'il devient tmyke, quelqu'un à des nouvelles ?[/hs]


Hors ligne


#8 

18-08-2010 19:15:32

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 188.93.45.30
Courriel  Site web

@Kit-fisto24: pour le terrain de TMyke http://irrlicht-fr.org/viewtopic.php?id=533
si tu ne le trouves pas très pratique je peux (re)chercher sur le forum officiel, ceux qui m'avaient plu.

[hs]
@all other: ça va vous vous amusez bien ? wink
vous avez de la chance je suis de bonne humeur ( internet rétabli après 4 ou 5h de coupure ! )
trois infos histoire de me trouver des prétextes **sifflote**

je l'ai déjà spécifié à nico, mais, mes vacances se sont résumées à 18h de pc par jour, et depuis peu 20h ...
je bosse évidemment dans le noir, et je ne vois évidemment pas mon clavier ! hmm
ah oui et le dernier j'ai mon correcteur orthographique sous windows, or je suis en permanence sous linux smile

const char ps[3][] =
{
"c'est pas bien de polluer un topic ! neutral\
",
"oui je sais j'en fait partie\
...",
0
};[/hs]

Hors ligne


#9 

19-08-2010 01:18:05

TUpac
Membres
Avatar de TUpac
Date d'inscription:
Messages: 387
IP: 88.168.3.38
Courriel

[hs]mais lol !! ce sont des prétextes à deux balles mais je vais les accepter smile
Même si le correcteur fonctionne à merveille sous linux, il est aussi vrai qu'il ne gère pas la grammaire.

std::vector<std::string> ps;
ps.push_back("Magun:Sa va vous vous amusé bien Fixed:Ca va vous vous amusEZ bien");
ps.push_back("Magun:je les déjà spécifié à nico Fixed:je l'AI déjà spécifié à nico");
ps.push_back("http://www.pcpractic.rs/data/products/5/g11_keyboard_usb_us_layout.jpg");
ps.push_back("C'est bon j'arrête de te souler promis :p");[/hs]


"Si vous ne partagez pas votre stabilité avec les pauvres, les pauvres partageront leur instabilité avec vous."

Hors ligne


#10 

19-08-2010 02:31:54

nico
Administrateurs
Avatar de nico
Date d'inscription:
Messages: 563
IP: 82.232.128.163
Courriel

"-1e+006" ? y a t-il un rapport avec epsilon ?

[hs]

Magun Ecris:

Sa va vous vous amusé bien ?

j'avoue

Magun Ecris:

c'est pas bien de polué un topic !




edit: pas taper wink
[/hs]


Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
570 invités en ligne
membre en ligne: -
RSS Feed