Bonjour à tous( ou plutôt bonsoir ),
Je suis entrain d'essayé de faire des scales sur des bones en m'entrainant sur le ninja d'irrlicht. Lui faire un scale complet, sa j'y arrive, mais par contre, se que j'ai voulu faire, c'était fais un scale à bone.
J'ai crée un nœud au joint 17( c'est le bone de la mains. j'ai essayer ensuite de lui faire un scale de 2 partout, et ensuite un scale de 10 partout, mais rien n'a changé, donc je voudrai savoir si c'est possible de faire des scale sur des bones ???
mon code pour que vous voyez au cas il y ai une erreur
#include <cstdlib>
#include <iostream>
#include <IRR/irrlicht.h>
using namespace std;
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
int main(void)
{
irr::IrrlichtDevice* device = irr::createDevice( irr::video::EDT_OPENGL, irr::core::dimension2d<irr::u32>(640,480), 32);
irr::video::IVideoDriver* driver = device->getVideoDriver ();
irr::scene::ISceneManager *sceneManager = device->getSceneManager ();
irr::scene::IAnimatedMeshSceneNode* ninja = sceneManager->addAnimatedMeshSceneNode(sceneManager->getMesh("ninja.b3d"));// creation du noeud
ninja->setMaterialTexture(0, driver->getTexture("nskinbl.jpg"));
ninja->setMaterialFlag(EMF_LIGHTING, false);
ninja->setFrameLoop(1,1);
irr::scene::IAnimatedMeshSceneNode* ninja2 = sceneManager->addAnimatedMeshSceneNode(sceneManager->getMesh("ninja.b3d"));// creation du noeud
ninja2->setMaterialTexture(0, driver->getTexture("nskinrd.jpg"));
ninja2->setFrameLoop(1,1);
ninja2->setPosition( vector3df(10,0,0) );
ninja2->setMaterialFlag(EMF_LIGHTING, false);
ISceneNode* main = ninja2->getXJointNode("Joint17");
main->setScale( vector3df(10,10,10) );
ninja->setMaterialFlag(irr::video::EMF_BACK_FACE_CULLING, false);
ninja2->setMaterialFlag(irr::video::EMF_BACK_FACE_CULLING, false);
irr::scene::ICameraSceneNode *cam = sceneManager->addCameraSceneNodeFPS(0,100.0f,0.01f);
while(device->run ()) // boucle de rendu
{
driver->beginScene(true, true, irr::video::SColor (0,120,120,120));
sceneManager->drawAll ();
driver->endScene ();
}
device->drop ();
return 0;
}
je vous remercie d'avance pour vos réponse