怎样设置3dmax贴图显示模糊2010雪运动模糊

运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇 - 火星时代论坛-CG论坛_3dmax论坛_Maya论坛_室内设计论坛_平面设计论坛
UID: 933129
运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇
运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇
本文的主题是“影视动画渲染中的运动模糊”,写的是笔者在实际工作中总结出的和“运动模糊”相关的有实用价值的知识与实现方法,有兴趣的朋友请继续往下阅读。
关键字:运动模糊 渲染 motionblur maya mentalray nuke
图片发不上!通过以下链接可以完整看到全文!
本文承接上一个帖子《运动模糊的原理以及在Mentalray与Nuke中的实践(上)——原理篇》
前言:在上一期《运动模糊的原理以及在Mentalray与Nuke中的实践(上)——原理篇》中我们探讨了运动模糊的原理,在本文中我们将着眼于影视制作中的运动模糊,并针对不同情况下运动模糊的添加方法进行详细分析与对比,并最终得出有效的应用解决方案。
一、计算机动画中的运动模糊
计算机动画中生成运动模糊图像的方法基本可以分为两类:传统的三维渲染运动模糊(3D Motionblur)以及后期处理的2D矢量运动模糊(Post-Processing 2D Motionblur)。在传统的三维渲染运动模糊中,基于光线跟踪的运动模糊算法是最接近物理真实的方法之一,以最经典的光线跟踪渲染器Mental Ray为例,其在光线跟踪模式下计算运动模糊的原理简单的说是首先根据快门时间(Shutter Open—Shutter Close)(shutter 0 1用于表示正常曝光值,shutter 0 0.5用于表示曝光时间为正常值的一半)决定运动模糊的强度(图13-14),然后根据时点采样(temporal sample)决定在一次快门闭合时间内采样的精度(图15-16),最后通过插值、抗锯齿与像素过滤处理生成最终的图像(图17-18)。
图13:快门开启时间=0,闭合=1,一次正常的曝光
图14:快门开启=0,闭合=0.5,一次短时间曝光
图15:time contrast=0.5 0.5 0.5,亦即时点采样=5,快门时间内采样2次
图16:time contrast=0.2 0.2 0.2,亦即时点采样=5,快门时间内采样5次
图17:一次低质量的运动模糊渲染
图18:一次高质量的运动模糊渲染
在一次项目渲染中,经过笔者测试,Mental Ray在光线跟踪模式下为了得到高质量的运动模糊渲染结果需要付出大量的渲染时间作为代价,特别在开启渲染器高级光效比如Final Gathering的情况下,开启运动模糊渲染所消耗的时间为不开时的五倍以上,并且内存占用量明显增加,在机器配置不变的情况下已经无法按照既定时间完成渲染任务,因此不得不另想方法来实现运动模糊效果,最终借助后期软件完成了运动模糊的添加工作,也就是计算机动画中生成运动模糊图像的第二类方法——后期处理的2D矢量运动模糊(Post-Processing 2D Motionblur)。后期处理的矢量运动模糊的基本工作原理是通过提取屏幕像素的运动趋势并记录为运动矢量信息(Motion Vector),来对原始无运动模糊的图像在后期软件中添加二维的运动模糊效果(图19-21)。
图19:原始渲染图像
图20:运动矢量信息(Motion Vector)
图21:后期合成的运动模糊
Motion Vector是什么?
通常有两种Motion Vector信息,一种叫做Normalized Motion Vector,其经过归一化处理(normalized)将数值映射到0~1的范围内;一种叫Raw Motion Vector,所记录的数值代表像素的实际运动距离。本文所提到的Motion Vector一律指的是Raw Motion Vector。
一张包含Raw Motion Vector信息的图片通过使用两张灰度图并将这两张灰度图合并到一张图像上来记录场景中所发生的运动方向及强度。其中一张灰度图通过记录物体像素在给定快门时间内在X轴向上的位移(水平运动)强度(单位为像素,负值代表沿着X轴向左运动,正值代表沿着X轴向右运动,绝对值大小代表运动幅度)并将这张灰度图写入图像的红色通道;另外一张灰度图则通过记录物体像素在给定快门时间内在Y轴向上的位移(垂直运动)强度(单位为像素,负值代表沿着Y轴向下运动,正值代表沿着Y轴向上运动,绝对值大小代表运动幅度)并将这张灰度图写入图像的绿色通道;一般蓝色通道不记录任何信息。这样形成的一张Motion Vecotr图像类似图20,我们看到的是一张带颜色的图片,实际上图片里存储的是每个像素在XY轴的运动强度和方向。这里的X、Y轴指的是在后期软件屏幕坐标下的X和Y轴。
在了解后期处理的矢量运动模糊的基本工作原理后,我们得知该方法的实现必须基于三个主要环节:一是必须生成不带运动模糊的图像;二是必须要有某种方法去获取运动矢量信息;三是必须能让后期软件正确地识别渲染器输出的运动矢量信息并进行运动模糊的图像处理操作。第一个环节不是问题,任何一款主流的三维软件都能够胜任不带运动模糊的渲染工作;第二个环节需要了解所使用的渲染器是否支持运动矢量信息的计算及输出,据笔者了解,输出矢量信息基本上是每一个主流渲染器都拥有的功能,只是计算方式有所不同而已;在第三个环节上,据笔者所知,AE、Fusion、Shake、Nuke、Combustion、Toxik这几款后期软件可以原生识别或者通过安装商业插件来识别三维软件渲染的矢量信息。
实际的项目制作中通常会遇到的问题是:本项目适合用什么样的方法去实现运动模糊效果?要回答这个问题,我们首先要了解三维渲染的运动模糊(下文均简称为“三维运动模糊”)和后期处理的2D矢量运动模糊(下文均简称为“后期运动模糊”)各自的优缺点才能够根据项目具体情况来做决定,以下是优缺点分析。
1、三维运动模糊能够计算曲线运动模糊,后期运动模糊不能,而这在类似直升飞机螺旋桨的处理上至关重要(图22-24),在处理剧烈曲线运动的情况下后期运动模糊问题显著;
图22:简单螺旋桨原图
图23:高速旋转中,通过三维渲染的结果—接近真实
图24:高速旋转中,后期矢量模糊的结果—丢失曲线模糊
2、三维运动模糊理论上可以通过无线提高采样精度来达到完美的模糊效果,但通常情况下时间不允许,因此三维运动模糊往往带有瑕疵(颗粒感),即使在好莱坞主流影片中也能看出采样次数不足而形成的瑕疵(图25-28)。而后期运动模糊进行的是2D平面图像处理操作,因此只要花费很少的时间就可以达到完美无瑕的模糊效果(图29-30);
图25:《怪兽大战外星人》—手部运动模糊的颗粒感
图26:《怪兽大战外星人》—头发的颗粒感
图27:《冰河世纪3》—小恐龙嘴巴和手的运动颗粒感
图28:《金刚》—金刚手部运动的颗粒感
图29:《猎龙人》—后期运动模糊1
图30:《猎龙人》—后期运动模糊2
3、后期运动模糊计算非常快,几乎是实时生成,在三维软件中渲染矢量信息序列速度也相当快,而三维运动模糊相当慢,需要消耗大量的渲染时间。
4、后期运动模糊不能处理运动物体的阴影,不能处理运动物体的折射反射,而三维运动模糊均可以渲染出运动模糊物体折反射及阴影的真实效果。
5、三维运动模糊的分层(通道)渲染及合成相对更麻烦一些,因为每一层(通道)都得带有运动模糊效果,且运动模糊图像的透明边缘在合成校色时容易变黑或变白。
总结为如下表格(表1):
  速度 图像质量 计算曲线模糊 分层及合成难度 运动模糊阴影、折反射
