new animation structure

remade animation controller
This commit is contained in:
devZoGok
2021-10-19 19:06:41 +03:00
parent 7f09723104
commit 46cd64db9e
11 changed files with 143 additions and 207 deletions
+5 -25
View File
@@ -35,31 +35,11 @@ namespace vb01{
vector<Keyframe> keyframes;
Animation *animation = controller->getAnimation(animName);
Node *controllerNode = controller->getNode();
KeyframeGroup *startGroup = nullptr;
if(controllerNode){
startGroup = animation->getKeyframeGroup(controllerNode);
for(int j = 0 ; j < startGroup->keyframeChannels.size(); j++){
KeyframeChannel ch = startGroup->keyframeChannels[j];
for(int k = 0; k < ch.keyframes.size(); k++)
keyframes.push_back(ch.keyframes[k]);
}
}
else{
startGroup = animation->getKeyframeGroup((Node*)bones[0]);
for(int i = 0; i < bones.size(); i++){
KeyframeGroup *kg = animation->getKeyframeGroup((Node*)bones[i]);
for(int j = 0 ; j < kg->keyframeChannels.size(); j++){
KeyframeChannel ch = kg->keyframeChannels[j];
for(int k = 0; k < ch.keyframes.size(); k++)
keyframes.push_back(ch.keyframes[k]);
}
}
}
const vector<KeyframeChannel> &keyframeChannels = animation->getKeyframeChannels();
for(KeyframeChannel ch : keyframeChannels)
for(Keyframe k : ch.keyframes)
keyframes.push_back(k);
return keyframes;
}