纳金网
标题:
[材质渲染] Maya模型线框渲染方法
[打印本页]
作者:
铁锹
时间:
2013-1-3 09:07
标题:
[材质渲染] Maya模型线框渲染方法
当我们完成3D场景的作品后,由于一些特殊需要,如展示模型布线、模拟网格空间效果、卡通线框等,需要在渲染时让模型包含线框或者单纯显示线框。
Maya至2009版本,一直没有类似3dsMax那样的材质线框渲染设定;而包含于Maya内置渲染器的模型线框渲染功能,通常也无预设。因此Maya线框渲染的方法是值得探究学习的。以下就讲解下常用的操作步骤。
MayaHardware硬件渲染器
用硬 件渲染绝对是效率最高的渲染方式。不过提到使用硬件渲染器渲染线框,很多人都会误以为是批渲染设置面板下RenderUsing的 MayaHardware渲染选项。其实应该是使用 Window->RenderingEditors->HardwareRenderBuffer(硬件渲染缓冲)来完成。
1. 开启HardwareRenderBuffer窗口,进入Render菜单下的Attributes窗口。
2. 设置如下:
3. DisplayOptions区块下可设置Maya场景中的特殊物体是否可渲染,如参考网格Grid,摄像机图标CameraIcons,灯光图标LightIcons等
4. 线框的颜色以图层的显示为参考,因此我们可以选择模型,加入到新建的显示层中;双击显示层右边的斜线方框,在弹出的面板中选择颜色。你可以对每个物体使用不同的线条颜色。
5. 执行Render->RenderSequence,生成的图片序列将保存到渲染设置面板的保存路径中。
6. 如果你需要隐藏背面混乱的线条,只显示模型前面部分,可以在模型的属性面板中设置如下:
如果模型较多,可直接到Disply->
olygons->CustomPolygonDisplay窗口下开启BackfaceCulling为On。
以上方法的最后,仍然不能较好的解决背面线框的遮挡问题,尤其是多个物体的情况下。因此我们需要加入遮挡背面的物体。我曾经参考网上一个使用“颜色覆写+复制物体遮挡+硬件渲染缓冲”的方法进行,但发现效果不是很理想。因为:
1. 此方法无法用于多个物体的场景――你需要复制场景的每个物体,然后将它们都认真的缩小至原物体内部……;
2. 很大程度依赖显卡的抗锯齿性能,因此渲染结果基本上都不够理想,尽管渲染速度很快;
3. 改变了模型的显示,影响后续的贴图操作。
所以,在这里我还是不打算浪费时间来解释这个过程了。
硬件渲染能满足我们快速的线框渲染要求,但背面线框遮挡的问题很难解决,除非你确实需要双面显示的效果
MayaVector矢量渲染器
这是一个有趣的渲染器,能将Maya场景以Flash矢量风格进行渲染。不过因为它的渲染设置不多,且渲染速度很慢,因此始终不能成为卡通渲染的首选。这里只介绍使用MayaVector渲染线框的步骤。
1. 选择渲染器为MayaVector;
*如果你的Maya渲染设置中看不到此选项,那么到插件管理器中勾选开启VectorRender.mll。
2. 将颜色填充的选项关闭(去掉勾选Fill objects),然后启用线条(勾选Include edges)。
3. Vector对线条的渲染方式只有两种:Outlines轮廓线和EntireMesh全部网格。设置EntireMesh,最终渲染得到模型转换为三角网格的效果,这与我们的初衷大相径庭;唯一的方法只有Outlines轮廓线了。
4. 使用Outlines轮廓线的方式进行渲染,取决于模型的边线角度。硬边将被渲染,而软边会被忽略。为了展示整个模型布线,我们需要对模型执行一个硬边命令:
5. 渲染效果还不错,线条的颜色和粗细也有相应参数调节,只是渲染所用时间太长。如果是较为复杂的场景物体,Maya常会因此而停止响应。
矢量渲染操作简单,效果理想,但不能应用于较为复杂的场景,否则除了漫长的渲染时间消耗就是Maya的崩溃。
MayaSoftware软件渲染器
这是 Maya最常用的,也是兼容Maya所有内置特效(MentalRay材质除外)的稳定渲染器。但一直以来MayaSoftware渲染器没有实质性的功 能改进,这点让人觉得遗憾。MayaSoftware渲染物体轮廓线有两种方法:通过SamplerInfo此类节点计算的材质轮廓线厚度;使用笔刷特效 的pfxToon卡通线条绘制物体轮廓线。
PfxToon卡通线条具有很多灵活的参数调节,可实现各类有趣的卡通线条效果。PfxToon线条可直接在场景中看到效果,其渲染速度也很快,不过MayaHardware和MentalRay不直接支持pfxToon线条的渲染,需要先将pfxToon转为多边形。
选择场景中的物体,点击Toon工具架上的“+”按钮(或者进入Render模块下的 Toon->AssignOutline->AddNewToonOutline)即可对模型添加卡通线条。隐藏物体时pfxToon仍然会 存在,因此在对使用pfxToon卡通线条的场景进行分层渲染时,需要注意这一点。
pfx线条是实体的存在,因此能完美的保证远近线条的粗细变化效果-不过如果物体与镜头太近,线条的***显示就有点夸张了……。以下就介绍下MayaSoftware的线框渲染步骤。
1.选择需要添加线框的模型,对其增加pfx线条。
2.选择pfx线条,ctrl+a进入属性编辑面板,将DisplayInViewport去掉勾选,隐藏线条显示,因为场景显示太多线条会增加机器负荷。
3.属性编辑器下的CommonToonAttributes区块是对所有线条的总的调节,因此设置LineWidth的数值可改变整个线条的粗细情况。
4. 以下设置很重要:将ProfileLineWidth数值设置为0,取消外轮廓线的显示;将CreaseLineWidth以外的参数数值调为0,只对褶 皱线的宽度进行判断。同时,设置CreaseColor的线框颜色,并去掉HardCreasesOnly的勾选--如保持勾选,软边将不会被渲染,这与 Vector矢量渲染器的设置差不多。
5.测试渲染,速度还挺快的。不过默认会在模型上进行线框显示,如果你就是需要这样的效果,那么到此就OK了。
6.如果直接Ctrl+h隐藏模型,将会得到如下效果。对于机械类的线条***效果,这倒是很有趣的实现方法。
7.为了只获取线框,我们需要给模型一个UseBackground材质。将UseBackgroundAttributes区块下的所有参数设置为0,也就是单纯的作为遮罩物体。
8.渲染得到如下结果。
9.不过当模型离镜头很近的时候,线条的***效果有点夸张了,这不是我们想要的(或者你真想要……)。
10. 选择pfx线条,进入属性编辑面板下的ScreenspaceWidthControl区块下,勾选ScreenspaceWidth,修改 MinPixelWidth和MaxPixelWidth的数值为1-10之间(数值根据个人需要而定)。再次渲染,就得到了我们需要的固定宽度的线条, 但此时线条就不再具备有近大远小的效果了。
*如果场景中选择pfx线条不方便,可以在Outliner中对pfxToon节点进行选择。
Maya软件渲染器是的渲染质量和可控性都很不错,pfx笔刷线条能完成很多特效的制作,且Maya自带的笔刷库有丰富的范例,便于用户直接套用。因此,MS渲染线框属于优先选择(泛用型)。
MentalRay智能光线渲染器
MR渲 染器是世界上几个强大的渲染器之一。Maya集成了MR渲染器,并且一直在强化其功能。虽然MR渲染器尚不能完全兼容Maya内部的一些材质节点,不过从 发展状况来看,似乎有瓜分MayaSoftware动画渲染功能的势头。MentalRay特有的GI和FG,能模拟现实环境的全局光照,同时也会加大渲 染成本。
在通常情况下,未开启GI和FG的MentalRay渲染效果与MayaSoftware差不多,除了时间上稍慢。Maya有不少MR材质,除了3S次级反射材质、车漆以及光子这类超写实材质,MR还包含有专门的线条处理节点。
以下就重点介绍MR渲染线框的强大功能。
1. 全选场景中的所有物体,右键添加一个新的larmbert材质。
*如果你实在不想替换原物体材质,可以创建一个渲染层来赋予新材质。
2. 进入材质的SG光影组节点(可点击材质属性编辑器右上方的输出连接按钮进入),在mental ray区块下,勾选EnableContourRendering(启用线条渲染),设置线条颜色及粗细。
* AbsoluteWidth(绝对宽度):以所设置的渲染图片尺寸的百分比为参照,线条粗细不会因为分辨率的改变而改变;RelativeWidth(相 对宽度):以当前渲染图片尺寸的百分比为参照,线条粗细会随着分辨率的改变而改变。通常情况下,我们多使用相对宽度。因为当镜头移动,产生近大远小的*** 效果时,使用绝对宽度,远处的线框会发生混淆(不过事实上,MR对线条深度的识别还是存在不少问题)。
3. 进入渲染设置面板,选择mental ray渲染器,并在mental ray的渲染设置面板下,将EnableContourRendering(启用线条渲染)和HideSource(隐藏来源)勾选;设置线条的取样和过 滤级别;勾选Around all poly faces(沿着所有多边形面)。
*HideSource启用将隐藏模型,如果你确实需要模型同线框一起渲染,可不勾选;DrawByPropertyDifference(不同属性绘制)区块下有多种模型线条绘制方式,具体效果大家可自己尝试。
4. 渲染。要注意一点,mental ray渲染线条类似MayaSoftware对pfxToon线条的渲染,都是在渲染后期加入,如果在渲染过程中按ESC取消了渲染,将看不到线条效果。
5. 在同样效果的情况下,我们对比下Vector和MR渲染所用的时间。
*如果你在用MR渲染线框时发现速度很慢,要先检查GI和FG是否已经关闭。
从以上效果可以看到,如果只是渲染模型布线,MR是Maya内置渲染器中最为理想的;同时,Maya还自带了不少MR线框材质,我们可以使用这些材 质实现更多线条效果。不过,双面线框和更复杂线条样式的渲染,则只有MayaHardware和MayaSoftware才可完成。
欢迎光临 纳金网 (http://rs.narkii.com/club/)
Powered by Discuz! X2.5