【问题标题】:Know the the frame number from frame rate and current normalized time从帧率和当前归一化时间知道帧数
【发布时间】:2015-07-28 06:51:54
【问题描述】:

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

【问题讨论】:

  • 我看到了你的另一个问题,想知道为什么你需要知道动画的时间?
  • @mGuv 还有什么问题?

标签: animation math unity3d unityscript


【解决方案1】:

我解决了这个问题:

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

【讨论】:

    【解决方案2】:

    根据此信息,您的动画大约需要 180/21 = 8.57 时间才能完成。所以,你需要通过

    找到timeOfFrame
    float timeOfFrame = 8.75f * normalizedTime;
    

    然后是帧号

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

    所以实际上它是这样派生的:

    FrameNumber = NumberOfFrames * NormalizedTimeOfFrame
    

    【讨论】:

    • 它工作不正常,并给出大帧数。我希望它是 1,2,3,4 .....
    • 按帧数是指1到180之间吗?
    猜你喜欢
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多