Maya教程模拟的光线追踪阴影的制作方法Word格式文档下载.docx
《Maya教程模拟的光线追踪阴影的制作方法Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Maya教程模拟的光线追踪阴影的制作方法Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
我们观察这样的阴影有其独特的特性,即从物体和地面的接触点开始阴影的是由实到虚变化的,如下图所示,我们可以看出两种阴影的明显区别。
这个教学介绍一种可以用DepthMapShadow方式来模拟真实阴影变化的方法。
2.打开场景,或者我们参考上图制作一个相似的场景。
分别在三个关键位置创建三个locator,如图命名为lightlocator、startshadow和endshadow,分别代表灯光的空间位置,阴影的开始位置和阴影的结束位置。
3.将三个locator用鼠标中键从outliner窗口拖至Hypershade窗口中,同时创建俩个distanceBetween节点,如图链接,以计算射灯和两个locator的距离值。
4.继续创建plusMinusAverage和multiplyDivide两个节点,利用plusMinusAverage求上图中1和2的差值。
而multiplyDivide节点则输出数值提供给下一步的计算,连接方法如下图所示,plusMinusAverage的计算方式选择为Subtract减法计算。
这样我们可以计算出两个距离差值。
multiplyDivide节点是为后面的计算作准备。
5.下面我们创建一个lightInfo节点,链接方式如图所示,通过这个节点的sampleDistance属性我们可以得到主灯到被作用的物体的采样距离,如图所示,这个值是一个随着物体位置上采样点不同而变化的值,同时再链接一个plusMinusAverage节点,为后面的计算做准备。
6.把这两部分节点群链接如图所示。
multiplyDivide节点设置为Divide除法计算。
这样我们可以把lightlocator到endshadow和到startshadow的距离差值与通过sampleDistance得到的灯光采样距离进行计算,由于sampleDistance是一个变量,所以这个比值也是一个变化的数值。
7.创建两个remp节点,通过上面得到的数值来控制灯光投影的属性,链接方法如下,我们创建的clamp节点的作用是截取了一段数据,这段数据的范围被设置成0到1,以此来控制ramp节点的vCoord属性。
8.创建两个remp节点,通过上面得到的数值来控制灯光投影的属性,链接方法如下,我们创建的clamp节点的作用是截取了一段数据,这段数据的范围被设置成0到1,以此来控制ramp节点的vCoord属性。
如图调整ramp的颜色分布来控制灯光的阴影深度分布和阴影的
10.通过参数调整得到比较好的测试结果如图所示:
此练习的基本原理是:
用主灯和地面投影范围起始结束点的距离差值与用lightInfo
采样得到的数值之间的比例关系,来控制阴影的分布。
模拟出了类似RaytraceShadow
的效果,虽然节点有点复杂,但是渲染速度飞快阿。
以上内容是根据maya官方教程翻译编写的,感谢maya的工程师!