光栅立体画

起因

美国这边的同事在做光栅立体画(lenticular)的业务,Boss要求在他们的shopify网站上面上架光栅立体画,shopify可以自己embed code,。光栅画和其他打印画不太一样,一般展示的方式不能突出这个产品的特点,所以他们想把这个产品做的有一定交互性:一个是这样更好表达这个产品的特点,一个是想把交互做的好一些。

方案

VideoTexture

一开始,我尝试用three.js通过VideoTexture和HTML的video.currentTime来操控视频进度,结果发现不行,这样跳转有个问题:调用这个api到画面真正跳过去,是有个延时的,视觉效果上看起来会不连续。

然后我给了她们一个建议:

如果本身你们的视频很短,建议不用做这个根据鼠标跳转指定时间点的功能,因为用户在2秒内已经能看到完整的内容了。

其实这是我根本没弄懂他们需求,才会给出这么错误的建议。

多图片切换

类似这个: https://lenticular.attasi.com/

github

思路可以这样搞:

1、录制一个画的视频

2、写个小工具,自动抽取视频中的关键帧,生成雪碧图

3、前端根据用户交互(mousemove),切换不同的图片

反思

需求没搞清楚

我跟她沟通了几天,后面发现我其实连什么是光栅立体画、他们的目的是什么都没搞清楚,结果之前都是被带着走,直接陷入技术细节里面去了,成为了一个需求实现人员。

其实如果一开始搞清楚这些问题,我查找资料的方向和给出的方案,就不会是之前的那些了。