Maya 分析衰减深度帖图阴影.docx

上传人:b****2 文档编号:720909 上传时间:2023-04-29 格式:DOCX 页数:14 大小:639.70KB
下载 相关 举报
Maya 分析衰减深度帖图阴影.docx_第1页
第1页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第2页
第2页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第3页
第3页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第4页
第4页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第5页
第5页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第6页
第6页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第7页
第7页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第8页
第8页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第9页
第9页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第10页
第10页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第11页
第11页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第12页
第12页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第13页
第13页 / 共14页
Maya 分析衰减深度帖图阴影.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Maya 分析衰减深度帖图阴影.docx

《Maya 分析衰减深度帖图阴影.docx》由会员分享,可在线阅读,更多相关《Maya 分析衰减深度帖图阴影.docx(14页珍藏版)》请在冰点文库上搜索。

Maya 分析衰减深度帖图阴影.docx

Maya分析衰减深度帖图阴影

Maya分析衰减深度帖图阴影Maya分析衰减深度帖图阴影

我们可以用使用深度帖图阴影来模拟柔和的光线追踪(RayTracing)的效果.

衰减(ATTENUATED)这个词的含义是消减和柔化阴影.在以下的例子中,我们通过调整阴影的颜色来减弱阴影的亮度.我们这里所演示的技巧在某些场景中是十分有效的.他能极大的减少渲染时间.但是在某些场合慊故潜匦胧褂霉庀咦纷?

.例如当光线通过使用了透明帖图的物体或有颜色的透明表面时,就要必须使用光线追踪.(但即使是后面两种情况有时也可以用深度帖图模拟光线追踪.可以参考我翻译的另一篇教程。

下面两图是左边用光线追踪右边是衰减深度帖图渲染.效果差不多但是光线追踪的渲染时间要多2.6倍.

Section1

打开场景attenuatedDmapShadow.mb这个场景包含一个椅子模型和一个加上了attenuateddmapshadow效果的聚光灯,其名称为dmapSoftShadow.

Section2.

在Hypershade窗口中的light选项卡下选择dmapSoftShadow,并点击ShowUpstreamConnections按钮.便可以看到这个聚光灯的网络节点.这个网络是为了从最近点到最远点淡化阴影而设置的.它包含3个Locators,一个灯光信息节点以及一些能驱使两个Ramptextures调整阴影的过滤尺寸和颜色属性的数学节点.

Section3

Locator的作用是在空间里标定位置.第一个Locator的位置就是聚光灯的位置,他和聚光灯之间有constrained的联系.另外两个Locator分别在阴影的开始和结束的位置.

Section4

这3个locators与2个DistanceBetween节点连接.DistanceBetween节点是用来计算聚光灯和另外两个locator的距离的.

DistanceBetween节点输出的是3D空间上两点间的距离.是通过下面的公式计算的.

(x1,y1,z1)和(x2,y2,z2)分别是两个locator的坐标.

注意:

必须用MEL命令来创建DistanceBetween节点,输入createNodedistanceBetween;命令.这个节点不会在Hypershade出现.你必须在Outliner中用鼠标中键把它拖到Hypershade中去.

Section5

然后把聚光灯到两个locator的距离连接到plusMinusAverageUtility节点上.并将此节点设为Subtract方式.这是一个将聚光灯到两个locator的距离相减的工具.我们可以了解到两个距离之差(注意这里是遵循矢量加减法则)

这个距离上的差值将决定两个Ramptexture节点如何影响dmapshadow的FilterSize和ShadowColor.

Section6

为了确定聚光灯到某个点的距离,必须使用LightInfoUtility节点.和SamplerInfo节点相似,LightInfo节点与其他节点连接时能提供某个被渲染点的信息.

LightInfo与SamplerInfo不同之处在于需要将一个灯光信息连接到LightInfo上.你会注意到在渲染网络中dmapSoftShadow聚光灯的worldMatrix属性连接到了LightInfo节点的worldMatrix属性上.它告诉了LightInfo从场景中的什么地方计算输出属性SampleDistance.

SampleDistance是从聚光灯中心到某个被渲染点的距离.

注意:

LightInfo节点在确定SampleDistance时十分有用.

Section7和section5的方法类似,我们用另一个plusMinusAverage节点来确定SampleDistance和聚光灯到startShadowlocator的距离差.为方便起见,这个差值命名为samplepointdifference.

Section8

上一步中得到的samplepointdifference是用来调整阴影的.如果这个值比较小,那么被渲染的点就离startShadowlocator比较近.如果这个值比较大,那么被渲染的点就离startShadowlocator比较远.

但是这个samplepointdifference地值可以是从0到一个很大的数.这个无限的范围不太适合用于Ramp节点.Ramp节点适合于0-1的范围.为了解决这个问题,需要使用一些数学手段来把这个距离差值转化到0-1的范围内.

我们把Section5中得到的聚光灯到startShadowlocator和endShadowlocator的距离之差称为totaldifference.

使用MultiplyDivid节点,计算出samplepointdifference与totaldifference的比值.即samplepointdifference在totaldifference所占百分比.这样就把samplepointdifference转换到了0-1范围内.

注意:

对于位预startShadowlocator与聚光灯之间和endShadowlocator之外的点的返回值将不在0-1之间.我们将在下一个节点Clamp中调整.因此locator的位置并不需要十分精确的位于阴影开始和结束的地方.我们可以以后在做调整.

Section9

Clamp节点能把输入值限制在一定范围内输出.MultiplyDivide节点在被连接到Ramp节点的vCoordinate属性之前,将通过先Clamp节点来限制范围.Clamp的Min和Max分别设为0和1.这意味这从MultiplyDivide节点过来的输入值在0-1之间的保持不变.小于0的按0输出,大于1的按1输出.

注意:

在clamp节点中只使用x-channel.这是因为距离这个属性是单值的.当输入的是3值类型的数据时(例如颜色的RGB值)就要用到其他的channel.

在这个渲染网络中,clamp节点的输出值将连接到Ramp节点的vCoordinate属性上.0表示vCoordinate在底部.1表示vCoordinate在顶部.

我们可以通过调整ramp的位置和数值来控制输出.最后ramp将连接到聚光灯的FilterSize和ShadowColor属性上.注意:

如果输入的数据没有经过clamp节点,在0-1范围之外的数据将重复coordinate的值.会导致一些不可预料的结果.(如下图)

Section10

最终将用2个ramp节点来控制dmapshadow的FilterSize和theShadowColor属性.

FilterSize将影响dmapshadow的柔化和模糊效果.本例中它被blurInterpolationRamp节点控制.这个节点有两个colorentries.在底部设为2,在顶部设为32.

这意味着FilterSize的最小值为2,这个值用于渲染离startShadowlocator最近的点.而最大值32将用于渲染离endShadowlocator最近的点.这能给dmapshadow产生柔化的衰减效果.

下图是将FilterSize设为1和不设置的比较.

为了加强最终效果,我们把另一个ramp节点连接到ShadowColor属性上.这个ramp的两个colorentries的值分别设为0.5和-0.5.-0.5将startShadowlocator附近的阴影变暗.而0.5使endShadowlocator附近的阴影变亮和透明.

结论

以上例子证明了我们可以用一个衰减深度帖图的渲染网络来节省渲染时间,在许多情况下能代替光线追踪的方式.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2