VFX365微特效学院

找回密码

VFX365 让画面更精彩

 VFX百科  发布者: simcotang| 2014-4-19 00:23
阅读: 3978| 评论: 0

运动模糊的原理

|原作者: 佚名|来自: 百度百科

摘要: 摄影机的工作原理是在很短的时间里把场景在胶片上曝光。场景中的光线投射在胶片上,引起化学反应,最终产生图片。这就是曝光。如果在曝光的过程中,场景发生变化,则就会产生模糊的画面。
运动模糊是景物图象中的移动效果。它比较明显地出现在长时间曝光或场景内的物体快速移动的情形里。

为什么会出现运动模糊

摄影机的工作原理是在很短的时间里把场景在胶片上曝光。场景中的光线投射在胶片上,引起化学反应,最终产生图片。这就是曝光。如果在曝光的过程中,场景发生变化,则就会产生模糊的画面。


Why should you bother?

不难发现,在电影或电视中,运动模糊是经常出现的,甚至于你不会注意到它。另一方面,在计算机图形中,你就会发现缺少运动模糊,由此也带来了失真。

举个例子,lensflare是近来较为流行的一种图象效果,但传统的图象制作者常常简化此效果,自从我们认识到它是仿真的一种工具之后,计算机便开始模拟此效果。在电影制作中,也有如此为了反应现实,而采用的手段。

看一下没有采用运动模糊的计算机动画,你会发现物体快速移动时,缺乏连贯性和真实感。你在电视的体育报道中,也能看到类似的效果。因为普通电视节目使用25帧/秒的摄象机,而体育节目则使用1000帧/秒的摄象机,从而提供清晰的慢镜头回放。但实际中,只回放小部分的帧,失去了运动模糊,使移动的物体看起来有跳跃感。

我们对电视或电影中的运动模糊都习以为常,所以在运动图象中看不到它就会觉得不真实。所以,缺乏运动模糊是计算机动画不真实的原因之一,因为计算机产生的图象“棱角分明”,很注目,以致削弱了运动效果。

另外,有运动模糊的图象包含了更多的信息。请比较下面这两幅图:


这两幅图中的场景是完全一样的,但其中一幅是从向前飞速移动的摄象机中得到,另一幅则是摄象机向左移动。这从图片上可以轻易地分辨出来。观看动画时,大脑会注意到那些更多的信息,由此也使运动变得更平滑,场景更逼真。

更多的细节

我们来观察一下电影摄象机如何拍摄移动的场景。

一架电影摄象机包括以下部分:

镜头:把光聚焦到胶片上

快门:快门控制在一定时间内,打开让光进入。

胶片:胶片包括感光的化学品。通过这些感光的材料记录场景,生成影象。


左图显示的是一个静止不动的红色球体被摄象机摄象时的情形。这里只画出了摄象机中三个重要部分:镜头,快门和胶片。

可以看出,快门在打开状态,让胶片曝光。而胶片上已有两帧已经过暴光,一帧正在暴光。区别在于后者稍微暗一些,因为暴光的时间还不够。稍后,快门将关闭,这时的三帧将完全一样。

快门关闭之后,胶片将向下移动一个合适的距离,让下一帧胶片到达曝光位置,然后快门又将再次打开曝光,这样的过程在一秒内会重复许多次。

右图的情形与上面相似,但现在,球体会向箭头所指的方向快速移动。

快门照常打开,胶片也一样被曝光。但现在,由于曝光的时间内,球体正在移动,导致了胶片上的图片变模糊了。这就是我们说的运动模糊效果。

现在,我可以打赌,如果你看到这写模糊了的画面中任意一幅的话,你一定能说出摄象时,球正在水平方向上移动。因为有运动模糊的图象相比之下包含更多的信息。

在图象中创建运动模糊的效果

1、空间反失真

你可能对一种叫做“过采样”的反失真技术比较熟悉。这种技术先渲染一幅大得多得图象,然后缩小此图象。我将先介绍这种反失真技术的实现,因为运动模糊的实现与此很相似。

举个例子,渲染一幅50x50红色圆圈的反失真图象:


从左到右分别如下:

(1)渲染更多的象素
  
在更高的分辨率下画一个“失真”的圆。这里,我使用200x200的分辨率,即比目标图大4倍。

(2)分图象

然后,想象着把此图象分成许多正方形。因为此图象比目标图象大4倍,我们让每个小正方形为4x4。

(3)平均值

接着,对于每个小正方形,取其中所有象素的平均值。用此平均值填充小正方形。