三维运动模糊 很慢 易出现瑕疵 能 所有分层均需模糊、半透明Alpha通道 支持
后期运动模糊 很快 无暇 不能 接近常规分层合成 不支持
表1:根据影响因素重要性从高到低排序的对比表格
根据以上的分析我们可以得出如下结论:在综合物理真实性方面考虑,三维运动模糊要优于后期运动模糊,因此追求极端质量的项目(如电影《变形金刚》系列、《阿凡达》、《Wall-E》)往往会花费大量的时间和硬件成本去渲染三维运动模糊;在速度上后期运动模糊要远胜于三维运动模糊。
因此在大多数的情况下,可以采用后期运动模糊+三维运动模糊结合使用的方案,常规镜头用后期运动模糊解决,部分特写及大动态的镜头用三维渲染运动模糊来搞定。
有一点需要特别指出的是:本文所指的“后期运动模糊”特指的是在三维中渲染矢量通道再到后期软件中根据矢量通道进行模糊处理的情况,而在实际生产中有一种类型的“后期运动模糊”指的是后期软件中使用图像跟踪分析方法,根据前后帧的像素信息自动计算出运动趋势再进行模糊处理的情况(例如:Nuke中的Oflow、F_motionblur这两个节点实现的功能),这种生成运动模糊的方法完全不依赖三维软件,但是对于复杂运动的分析能力有限,因此在缓慢或简单运动的场合效果不错,在复杂像素运动情况下会出现运动模糊失真的情况。这种类型的“后期运动模糊”本文不再赘述。
二、一套完整的后期运动模糊工作流程
该流程的操作思路是使用三维软件Maya中的Mental Ray渲染器输出运动矢量,然后在后期软件Nuke中通过VectorBlur节点将原始图片序列与运动矢量序列进行合成产生接近真实的运动模糊的效果。
(一)准备工作
需要机器上安装有Maya 7.0及以上版本(自带Mental Ray渲染器),Maya相对应版本的shaders_p(Mental Ray节点功能扩展包)以及Nuke 4.7及以上版本。
Shaders_p是由俄罗斯人Puppet开发的免费的Mental Ray节点包,里面包含一系列能扩展Mental Ray功能、提升Mental Ray效率的shaders,shaders_p能够很好的工作在Mental Ray**版以及主流三维软件Maya、Max、Xsi里,并且shaders_p支持以下若干操作系统平台:Win32、Win64、Linux32、Linux64以及macOSX,因此通用性很高。Shaders_p的各个版本可以在
在本文中我们将使用Maya2009,配合shaders_p中的p_motion_to_rgb这个shader来生成运动矢量信息,其他三维软件的操作方法类似,最后通过nuke5.1v5进行合成。
Shaders_p在Maya中的安装方法:
1、关闭Maya;
2、将shaders_p.dll(linux或者mac下是shaders_p.so)拷贝到“maya安装目录”/mentalray/lib目录下(例如:D:\Program Files\Autodesk\Maya2009\lib);
3、将shaders_p.mi拷贝到“maya安装目录”/mentalray/include目录下;
4、将所有的*.xpm文件拷贝到“maya安装目录”/icons目录下;
5、将AE目录下所有的的*.mel文件拷贝拷贝到“maya安装目录”/scripts/AETemplates目录下。安装完成。
如果在渲染的时候出现类似如下错误:
“LINK 0.0 error 191007: cannot load C:\Program Files\Alias\Maya7.0\mentalray\lib/shaders_p.dll, This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.”
请安装“Microsoft Visual C++ 2005 SP1 Redistributable Package”。下载链接:
Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)
Microsoft Visual C++ 2005 SP1 Redistributable Package (x64)
(二)Maya输出运动矢量信息
1、确认安装好shaders_p以后,打开Maya的Hypershade,创建p_motion_to_rgb节点(安装好shaders_p就会多出这个节点),将新创建的p_motion_to_rgb赋给运动物体,更改p_motion_to_rgb的Mode属性为Raster Space。如图31。
图31:p_motion_to_rgb节点
2、打开Render Settings,切换渲染器为mental ray。在Common选项卡下将Image format更改为Maya IFF、TIFF或者OpenEXR格式,推荐使用OpenEXR,因其对32位浮点数据支持的最好,且只有OpenEXR格式支持16位半精度浮点数据。
3、切换到“Quality”选项卡,更改橘红色字体所示属性如下图32:
图32:mental ray的渲染设置
Shutter Open和Shutter Close都设置为1是为了只计算运动模糊的矢量而并不将运动模糊应用到所渲染的物体上。
Motion Steps设置为最低值1是为了最小化渲染计算量,类似原理,Time Samples也可以设置为最低值1。
Custom Motion Offsets勾选的目的是为了能将Motion Back Offset的值设置为1。
Data Type设置为RGBA(float)4x32Bit(或者RGA(Half)4x16Bit)是为了支持矢量信息超过0到1范围的情况,而p_motion_to_rgb生成的矢量信息是未经过归一化的,因此值常常会超过1或者少于0。
Shutter Open、Shutter Close、Motion Back Offset这三个参数都设置为1能够确保物体在多轴向、带父子层级关系的复杂旋转运动时,仍然能够得到完全精准的运动矢量信息。通常的输出运动矢量信息的方法是将Shutter Open、Shutter Close、Motion Back Offset都设置为0.5,这样的设置在某些场合会得到不完全正确的运动矢量信息,合成的时候会出现瑕疵。
渲染的抗锯齿级别和过滤器请设置为和你的最终原始图像渲染一样的设置!
Render Settings下的相关设置比较繁琐,整个设置过程可用以下的mel语句来完成:
//-----对于maya2009及以上版本:本mel在运行之前最好确认mentalray渲染器的Quality选项卡已被点击过一次(让maya加载mentalray入内存)
//-----对于maya2008:请运行本mel两次即可完成设置(中途会报错,可以无视)
//设置渲染图片的名称
setAttr &defaultRenderGlobals.imageFilePrefix& -type &string& (&&Scene&&+&_MotionVector&);
whatIs changeMentalRayImageF
//设置mentalray渲染格式为exr
setAttr defaultRenderGlobals.imageFormat 51;
setAttr -type &string& defaultRenderGlobals.imfPluginKey &exr&;
//设置渲染器为mentalray
setAttr &defaultRenderGlobals.currentRenderer& -type &string& mentalR
//设置运动模糊模式为“full”
setAttr miDefaultOptions.motionBlur 2;
//设置快门及MotionBackOffset参数用于产生的运动矢量能精确匹配原图
setAttr &miDefaultOptions.shutterDelay& 1;
setAttr &miDefaultOptions.shutter& 1;
setAttr &mentalrayGlobals.exportMotionOffset& 1;
//设置渲染格式为RGBA(Float)4x32Bit
setAttr miDefaultFramebuffer.datatype 5;
//减少计算量的参数
setAttr &miDefaultOptions.motionSteps& 1;
setAttr &miDefaultOptions.timeContrastR& 1;
setAttr &miDefaultOptions.timeContrastG& 1;
setAttr &miDefaultOptions.timeContrastB& 1;
setAttr &miDefaultOptions.timeContrastA& 1;
4、设置完毕后后台批渲染输出运动矢量信息,并输出没开启运动模糊的原始图像序列,如图33、34所示:
图33:不带运动模糊的原始图像
图34:运动矢量信息图
(三)进Nuke中进行运动模糊效果合成
节点链接如图35所示:
图35:nuke节点网络
Copy1节点和VectorBlur1节点的属性设置如下图36所示:
图36:Copy1节点和VectorBlur1节点设置
Mental ray渲染的纯三维运动模糊与Nuke合成运动模糊的效果对比,如图37、38:
图37:三维与后期运动模糊的对比
图38:三维与后期运动模糊的对比
(四)生成Motion Vector的替代方法
如果使用的maya2009及以后的版本,除了使用shaders_p
方法外,也可以通过Render Passes输出2D Motion Vector通道来生成运动矢量信息,操作方法是在Render Settings——mental ray渲染器下的Passes选项卡添加一个名叫“2D Motion Vector”的通道并关联到当前的render layer,之后将Common选项卡下的Image format改为“OpenEXR(exr)”,最后批量渲染输出,那么在输出的*.exr文件在原始的RGBA通道外还会包含额外的mv(Motion Vector)通道信息。不过这种方法有一点需要特别注意:在渲染时携带2D Motion Vector通道输出图像时生成的运动物体的位置信息,和不带2D Motion Vector时生成的图片中运动物体的位置信息不一致!假设不带2D Motion Vector通道渲染出的图像中的运动物体记录的是位于第1帧、第2帧…第100帧的位置信息,那么携带2D Motion Vector通道输出的图像中的运动物体记录的是位于第0.5帧、第1.5帧…第99.5帧的位置信息,正好在时间轴上向左偏移了0.5帧,对于这个隐晦的“误差”Maya不会给出任何提示,这也是有些人认为2D Motion Vector通道不好用的原因之一。解决方法:确认mentalray渲染器的Quality选项卡已被点击过一次(让maya加载mentalray入内存)后,在Script Editor中运行以下mel语句将Motion Back Offset参数设置为0。
setAttr &mentalrayGlobals.exportMotionOffset& 0;
这样就确保了无论是否携带2D Motion Vector通道输出都能得到一致的渲染结果。
该流程在项目《变形金刚2:大力神的崛起》及《末日战争》中的实际应用效果如下(图39-41):
图39:无运动模糊
图40:Nuke后期运动模糊
图41:Nuke后期运动模糊2
(五)总结
通过以上的操作流程,就可以实现Maya+Nuke后期运动模糊的输出与合成工作。笔者经过实际项目制作,证明在实际项目制作中该流程是切实可行的,并体现出后期运动模糊方便与快速的优势。另外,在实际制作中还需要注意到如果不同物体的运动在屏幕上看着有交叠(例如图39-40中大力神的左手和身体有交叠),那么为了避免瑕疵得到正确的运动模糊效果请将交叠的每个物体及其矢量通道分别渲染输出,到后期再进行合成。
评分者:&&
__________________
欢迎光临我的CG技术博客:
被 CG风火连城 编辑
UID: 996725
回复: 运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇
老师好贴啊!替你顶一下!
UID: 933129
回复: 运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇
作者: joodan
老师好贴啊!替你顶一下!
图片怎么也发不上来!
有兴趣的朋友下面是原文链接:
__________________
欢迎光临我的CG技术博客:
被 CG风火连城 编辑
【影视后期论坛版主】
UID: 665391
帖子: 4266
回复: 运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇
__________________
UID: 1354877
回复: 运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇
讲的很好,学习了
UID: 1145834
回复: 运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇
看不到图啊。。。
UID: 1145834
回复: 运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇
连接也打不开啊老师。。。
UID: 933129
回复: 运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇
作者: nerbird
连接也打不开啊老师。。。
火星限制太多!网址长一点就显示不出来了~
通过以下链接可以完整看到全文,谢谢支持!
__________________
欢迎光临我的CG技术博客:
UID: 1396395
回复: 运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇
感谢分享 !
学习 了 !
__________________
自强_ 是必需的!
UID: 1552398
回复: 运动模糊的原理以及在Mentalray与Nuke中的实践(下)——应用方案篇
您不可以发表新主题
您不可以发表回复
您不可以上传附件
您不可以编辑自己的帖子
论坛禁用 HTML 代码
用户控制面板
会员在线状态
CG软件技术区
& & 3ds max技术论坛
& & Maya技术论坛
& & CG软件技术论坛
影视动画行业区
& & 影视特效论坛
& & 影视动画论坛
& & 影视模型论坛
& & 影视后期论坛
& & 广告包装论坛
& & 卡通动漫论坛
游戏设计行业区
& & 游戏原画论坛
& & 游戏模型论坛
& & 游戏动画论坛
& & 游戏特效论坛
& & 游戏引擎论坛
建筑设计行业区
& & 室内设计论坛
& & 建筑表现论坛
& & 参数化模型论坛
& & 模型资料论坛
互动媒体行业区
& & 平面设计论坛
& & 网媒设计论坛
& & U I 交互论坛
& & 插画设计论坛
& & 数字摄影论坛
CG行业讨论区
& & CG行业交流专区
& & CG业务交流专区
& & CG硬件交流专区
& & CG作品交流专区
& & CG资源交流专区
Powered by vBulletin& 版本 3.7.3版权所有 &2000 - 2016,Jelsoft Enterprises Ltd.第八章_3DMAX2010教程-摄影机_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
第八章_3DMAX2010教程-摄影机
上传于||文档简介
&&p​p​t
大小:2.30MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢vary 漫反射贴图里面的模糊参数 有什么具体用处 我看很多设计师都调这个 如图_百度知道
vary 漫反射贴图里面的模糊参数 有什么具体用处 我看很多设计师都调这个 如图
是不是数值越小 那么那个物体渲染时候越清晰
还是离相机远的物体 可以更清晰
求高人解答 别瞎说
提问者采纳
是的,数值越小,离摄像机远的地方,贴图也会更清晰。否则会模糊
来自团队:
其他类似问题
为您推荐:
其他1条回答
把整个材质的参数表给我看看,,应该是一个 sampling计算 的选项。
漫反射的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 3dmax运动模糊 的文章

 

随机推荐