salut,
mon programme choisie un module aléatoirement dans un fichier xml et le charge.
ensuite, j'aimerai récupérer la position de plusieurs bones du module et j'arrive à récupérer la position d'un bone mais pas de plusieurs de manière récursive.
mon code pour récupérer la position d'un bone, qui compile et fonctionne :
mon code pour récupérer plusieurs positions afin de les stocker, qui compile mais crash l'application comme indiqué dans les commentaires :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 moduleNode=my_scene->CreateChild("module"); moduleNode->SetPosition(Vector3(0,0,0)); AnimatedModel* moduleObject=moduleNode->CreateComponent<AnimatedModel>(); moduleObject->SetModel(cache->GetResource<Model>(modulePath)); moduleObject->SetMaterial(cache->GetResource<Material>(moduleTexturePath)); exit1=moduleNode->GetChild("exit1", true); exit1Pos=exit1->GetWorldPosition(); exit1PosX=exit1Pos.x_; exit1PosY=exit1Pos.y_; exit1PosZ=exit1Pos.z_;
quelqu'un peut me dire ce qui cloche ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 moduleNode=my_scene->CreateChild("module"); moduleNode->SetPosition(Vector3(0,0,0)); AnimatedModel* moduleObject=moduleNode->CreateComponent<AnimatedModel>(); moduleObject->SetModel(cache->GetResource<Model>(modulePath)); moduleObject->SetMaterial(cache->GetResource<Material>(moduleTexturePath)); // for(listNumber=0;listNumber<exits;listNumber++) { std::string exit = ("exit"); { std::ostringstream ss; ss<<listNumber; std::string s(ss.str()); exit.append(s); } const char* exitX = exit.c_str(); Node* exitNode = moduleNode->GetChild(exitX, true); // this one works //Vector3 exitPos= exitNode->GetWorldPosition(); //not this one, compile but crash the app //float exitPosX=exitPos.x_; //float exitPosY=exitPos.y_; //float exitPosZ=exitPos.z_; }
merci.
Partager