(4)缩小  

最后,把图片缩小为50x50。这就是一个反失真的红圆图片。

2、时间反失真(运动模糊)

对于运动模糊,完成的方法很相似。上面说的方法称为“空间反失真”(就是平滑空间)。创建动画的方法叫做时间反失真(就是平滑时间)。 这种方法与创建反失真图象的方法相似。

(1)渲染更多的帧

就象空间反失真中,你渲染更多的象素一样,一开始,你需要渲染更多的帧。举例说,对于显示4秒(即100帧)的动画,你要渲染400帧。这400帧也覆盖4秒的时间,只是划分得更细。

在这里,左边的每一帧都显示1/100秒。

(2)分所有帧

接下来,按每4帧为一组 . . .

(3)平均
  
把组内所有4帧进行积累渲染。

(4)完成

现在你就得到了一个25帧/秒的动画。右边的每一帧有运动模糊效果的图片将在1/25秒中显示。


对程序员来说有意味着什么

现在,你是否想试着在你的程序里加入运动模糊?但是,这决定于你的程序是那类程序。

运动模糊在实时程序中很难实现。它要求把帧速提高几倍。对于实时程序,唯一的可能是降低分辨率。但这对大多数程序员来说,这是不能接受的。

一些游戏尝试通过把当前帧于前一帧一起渲染来模拟运动模糊,结果是前一帧在屏幕上变成一些污点。这不是真正的运动模糊;效果不好并且对CPU也是一种浪费。

在一个游戏中,如果你想大量采用运动模糊的话,你必须做好牺牲图象质量的准备。但同时,你可以只增加很少的运动模糊,就是只对运动极快的物体采用运动模糊。比如,爆炸时的火花,你可以使用线段而不是点来使用模糊效果。在瀑布以及武器开火的情况中,也可以这样处理。我玩赛车游戏时,我经常因为车轮没有运动模糊效果而失望。因为车轮旋转得很快,你不可能看清任何细节。一个解决办法是:储存几幅车轮的纹理贴图,每幅都包含不同的运动模糊效果。随着车速的加快,显示模糊越来越明显的纹理贴图。对于路面贴图也使用同样的方法。这就会增加游戏的真实感。

如果你想做一段不是实时合成的动画,那么因为动态模糊增加些麻烦还是值得的,特别是在运动非常快的时候。当然,这并非任何时候都可取。比如,如果你想能够在暂停动画时看到清晰的图像,这时候你可能就想减少或是忽略掉动态模糊了。

参考

Bitty

http://parnham.future.easyspace.com/

Bitty是一个小程序,可以进行空间和时间反失真(运动模糊)。输入渲染好的帧,就可以得到运动模糊的效果。它也能把图象重新采样。它不能输出动画文件,只能输出帧画面文件用于生成.MPG、.AVI或.BIK(bink!) 视频文件。

Terragen Motion Blurred Animations

http://parnham.future.easyspace.com/animations.htm

Dan通过使用Terragen渲染帧,Bitty混合帧已经创建了许多极棒的动画。

Bink!

http://www.smacker.com/ (译者注:《星际争霸》用的就是它的前身)

Bink是一种新颖出色的视频压缩解压格式。easily outperforming MPEG-IIand AVI. 它是一个很新的系统,并不象.MPG 或.AVI一样被支持,但我的确希望它能得到它应该得到的认可。从现在开始,我将用这种格式创建我所有的动画。

无觅相关文章插件

收藏 邀请

最新评论

VFX365微特效学院,是一个专注影视特效学习的网站。 影视特效行业因为神秘而高薪让人们非常羡慕,但因为专业要求很高,阻挡着大多数人进入这一领域。
VFX365希望每个喜欢特效的朋友都能做出自己的特效短片,用特效短片玩出各种精彩。用特效短片展 示你的才华。想试试么?从公开课开始吧!
我们的每篇课程都包含了“构思—设计—拍摄方案—制作流程—传播分享”这5个方面的内容。让每个 喜欢影视特效的朋友能学到真正有价值的东西,让你快速具备制作特效短片的能力!

VFX365微特效学院诚邀各界达人合作。
如果你是影视特效高手,请和我们联手创作更高质量的课程。
如果你是投资人,请关注我们,我们能做的不仅仅是你看到的这些。

手机版|VFX365微特效学院 ( 粤ICP备11052663号-1|网站地图

版权声明 | 使用协议 | VFX问答 | VFX兴趣班 | 做片网 | 广州好眼光影视文化发展有限公司 - 版权所有

返回顶部