Maya经典教程 分析衰减深度帖图阴影

所属分类: 媒体动画 / maya 阅读数: 43
收藏 0 赞 0 分享
本教程向朋友们介绍Maya 分析衰减深度帖图阴影,我们可以用使用深度帖图阴影来模拟柔和的光线追踪 (RayTracing) 的效果 。教程很实用,感兴趣的朋友可以学习制作一下!

衰减 (ATTENUATED) 这个词的含义是消减和柔化阴影 . 在以下的例子中 , 我们通过调整阴影的颜色来减弱阴影的亮度 . 我们这里所演示的技巧在某些场景中是十分有效的 . 他能极大的减少渲染时间 . 但是在某些场合慊故潜匦胧褂霉庀咦纷?. 例如当光线通过使用了透明帖图的物体或有颜色的透明表面时 , 就要必须使用光线追踪 .( 但即使是后面两种情况有时也可以用深度帖图模拟光线追踪 . 可以参考我翻译的另一篇教程。

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

Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程

Section1

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

Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程

Section2 .

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

Section3

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

Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程

Section4

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

Distance Between 节点输出的是 3D 空间上两点间的距离 . 是通过下面的公式计算的 . Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程

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

注意 : 必须用 MEL 命令来创建 Distance Between 节点 , 输入 createNode distanceBetween; 命令 . 这个节点不会在 Hypershade 出现 . 你必须在 Outliner 中用鼠标中键把它拖到 Hypershade 中去 .

Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程

Section5

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

这个距离上的差值将决定两个 Ramp texture 节点如何影响 dmap shadow 的 Filter Size 和 Shadow Color.

Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程
Section6

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

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

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

注意 :Light Info 节点在确定 Sample Distance 时十分有用 .
Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程
Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程
Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程
Section7 和 section5 的方法类似 , 我们用另一个 plusMinusAverage 节点来确定 Sample Distance 和聚光灯到 startShadow locator 的距离差 . 为方便起见 , 这个差值命名为 sample point difference.
Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程


Section8

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

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

我们把 Section5 中得到的聚光灯到 startShadow locator 和 endShadow locator 的距离之差称为 total difference.

使用 Multiply Divid 节点 , 计算出 sample point difference 与 total difference的比值 . 即 sample point difference 在 total difference 所占百分比 . 这样就把 sample point difference 转换到了 0-1 范围内 .

注意 : 对于位预 startShadow locator 与聚光灯之间和 endShadow locator 之外的点的返回值将不在 0-1 之间 . 我们将在下一个节点 Clamp 中调整 . 因此 locator 的位置并不需要十分精确的位于阴影开始和结束的地方 . 我们可以以后在做调整 .
Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程

Section9

Clamp 节点能把输入值限制在一定范围内输出 .Multiply Divide 节点在被连接到 Ramp 节点的 vCoordinate属性之前 , 将通过先 Clamp 节点来限制范围 .Clamp 的 Min 和 Max 分别设为 0 和 1. 这意味这从 MultiplyDivide 节点过来的输入值在 0-1 之间的保持不变 . 小于 0 的按 0 输出 , 大于 1 的按 1 输出 .
Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程

注意 : 在 clamp 节点中只使用 x-channel. 这是因为距离这个属性是单值的 . 当输入的是 3 值类型的数据时 ( 例如颜色的 RGB 值 ) 就要用到其他的 channel. Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程

在这个渲染网络中 ,clamp 节点的输出值将连接到 Ramp 节点的 vCoordinate 属性上 .0 表示 vCoordinate 在底部 .1 表示 vCoordinate 在顶部 .
Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程

我们可以通过调整 ramp 的位置和数值来控制输出 . 最后 ramp 将连接到聚光灯的 Filter Size 和 Shadow Color 属性上 . 注意 : 如果输入的数据没有经过 clamp 节点 , 在 0-1 范围之外的数据将重复 coordinate 的值 .会导致一些不可预料的结果 .( 如下图 )
Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程
Section10

最终将用 2 个 ramp 节点来控制 dmap shadow 的 Filter Size 和 the Shadow Color 属性 .

Filter Size 将影响 dmap shadow 的柔化和模糊效果 . 本例中它被 blurInterpolationRamp 节点控制 . 这个节点有两个 color entries. 在底部设为 2, 在顶部设为 32.

这意味着 Filter Size 的最小值为 2, 这个值用于渲染离 startShadow locator 最近的点 . 而最大值 32将用于渲染离 endShadow locator 最近的点 . 这能给 dmap shadow 产生柔化的衰减效果 .

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

Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程

为了加强最终效果 , 我们把另一个 ramp 节点连接到 Shadow Color 属性上 . 这个 ramp 的两个 color entries 的值分别设为 0.5 和 -0.5. -0.5 将 startShadow locator 附近的阴影变暗 . 而 0.5 使 endShadow locator 附近的阴影变亮和透明 .
Maya 分析衰减深度帖图阴影 脚本之家 MAYA入门教程

结论

以上例子证明了我们可以用一个衰减深度帖图的渲染网络来节省渲染时间 , 在许多情况下能代替光线追踪的方式 ,希望本教程能让大家所有成!

更多精彩内容其他人还在看

MAYA制作北京奥运卷轴展开动画效果

本教程是向脚本之家的朋友介绍利用MAYA制作北京奥运卷轴展开动画效果,教程制作出来的效果真的很不错,难度一般,推荐过来,喜欢的朋友可以一起来学习
收藏 0 赞 0 分享

Maya英雄铠甲建模图文教程

本教程是向脚本之家的朋友带来Maya英雄铠甲建模图文教程,教程比较经典,制作出来的效果也非常棒,推荐过来,喜欢的朋友可以尝试跟着教程来学习
收藏 0 赞 0 分享

Maya2008制作一只逼真漂亮的花蝴蝶

本教程是向脚本之家的朋友介绍利用Maya2008制作一只逼真的花蝴蝶,教程制作出来的花蝴蝶真的很逼真,也很漂亮,推荐过来,喜欢的朋友可以跟着教程来学习
收藏 0 赞 0 分享

MAYA制作一只逼真的手枪建模

本教程是向脚本之家的朋友介绍利用MAYA制作一只逼真的手枪建模,教程制作出来的效果真的超级棒的,难度中等,但非常不错,推荐过来,一起来学习吧
收藏 0 赞 0 分享

MAYA漂亮女生人体建模教程

本教程向脚本之家的朋友们介绍MAYA漂亮女生人体建模的方法和具体制作步骤,教程介绍的很详细,制作出的美女也很漂亮哦,推荐到脚本之家,喜欢的朋友可以跟着教程一起来学习,希望能帮到大家
收藏 0 赞 0 分享

MAYA人物建模人物造型教程

本教程向脚本之家的朋友们推荐MAYA人物造型介绍,教程属于理论知识讲解,对于学习MAYA人物建模的朋友帮助会很大,希望朋友们喜欢
收藏 0 赞 0 分享

Maya7.0渲染怪兽头部建模完全教程

本教程向脚本之家的朋友们介绍Maya7.0渲染怪兽头部建模方法,教程介绍的很全面,不过主要介绍作者的制作思路和制作步骤,推荐到脚本之家,喜欢的朋友一起来学习吧
收藏 0 赞 0 分享

MAYA7.0渲染旋梯建模教程

本教程向脚本之家的朋友们介绍MAYA7.0渲染旋梯建模教程,教程虽然有些老了,但实用性很强,很值得我们学习,推荐到脚本之家,喜欢的朋友可以跟着教程来学习
收藏 0 赞 0 分享

MAYA建模之古堡建模日記教程

本教程向脚本之家的朋友们介绍MAYA建模教程之古堡建模日記,教程制作难度不大,主要向朋友们介绍制作思路和一些制作技巧,推荐到脚本之家,喜欢的朋友一起来学习吧
收藏 0 赞 0 分享

Maya初级建模教程:逼真的人脚建模制作过程

本教程是向脚本之家的朋友介绍利用Maya逼真的人脚建模制作过程,教程比较初级,比较适合新手来学习,教程制作出来的人脚很逼真。推荐到脚本之家,喜欢的朋友一起来学习吧
收藏 0 赞 0 分享
查看更多