运动模糊是景物图象中的移动效果。它比较明显地出现在长时间暴光或场景内的物体快速移动的情形里。

为什么会出现运动模糊

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

 

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也是一种浪费。

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

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

实时的运动模糊效果DEMO
[motion.zip 下载]

  这里有一个实时的demo,显示一个立方体在屏幕上飞行。可以使用以下键:

S:
慢速运动
M:
切换正确/错误的效果
3:
切换红/蓝 3D模式
↑/↓:
进度
→/←:
调整背景亮度
ESC:
退出

运动模糊动画DEMO
[fly2.zip(1.3Mb) 下载]

  这个动画的帧用Terragen渲染。通过Bitty加入空间和时间反失真,最后用Bink作成动画。需要binkplayer来播放(可从主页上免费下载)。

 

参考:

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一样被支持,但我的确希望它能得到它应该得到的认可。从现在开始,我将用这种格式创建我所有的动画。
 

什么是运动模糊(Motion Blur)相关推荐

  1. 动态模糊或运动模糊(motion blur) 介绍

    // 动态模糊或运动模糊(motion blur)是静态场景或一系列的图片像电影或是动画中快速移动的物体造成明显的模糊拖动痕迹. 摄影技术 当相机拍出影像时,不单只表现出单一时间的即时影像.由于技术限 ...

  2. URP——后期处理特效——运动模糊Motion Blur

    Motion Blur 运动模糊效果模拟了真实相机拍摄物体运动速度快于曝光时间时图像中出现的模糊.这通常是由于物体快速移动,或曝光时间过长所致. 通用渲染管道(URP)只模糊摄像机的运动. Using ...

  3. 运动模糊 motion blur

    为什么每秒24帧的速度对于电影来说已经足以获得很流畅的视觉效果,而对于电脑游戏来说却会显得磕磕碰碰呢?原因很简单,摄像机在工作的时候并非一帧一帧静止的拍摄,它所摄下的每一帧已经包含了1/24秒以内的所 ...

  4. Arnold材质节点篇- 动态模糊Motion blur

    动态模糊Motion blur 启用渲染设置中的Motion blur: 快门角度: 长度值的不同效果对比:  关键帧的不同效果: 可以看到关键帧增加以后,运动轨迹形成弯曲的曲率变化,呈现了更好的运动 ...

  5. Ae动态模糊插件ReelSmart Motion Blur

    REVisionFX ReelSmart Motion Blur for Mac是一款运行在After Effects上的运动模糊插件,这款RSMB动态模糊插件支持自动跟踪动画运动的像素,然后添加自然 ...

  6. matlab 维纳滤波恢复运动模糊,运动模糊恢复专题

    相关背景知识 1.运动模糊的定义 wiki百科上的定义是:运动模糊或运动模糊(motion blur)是静态场景或一系列的图片像电影或是动画中一样快速移动,使物体产生明显运动痕迹. [图片上传失败.. ...

  7. Opencv 实现 运动模糊的添加(motion blur)与消除(demotion blur)

    此代码用于实现模糊运动的添加与消除. 原理:在已知模糊运动核的前提下,可通过核线性卷积的形式对图像添加运动模糊, 反之也可利用该核精确的去除该运动模糊. 说明:本例代码是在梳理前人代码的基础上整理得到 ...

  8. Motion Blur 运动模糊 后期处理系列6

    Motion Blur 运动模糊 本文档主要是对Unity官方手册的个人理解与总结(其实以翻译记录为主:>) 仅作为个人学习使用,不得作为商业用途,欢迎转载,并请注明出处. 文章中涉及到的操作都 ...

  9. 像素级动态模糊(Pixel Motion Blur)

    像素级动态模糊(Pixel Motion Blur) 动态模糊近几年广泛应用于游戏制作的一种特效,可以使得游戏所呈现出的运动画面更接近于真实相机所拍摄出的效果.      在真实世界中,运动模糊是指在 ...

最新文章

  1. Windows7中快捷方式图标打开方式恢复
  2. group by是否会用到索引_平时工作中经常用到的SQL,这些你都知道吗?
  3. eclipse使用tomcat进行部署时编译代码不一致的处理
  4. Latex合并及插入图片相关问题
  5. 你以为文言编程只是闹着玩?三个月后,人家IDE、教程、包管理器都有了
  6. 欢迎使用CSDN-markdown编辑器11111
  7. ExtJS 折线图趟过的坑
  8. 苹果6怎样打开html,苹果iPhone的Safari浏览器使用技巧图解
  9. Hive SQL开窗函数详解
  10. 一个类windows系统的效果图
  11. Axure share如何自适应手机屏幕
  12. 学校多媒体讲台计算机怎么开,标准多媒体教室多媒体使用方法
  13. 如何更改计算机屏幕分辨率,换了显示器分辨率不对怎么办_换了电脑显示器不清晰怎么解决-win7之家...
  14. 求生之路怎么显示服务器ip,怎么在求生之路后台查看本机局域网IP
  15. OAS、Swagger和Springfox
  16. 搭建2048网页小游戏
  17. java解压缩zip、rar
  18. 仲辛醇/水体系的界面现象——Lammps与Gromacs计算结果对比
  19. CF1612C Chat Ban
  20. SimFAS中控iPad控制电脑开关机实现方法

热门文章

  1. BigNumber.js数值计算-解决精度问题
  2. 最简单的生成ios证书的方法
  3. galaxy s8 android pc,三星S8/S8+发布!全面屏、智能助理、秒变PC,苹果8已败
  4. Vue详细介绍及使用
  5. PD快充DRP-TypeC连接状态机详解
  6. 召唤神龙~让我们来看看源码及简单的修改分析,讲的很清楚哦
  7. 技术文档写作风格指南
  8. 深度学习AI美颜系列---人像审美
  9. 数学 余式定理 简介
  10. css样式 元素自适应长宽比