Войти
ПрограммированиеФорумФизика

Collision - (Ogre + PhysX)

#0
10:06, 18 мар. 2007

Создаю динамического актера:

Ogre::Entity *en = mSceneMgr-> createEntity("Player", "Robot.mesh");
Ogre::SceneNode *mNode = mSceneMgr->getRootSceneNode()->
createChildSceneNode("nameNode");
mNode->attachObject(en);

NxActorDesc actorDesc;
NxBodyDesc bodyDesc;

NxBoxShapeDesc boxDesc;
boxDesc.dimensions.set(0.5,0.5,0.5);
actorDesc.shapes.pushBack(&boxDesc);

actorDesc.body = &bodyDesc;
actorDesc.density = 10;
actorDesc.globalPose.t = NxVec3(100,10,0);       
ac = mScene->createActor(actorDesc);
ac->setName("Player");
ac->userData = mNode;

Создаю статического актера:

actorDesc.setToDefault();
bodyDesc.setToDefault();
boxDesc.setToDefault();

Ogre::Entity *en2 = mSceneMgr-> createEntity("Player2", "Ninja.mesh");
Ogre::SceneNode *mNode2 = mSceneMgr->getRootSceneNode()->
createChildSceneNode("nameNode2");
mNode2->attachObject(en2);

actorDesc.shapes.pushBack(&boxDesc);
actorDesc.body = NULL;
actorDesc.density = 10;
actorDesc.globalPose.t = NxVec3(0,10,0);       
ac2 = mScene->createActor(actorDesc);
ac2->userData = mNode2;

Когда я управляю дин. актером - ac (через addForce), то нет ни какого коллизиона с ст. актером – ac2 он просто пролетает сквозь него ?


#1
10:13, 19 мар. 2007

Причем как не меняю позицию статического объекта он се рано пояляется одном и том же месте (
actorDesc2.globalPose.t = NxVec3(x,y,z);

#2
0:20, 5 апр. 2007

Народ подскажите где ошибка
я уже добавляю и
ac->setGroup(1);
SetActorCollisionGroup(ac, 1);

ac2->setGroup(2);
SetActorCollisionGroup(ac2, 2);


mScene->setGroupCollisionFlag(1,2,true);

Всё равно дин. актер не сталкивается со статическим а просто проходит сквозь него ????

ПрограммированиеФорумФизика

Тема в архиве.