【问题标题】:How to "render" a Box2D scene on iPhone如何在 iPhone 上“渲染”一个 Box2D 场景
【发布时间】:2011-04-12 04:53:47
【问题描述】:

我目前在 iPhone 上使用 box2d 和 cocos2d。我设置了一个相当复杂的场景,我希望最终用户能够将其录制为视频作为应用程序的一部分。我已经使用 AVAssetWriter 等实现了一个记录器,并设法让它记录从 OpenGL 像素数据中抓取的帧。

但是,此视频录制似乎 a) 稍微减慢了应用程序的速度,但更重要的是 b) 最多只能每秒录制几帧。

这让我产生了渲染 Box2D 场景、手动触发滴答声并在每个滴答声中抓取图像的想法。但是,dt 在这里可能是个问题。

只是想知道是否有人已经这样做了,或者是否有人有更好的想法?

【问题讨论】:

    标签: iphone ios opengl-es cocos2d-iphone box2d


    【解决方案1】:

    我想一个好的解决方案是使用像 ScreenFlow 或类似的屏幕录像机解决方案......

    【讨论】:

    • iOS 有这样的应用吗?
    • 我想是的,但是这样的视频录制需要很高的CPU来进行飞行压缩,设备有点弱。尽可能在模拟器上做...
    • 谢谢文森特。这个想法是允许最终用户在他们喜欢的时候录制并分享到他们的 Youtube。我应该在最初的问题中更清楚地说明这一点 - 我现在将对其进行编辑。
    【解决方案2】:

    我认为您的 box2d 是个好主意...但是,您可能希望使用固定时间步骤。如果你使用 dt,物理模拟中的步骤会很大,并且 box2d 会不稳定和紧张。

    http://gafferongames.com/game-physics/fix-your-timestep/

    帧速率会受到影响,但您会获得每一帧。我认为您无法在录制每一帧的同时仍保持稳定的帧速率 - 这似乎需要很多硬件。

    【讨论】:

    • 感谢 mfredrickson 的提示。我已经查看了链接,这肯定是工作解决方案不可或缺的一部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 2015-07-28
    相关资源
    最近更新 更多