iOS 重度图像切换

标签 ios performance animation

我正在开发一款展示产品的应用。此应用程序的功能之一是您将能够使用手指/Pan-Gesture 来“旋转”产品。

我正在考虑通过从不同角度拍摄产品照片来实现这一点,因此当您“拖动”图像时,我所要做的就是相应地切换图像。如果你拖一点,我只切换一张图片...如果你拖很多,我会有节奏地切换它们,让它看起来像一部电影...但我有一个顾虑和一个可能的解决方案:

  • 这是“表演”吗?由于它是一个艺术/博物馆产品展示,照片的尺寸/清晰度会非常大,并且在“拖动很多”时加载/切换可能会出现问题,因为它会导致“闪烁”......解决方案是:我不会逐张加载图片,而是将它们全部放在一个巨大的工作表中,然后像处理 Sprite 一样处理它们...

这是个好主意吗?还是我应该坚持逐张旋转?

编辑 1:有一个复杂因素:用户将能够放大/缩小并沿任何轴(X、Y 和 Z)旋转产品...

最佳答案

我个人认为,我认为这不会按照您希望的方式工作,或者性能和/或美学不会达到您想要的效果。

1) 单独拍摄然后尝试根据触摸事件设置关键帧的效果不会很好,因为在“构图”镜头时不可避免地会出现不一致,从而导致回放不流畅

2) 我怀疑最好的方法是用视频拍摄它,并用某种装置拍摄它,让你在旋转物体的同时保持相机固定

3) 我很确定这就是大多数“专业”级产品轮播式演示的工作方式

4) 即便如此,您的图像帧也会比您需要的多——不确定您是打算将图像文件嵌入到应用程序中还是按需下载——但这也是您需要考虑的下采样程度我需要做的是减少帧/文件大小

建议

看看将这些拍摄成视频(有点像上面描述的那样),然后使用视频编辑器降低采样率并删除多余的帧。然后您可以使用 AVFoundation 进行播放并使用您的手势“擦洗”到视频帧中。我在一家大公司为 HTML 播放做过类似的事情,我可以向你保证这是用视频完成的。

或者,如果视频不适合您。您的 Sprite 表解决方案可能有效(考虑使用 SpriteKit)。但是请记住我所说的尝试将一个镜头外的关键帧放在一起——它不会很好地工作。也许妥协是拍摄静态图像,但通过固定相机并以非常特定的增量旋转物体来做到这一点。我想这也能奏效,但你需要非常小心光线和其他大气。根本不需要太多变化就可以被人眼检测到,从而导致整个演示文稿看起来很奇怪。祝你好运。

关于iOS 重度图像切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19610507/

相关文章:

ios - subview 中的自动布局、动画和图层

ios - 如何以编程方式在不在同一 Storyboard 上的 View Controller 之间切换?

C++11 智能指针总是代替新建/删除?

javascript - 如何在 svg 中将饼图部分从 0% 动画到 100%?

iPhone - 如何阻止 UIWebView 绘制/更新其内容

javascript - 此代码在片段中有效,但在博客中无效

javascript - Javascript Canvas 动画超出最大调用堆栈大小

ios - 如何在containerView中重新加载tableView?

ios - 当键盘出现并且相应的文本字段位于表格 View 部分标题中时,停止表格 View 的自动滚动

ios - 我应该在 applicationWillTerminate 中删除观察者吗?