1

我正在开发一个展示产品的应用程序。此应用程序的功能之一是您可以使用手指/平移手势“旋转”产品。

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

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

这是个好主意吗?还是我应该坚持按图片旋转?

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

4

2 回答 2

2

我个人的意见,我认为这不会像你希望的那样工作,或者性能和/或美学不会是你想要的。

1) 拍摄个人镜头,然后尝试根据触摸事件对其进行关键帧设置将无法正常工作,因为在“构图”镜头时不可避免地会出现不一致,从而导致播放不流畅

2)我怀疑,最好的方法是用视频拍摄它,然后用某种装置拍摄它,这样你就可以在旋转物体时保持相机固定

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

4)即便如此,您将拥有比您需要的更多的图像帧——不确定您是否打算将图像文件嵌入应用程序或按需下载——但这也是您需要进行多少下采样的考虑因素减少帧/文件大小

建议

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

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

于 2013-10-26T19:08:37.160 回答
0

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

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

一切都取决于您的情况和时间限制:)

于 2013-10-26T19:30:31.863 回答