2
0
Эх сурвалжийг харах

Sanity check for sequence times.
If the sequence end time is greater than 1000, millisecond timestamps are automatically assigned.

OTHGMars 6 жил өмнө
parent
commit
8ecbe5992a

+ 6 - 0
Engine/source/ts/assimp/assimpAppSequence.cpp

@@ -69,6 +69,12 @@ AssimpAppSequence::AssimpAppSequence(aiAnimation *a) :
    }
    }
    else
    else
    {  // Timing specified in seconds or ms depending on format
    {  // Timing specified in seconds or ms depending on format
+      if (maxEndTime > 1000.0f || mAnim->mDuration > 1000.0f)
+      {
+         timeFactor = 1000.0f;   // If it's more than 1000 seconds, assume it's ms.
+         Con::setIntVariable("$Assimp::AnimTiming", 1000);
+      }
+
       timeFactor = mClamp(timeFactor, 1, 1000);
       timeFactor = mClamp(timeFactor, 1, 1000);
       minFrameTime /= (F32)timeFactor;
       minFrameTime /= (F32)timeFactor;
       maxEndTime /= (F32)timeFactor;
       maxEndTime /= (F32)timeFactor;