Historique des modifications - Message

Message #8944

Sujet: Collisions avec décor, déplacement, gravité


Type Date Auteur Contenu
Création du message 02-11-2010 15:28:54 Metallizer
Bon, j'ai approfondi mes recherches et j'en viens quasiment à la conclusion de devoir utiliser un moteur physique pour obtenir ce que je veux. Tmyke sur ce forum préconise Newton. Je me suis donc penché dessus.

Je n'ai pas la possibilité de tester mon code pour le moment, j'ai juste quelques pistes et j'aimerais avoir un avis pour le moment et quelques conseils pour ceux qui maitrisent.

Code c++ :


const float NewtonToIrr = 32.0f;
const float IrrToNewton = (1.0f / NewtonToIrr);

// Création du monde
NewtonWorld* world = NewtonCreate(NULL, NULL);

// Création d'une collision de type "scène"
NewtonCollision* levelCollision = NewtonCreateSceneCollision(world);

// Récupération des informations de la boite du héro
core::aabbox3d<f32> box = hero->getBoundingBox();
core::vector3df size = box.getExtent() * IrrToNewton; 

// Création d'une collision boite
NewtonCollision* heroCollision = NewtonCreateBox(world, size.X, size.Y, size.Z, NULL);

// Création des bodies
NewtonBody* levelBody = NewtonCreateBody(world, levelCollision);
NewtonBody* heroBody = NewtonCreateBody(world, heroCollision);

// Application de la gravité au body
NewtonBodySetMassMatrix(heroBody, 1.0f, 5.0f, 1.0f, 5.0f);

while(device->run()) {
  NewtonUpdate(world, 1.0f / 60);
}


Est-ce la bonne manière de procéder ? Je suis parti du principe qu'on doit créer des objets "Collision", les associer à des "Bodies"... Mais les tutoriaux que j'ai trouvé ne sont pas évidents et je n'ai rien trouvé de concret sur l'utilisation de collisions pour une Scène (qui je le rappelle est un mesh, ou plusieurs).

D'ailleurs, comment associer un Node (et donc un Mesh) Irrlicht à une Collision Newton de type "Scène" ? Je crois que c'est ce qui manque à mon code.

Merci pour les futurs avis.

Retour

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
138 invités en ligne
membre en ligne: -
RSS Feed