所以我在一个页面上有几个项目,每个项目都根据鼠标事件进行补间或补间。到目前为止,我可以在它们外出/进入时对它们进行缓动,但我如何设置补间以便它在进出时模糊(运动模糊),就像运动预设中的一样。我想使用 Actionscript 完成相同的运动预设设置。
任何帮助表示赞赏,谢谢。
所以我在一个页面上有几个项目,每个项目都根据鼠标事件进行补间或补间。到目前为止,我可以在它们外出/进入时对它们进行缓动,但我如何设置补间以便它在进出时模糊(运动模糊),就像运动预设中的一样。我想使用 Actionscript 完成相同的运动预设设置。
任何帮助表示赞赏,谢谢。
您可以查看以下文章,我几年前在我的博客中写道:
回到那些日子,为了模拟定向运动模糊,您需要做一个涉及旋转的小技巧。
这篇文章还包括一个独立的 Flex 示例,它演示了如何向补间添加方向运动模糊。它还解释了我提到的实现和技巧在原则上是如何工作的。
没有“运动模糊”的是AS3。但是你可以只使用正常的模糊,虽然它看起来不真实。
对于补间过滤器,我建议使用 TweenLite。转到 TweenLite 主页 ( http://www.greensock.com/tweenlite/ ) 并向下滚动到TweenLite/Max Plugin Explorer。单击blurFilter的示例按钮以查看它是如何完成的。
要进行更逼真的运动模糊,您需要复制正在移动的实例并让它们彼此跟随。然后,您会更加模糊每一个,它们离原始实例越远。
这可能是最好的文章,它详细解释了在对象前进的方向上进行运动模糊背后的计算。
http://labs.byhook.com/2010/02/11/simulated-motion-blur-in-flash/
它涵盖了线性、曲线和定向运动模糊。本文中的线性和曲线不必“模糊”,而是沿着先前和当前路径“追踪”精灵。定向模糊看起来最令人愉悦,尽管您的精灵的急转弯可能有一个明显的模糊角度。
一些开发人员声称通过简单地修改 BlurFilter 的 blurX 和 blurY 值来实现这种运动模糊,这对于水平/垂直运动(分别)很好。但是对角线中的任何东西,这看起来有点偏离,因为它只会导致高斯模糊(在 45 度,基本上它会在 blurX 和 blurY 中具有相等的值,没有方向感)。
另一种可能实现的方法是使用着色器。这将需要一些 PixelBender 的知识 - 然后您将创建一个可以获取源图像、角度和数量参数的过滤器(因此您可以根据移动的距离制作更长的戏剧性模糊)。然后,您可以将此信息提供给您的 Shader 过滤器,这应该会获得相同的结果(甚至可能比仅在 AS3 中严格执行此操作更快)。
新的 Flash Player 具有一些 3D 功能和硬件加速,因此可能值得检查此过滤器是否已经可用或由其他人创建!:)