Aktuelle Zeit: 22.12.2024, 15:26

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
BeitragVerfasst: 02.11.2008, 16:23 
Offline

Registriert: 23.04.2007, 20:02
Beiträge: 73
Hallo,
Ich habe versucht ein SJoint mit seinen weights in ein anderes ISkinnedMesh zu kopieren.
Das Kopieren der entsprechenden vertices und indices war erfolgreich (wurden auch korrekt dargestellt)
aber wenn ich versucht habe ein neues SJoint zu erstellen und den ganzen Kram von dem alten
zum neuen Joint zu kopieren hats nicht geklappt: Als ich versucht habe das IBoneSceneNode
(nach dem Hinzufügen des IAnimatedMeshSceneNodes natürlich) über node->getJointNode("Joint23")
zu bekommen hats nicht funktioniert und das IBoneSceneNode ist immer noch Null.

Warum???

Code:
m->createJoint(parentjoint);
m->getAllJoints().getLast()->Animatedposition=joint->Animatedposition;
m->getAllJoints().getLast()->Animatedrotation=joint->Animatedrotation;
m->getAllJoints().getLast()->Animatedscale=joint->Animatedscale;
m->getAllJoints().getLast()->GlobalAnimatedMatrix=joint->GlobalAnimatedMatrix;
m->getAllJoints().getLast()->GlobalInversedMatrix=joint->GlobalInversedMatrix;
m->getAllJoints().getLast()->GlobalMatrix=joint->GlobalMatrix;
m->getAllJoints().getLast()->LocalAnimatedMatrix=joint->LocalAnimatedMatrix;
m->getAllJoints().getLast()->LocalMatrix=joint->LocalMatrix;
m->getAllJoints().getLast()->Name=joint->Name;

int i;
for(i=0;i<joint->PositionKeys.size();i++){
m->createPositionKey(m->getAllJoints().getLast());
m->getAllJoints().getLast()->PositionKeys.getLast().frame=joint->PositionKeys[i].frame;
m->getAllJoints().getLast()->PositionKeys.getLast().position=joint->PositionKeys[i].position;
}
for(i=0;i<joint->RotationKeys.size();i++){
m->createRotationKey(m->getAllJoints().getLast());
m->getAllJoints().getLast()->RotationKeys.getLast().frame=joint->RotationKeys[i].frame;
m->getAllJoints().getLast()->RotationKeys.getLast().rotation=joint->RotationKeys[i].rotation;
}
for(i=0;i<joint->ScaleKeys.size();i++){
m->createScaleKey(m->getAllJoints().getLast());
m->getAllJoints().getLast()->ScaleKeys.getLast().frame=joint->ScaleKeys[i].frame;
m->getAllJoints().getLast()->ScaleKeys.getLast().scale=joint->ScaleKeys[i].scale;
}

m->getAllJoints().getLast()->Weights=joint->Weights;
for(i=0;i<joint->Weights.size();i++){
m->getAllJoints().getLast()->Weights[i].buffer_id=0;//all vertices are in m->getMeshBuffers()[0]
m->getAllJoints().getLast()->Weights[i].vertex_id=verticesbefore+i;//add all new vertices to the weigths
}

m->finalize();


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de