[SOLVED] height of a map

Technogenius

03-03-2007 12:05:33

Hello there ::mrgreen:: ,
I try to make my mesh walk on a terrain, how can i know the height (z coordinate) ? form his position (x,y) ?

daedar

03-03-2007 13:02:52

Salut à toi :wink: ,

so here is a little piece of my code that I use to know the height of the terrain for a given point:


/**Intersection terrain*/
Ray cameraRay( Vector3( pos.x, 5000.0f, pos.y ), Vector3::NEGATIVE_UNIT_Y );
RaySceneQuery *mRaySceneQuery = mSceneMgr->createRayQuery( Ray( ) );
mRaySceneQuery->setRay( cameraRay );
/** Execution de la requete*/
mRaySceneQuery->setSortByDistance( false );
mRaySceneQuery->setQueryTypeMask(Ogre::SceneManager::WORLD_GEOMETRY_TYPE_MASK );
mRaySceneQuery->setWorldFragmentType(SceneQuery::WFT_SINGLE_INTERSECTION);
RaySceneQueryResult &result = mRaySceneQuery->execute();
RaySceneQueryResult::iterator itr;
/** Recuperation des données*/
for ( itr = result.begin( ); itr != result.end(); itr++ ) {
if ( itr->worldFragment ) {
Real terrainHeight = itr->worldFragment->singleIntersection.y;
y = terrainHeight;
break;
}
}
...


PS: The height is generally Y given by the X and Z position of your mesh...

Technogenius

03-03-2007 14:03:26

Salut :P

well, I use a piece of code from Demo terrain, that works. I nevertheless will see your code.