iOS重图像切换

时间:2013-10-26 18:44:30

标签: ios performance animation

我正在开发一款展示产品的应用。这个应用程序的一个功能是,你将能够"旋转"使用你的手指/ Pan-Gesture产品。

我正在考虑通过从不同角度拍摄产品的照片来实现这一点,所以当你"拖动"图像,我所要做的就是切换图像。如果你拖一点,我只切换1张图片...如果你拖了很多,我会按照节奏切换它们看起来像电影...但我有一个问题和一个可能的解决方案:

  • 这是" performatic"?自从它是一个艺术/博物馆产品展示以来,这些照片的尺寸/清晰度非常大,并且在拖拉很多时会加载/切换。可能是一个问题,因为它会导致"闪烁" ...解决方案是:而不是按照pic-by-pic加载我会将它们全部放在一张大纸张中,然后通过它们进行处理,就好像它们一样是精灵......

这是一个好的意识吗?或者我应该坚持逐图片旋转?

编辑1:有一个复合器:用户可以放大/缩小并在任意轴(X,Y和Z)上旋转产品......

2 个答案:

答案 0 :(得分:2)

我个人认为,我认为这不会按照你希望的方式运作,或者表现和/或美学不会是你想要的。

1)根据触摸事件拍摄个人拍摄然后尝试基于触摸事件的关键帧效果将无法正常工作,因为在拍摄“镜框”时会出现不可避免的不一致,以至于播放效果不会很顺畅

2)我怀疑,最好的方法是用视频拍摄并使用某种装备拍摄,以便在旋转物体时保持相机固定

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

4)即便如此,您将拥有比您需要的更多的图像帧 - 不确定您是否计划将图像文件嵌入应用程序或按需下载 - 但这也是考虑下降采样量的问题。我需要做的是减少帧/文件大小

建议

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

或者,如果视频不适合您。您的精灵表单解决方案可能有效(考虑使用SpriteKit)。但是请记住我所说的关于尝试将一个相机镜头关键帧组合在一起 - 它只是不能很好地工作。也许妥协是拍摄静态图像,但通过固定相机并以非常特定的增量旋转对象来实现。我认为这也可行,但你需要非常小心光和其他的超音速。人体可检测到的变化并不需要太多变化,导致整个演示看起来很奇怪。祝你好运。

答案 1 :(得分:0)

我的公司的编码员在使用对象的360度图像之前做了类似这样的事情,但效果很好,但没有变焦。也许您可以通过添加捏合手势识别器并将图像视图放入滚动视图来放大静态图像来添加缩放。

这个场景听起来像你真正需要的是一个简单的3D模型加载器库,或者自己在OpenGL中编写它。但是当你跳转到3D时,这种平移和缩放行为是非常基本的,所以应该很容易找到很多例子。

全部取决于您的情况和时间限制:)