Update assimpShapeLoader.cpp

This commit is contained in:
marauder2k7 2024-02-10 04:25:48 +00:00
parent 26e1350234
commit 144e1bcc60

View file

@ -255,42 +255,26 @@ void AssimpShapeLoader::enumerateScene()
void AssimpShapeLoader::processAnimations() void AssimpShapeLoader::processAnimations()
{ {
bool ambient = false; // add all animations into 1 ambient animation.
for(U32 n = 0; n < mScene->mNumAnimations; ++n) aiAnimation* ambientSeq = new aiAnimation();
ambientSeq->mName = "ambient";
Vector<aiNodeAnim*> ambientChannels;
for (U32 i = 0; i < mScene->mNumAnimations; ++i)
{ {
Con::printf("[ASSIMP] Animation Found: %s", mScene->mAnimations[n]->mName.C_Str()); aiAnimation* anim = mScene->mAnimations[i];
for (U32 j = 0; j < anim->mNumChannels; j++)
if (mScene->mAnimations[n]->mName.C_Str() == "ambient")
ambient = true;
AssimpAppSequence* newAssimpSeq = new AssimpAppSequence(mScene->mAnimations[n]);
appSequences.push_back(newAssimpSeq);
}
// dont have ambient, lets just add everything to an ambient sequence.
// we should probably just do this as default.
if (!ambient)
{
aiAnimation* ambientSeq = new aiAnimation();
ambientSeq->mName = "ambient";
Vector<aiNodeAnim*> ambientChannels;
for (U32 i = 0; i < mScene->mNumAnimations; ++i)
{ {
aiAnimation* anim = mScene->mAnimations[i]; ambientChannels.push_back(anim->mChannels[j]);
for (U32 j = 0; j < anim->mNumChannels; j++)
{
ambientChannels.push_back(anim->mChannels[j]);
}
} }
ambientSeq->mNumChannels = ambientChannels.size();
ambientSeq->mChannels = ambientChannels.address();
AssimpAppSequence* defaultAssimpSeq = new AssimpAppSequence(ambientSeq);
appSequences.push_back(defaultAssimpSeq);
} }
ambientSeq->mNumChannels = ambientChannels.size();
ambientSeq->mChannels = ambientChannels.address();
AssimpAppSequence* defaultAssimpSeq = new AssimpAppSequence(ambientSeq);
appSequences.push_back(defaultAssimpSeq);
} }