#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
882 membres
1429 sujets
11119 messages
Dernier membre inscrit: LiseBuisson96
37 invités en ligne
Aucun membre connecté
RSS Feed