#0 

16-12-2008 12:05:42

hardcpp
Abonné
Date d'inscription: 26-04-2008
Messages: 229

voila ce bout de code vous permettra de créer des collisions avec tout les objets pressent dans la scène:
(pour la version 1.5 d'Irrlicht.)

Code c++ :

    scene::IMetaTriangleSelector * meta = smgr->createMetaTriangleSelector();

    core::array<scene::ISceneNode *> nodes;
    smgr->getSceneNodesFromType(scene::ESNT_ANY, nodes);

    for (u32 i=0; i < nodes.size(); ++i)
    {
        scene::ISceneNode * node = nodes[i];
        scene::ITriangleSelector * selector = 0;

        switch(node->getType())
        {
            case scene::ESNT_CUBE:
            case scene::ESNT_ANIMATED_MESH:
                selector = smgr->createTriangleSelectorFromBoundingBox(node);
            break;

            case scene::ESNT_MESH:
            case scene::ESNT_SPHERE:
                selector = smgr->createTriangleSelector(((scene::ImeshSceneNode*)node)->getMesh(), node);
                break;

            case scene::ESNT_TERRAIN:
                selector = smgr->createTerrainTriangleSelector((scene::ITerrainSceneNode*)node);
                break;

            case scene::ESNT_OCT_TREE:
                selector = smgr->createOctTreeTriangleSelector(((scene::ImeshSceneNode*)node)->getMesh(), node);
                break;

            default:
                break;
        }

        if(selector)
        {
            meta->addTriangleSelector(selector);
            selector->drop();
        }
    }

    scene::ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(
        meta, camera, core::vector3df(5,5,5),
        core::vector3df(0,0,0));
    meta->drop();

    camera->addAnimator(anim);
    anim->drop();

Hors ligne


#1 

27-12-2008 12:53:05

hardcpp
Abonné
Date d'inscription: 26-04-2008
Messages: 229

up

Hors ligne


#2 

28-12-2008 15:25:04

endering
Membre
Date d'inscription: 20-11-2008
Messages: 35

Salut,
Chez moi il n'y a pas de " ESNT_ANY ", il faut la version 1.5 d'irrlicht ? neutral


" N´essaye pas. Fait le, ou ne le fait pas. Il n´y a pas d´essai." - Yoda

Hors ligne


#3 

28-12-2008 16:17:07

hardcpp
Abonné
Date d'inscription: 26-04-2008
Messages: 229

oui

Hors ligne


#4 

28-12-2008 17:35:59

ayboangelus
Membre
Date d'inscription: 08-12-2008
Messages: 53

Merci ca c'est génial je test dès que je met en route mon monde


Akhynia - MMORPG en projet => http://www.akhynia.fr

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
881 membres
1426 sujets
11116 messages
Dernier membre inscrit: Bidule
52 invités en ligne
Aucun membre connecté
RSS Feed