void ModelInstance::setFrame(float frame) { if(!model) return; boundingBoxDirty = true; if(frame < 0) { for(size_t i = 0; i < model->skeleton->getBonesCount(); i++) { global[i] = model->skeleton->getBone(i)->globalSkeleton; } } else { for(size_t i = 0; i < model->skeleton->getBonesCount(); i++) { Bone* bone = model->skeleton->getBone(i); if(bone->parentIndex != -1) { global[i] = global[bone->parentIndex] * bone->evaluate(frame); } else { global[i] = bone->evaluate(frame); } } } }