【问题标题】:90 fps in Maya for HTC ViveHTC Vive 的 Maya 中 90 fps
【发布时间】:2017-01-23 11:42:17
【问题描述】:

我正在为 HTC Vive VR HMD 在 Maya/Stingray 2017 中开发一款游戏。众所周知,Vive 以最低 90fps 的速度运行游戏(我们需要使用 90fps 来获得强大的 VR 体验并且不会感到恶心)。但是 Maya 没有 90 fps 预设。它只支持这些:2、3、4、5、6、8、10、12、15、16、20、24、25、30、40、48、50、60、75、80、100、120、 125、150、200、240、250、300、375、400、500、600、750、1000、1200、1500、2000、3000 和 6000 fps。

这是我在脚本编辑器中为 90fps80fps 执行的 MEL 命令:

currentUnit -t "90fps"; 
// Warning: line 1: Illegal value entered for -time // 

currentUnit -t "80fps";
// Result: 80fps // 

如何使用 MEL 让 Maya 以 90 fps 准确地播放我的动画?

【问题讨论】:

    标签: python maya mel htc-vive autodesk-stingray


    【解决方案1】:

    根据文档: http://help.autodesk.com/cloudhelp/2016/ENU/Maya-Tech-Docs/Commands/

    currentUnit -time "30fps";
    

    应该是:

    currentUnit -time "ntsc"; // This is 30 FPS
    currentUnit -time "film"; // This is 24 FPS
    

    或类似的。

    为了回答您的问题,您说 HTC Vive VR 耳机需要至少 90 FPS。为什么不以 100 FPS 的速度运行?十个额外的帧对于您的播放器是否会实际看到帧速率几乎没有什么区别。当您超过 90 FPS 时,帧速率变得如此清晰,以至于人类通常很难有意识地意识到 90 帧和 100 帧之间的差异。

    这是来自动画师。

    也就是说,您可以继续使用相同的间隔并提高到 120 FPS。这将控制帧速率比,因为它是 30 的倍数,就像 90 帧一样。

    我希望这会有所帮助。 Maya 不会使用随机值,因为有帧速率标准。 90 有点奇怪。

    【讨论】:

    • 我完全同意它必须是 30 的倍数。但是如果额外的 30 帧在 Preferences 中几乎没有差异,那么并不是每台计算机都可以玩 120 fps 的游戏。顺便说一句,Oculus 的 75 fps 也有点奇怪,尽管 Maya 有这样的预设。
    • 所以 90Hz 是指显示器的刷新率。这就是90fps的原因。奇怪的是 Maya 没有预设 90Hz 显示器。
    • 但 90 Hz 并不总是与 90 FPS 相同。由于游戏延迟,您可以在 90 HZ 屏幕上拥有 20 FPS,并且在游戏之外不会出现任何视觉故障,只是处理缓慢。更不用说,游戏 FPS 是可变的,它会随着硬件负载而上下波动。
    • 另外,Maya 中的 FPS 与动画有关,而不是视觉显示。老实说,你可以有一个较低的动画率,它不会影响你的游戏。如果您担心视觉效果会受到帧速率的影响,您需要检查游戏引擎(如 Unreal 或 Unity)生成的适当 FPS。
    • 动画/帧率方面,有旧标准是为显示的数量制定的。有一个完整的历史基于它。但我同意,在这个时代,Autodesk 应该做一些额外的事情来更新他们的软件。不过我要说明一件事,如果你的动画是正确的,那么 FPS 就不会太重要了。干杯!
    【解决方案2】:

    我觉得 Maya 中的帧速率以及动画的实际完成方式存在一些误解。

    帧速率可供动画师使用他们对帧和时间的了解。然而,动画键可以设置为关闭数字,如 15.62。框架是为了方便而存在的,但不会改变动画被及时放置在浮点上的事实。

    这意味着您基本上可以将 Maya 设置为 12 fps,并且在您的游戏引擎中仍然让动画完全流畅,假设您的键是插值的。

    动画师以 60 fps 的速度工作可能会有所帮助,但没有什么可以阻止您在 30.5 帧设置关键点。

    您可以使用的一个技巧(如果您的计算机足够快)是将“播放依据”首选项设置为小于 1。因此,例如,如果您以 30 fps 的速度进行动画制作,但想要以 60 fps 的速度预览您的动画fps,你可以简单地在“Preferences > Time Slider”下设置以下选项:

    • 播放速度> 播放每一帧
    • 回放 > 0.5
    • 最大播放速度 > 实时

    通过这种方式,您可以使用半帧进行硬件渲染并以两倍的速度播放。

    因此,将帧视为浮动时间线上的点...

    Example of frame to time at 30 fps
    
    Frame    0      1      2      3      4      5      6      
    Time     0.000  0.033  0.067  0.100  0.133  0.167  0.200  etc.
    

    作为一名动画师,我也讨厌以 90 fps 的速度工作。一秒钟要考虑的帧太多了。相反,我会调整以 90 fps 观看时动画可能不够“活泼”的几个点。通常这可以通过简单地调整曲线来完成。

    【讨论】:

      【解决方案3】:

      现在 Autodesk Maya 2020 支持 90 fps 帧速率(现在其 fps 范围为 2 到 48000 fps):

      MEL 命令:

      currentUnit -time "90fps";
      
      # // Result: 90fps // 
      

      Python 命令:

      import maya.cmds as cmds
      
      cmds.currentUnit(time='90fps')
      
      # // Result: 90fps //
      

      ...那么你可以查询:

      cmds.currentUnit(query=True, time=True)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-29
        相关资源
        最近更新 更多