【问题标题】:iOS timecode-synced downloadable animation systemiOS 时间码同步可下载动画系统
【发布时间】:2018-03-14 04:36:30
【问题描述】:

作为介绍和背景,我目前是一名新手 iOS 应用程序开发人员,我想确保我在制作这个应用程序时不会过多地重新发明轮子(重新发明轮子可能会变得非常昂贵。)

该应用程序将允许用户从互联网上下载我们的视频,并允许存储以供离线使用。将这些视频存储在设备上的问题是它们中的许多会太长,因此太大而无法存储。

然而,这些视频非常简单,由开头和结尾的几个“真实”视频短片组成,大部分视频是屏幕周围的动画静止图像。动画将仅包含不透明度和简单的转换关键帧(平移、缩放、围绕静态锚点旋转),并且每次转换都需要各种缓动函数。

最困难的部分可能是“视频”播放器还必须能够使用音频播放器的时间码进行跟踪,并且必须像普通视频播放器一样支持搜索任意点。

所以,既然我已经描述了这个问题,那么这就是我迄今为止提出的解决方案。希望这样做可以减少 XY 问题的可能性。 :)

这个想法基本上是对 Final Cut 和其他编辑程序处理动画所做的简化版本 - 有一堆剪辑,有时重叠,并且能够为动画的位置、缩放、旋转和不透明度设置动画。每个都使用关键帧。

就实现而言,我的第一直觉是使用 iOS 的一些游戏引擎来制作动画(也许是 SceneKit,因为它似乎允许动画使用场景时间而不是实时,尽管它主要是 3d 和我正在制作 2d 动画)并手动处理与音频播放器的同步时间,以及在搜索视频和剪辑开始/结束时手动处理场景中节点的添加和删除。

我可以利用哪些内置系统、插件等来更轻松、更快速地开发和维护?如果我不必手动将动画转码为某种自定义格式,则加倍积分。

【问题讨论】:

  • 你的问题太宽泛了,从标题中已经很清楚了,我建议编辑除时间问题之外的所有内容,并在其他问题中涵盖其余部分。

标签: ios animation video sprite-kit scenekit


【解决方案1】:

正如我在评论中提到的,您的问题相当广泛,并且包含多个问题,我将解决您提到的可能是最难的部分: https://developer.apple.com/documentation/avfoundation/avplayeritem https://developer.apple.com/documentation/avfoundation/avasset

看看 SpriteKit 及其 SKVideoNode,而不是 SceneKit。

另外,研究金属视频处理。有一些可用的示例项目可供您用作起点。

【讨论】:

  • 您可以将 SKVideoNode 与 SceneKit 一起使用
  • 是的,但这仍然不是使用 SceneKit 的好理由,因为他提到他只会做 2D 动画。
  • 它可能是带有广告牌的 3D
  • AVFoundation 非常完美!谢谢!我在 6 小时内完成了我认为需要几天的时间!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-28
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
相关资源
最近更新 更多