从帧速率和当前标准化时间知道帧编号

时间:2015-07-28 06:51:54

标签: animation math unity3d unityscript

我有一个以21 fps(每秒帧数)运行的动画,它有180帧,我知道动画期间每帧的标准化时间(0-> 1)。我想知道如果我只给出那帧的标准化时间我怎么能知道帧号?请任何建议。

2 个答案:

答案 0 :(得分:0)

根据此信息,您的动画需要180/21 = 8.57 aprox时间才能完成。因此,您需要通过

找到timeOfFrame
float timeOfFrame = 8.75f * normalizedTime;

然后按

编号
int frameNumber = (int) (timeOfFrame * 21);

所以实际上它派生为:

FrameNumber = NumberOfFrames * NormalizedTimeOfFrame

答案 1 :(得分:0)

我通过以下方式解决了这个问题:

        int frameNumber = Mathf.FloorToInt(normalizedtime* 180);