当前位置: 移动技术网 > IT编程>UI设计>设计软件 > 灯光基础教程:MAYA模拟光线追踪阴影

灯光基础教程:MAYA模拟光线追踪阴影

2019年04月02日  | 移动技术网IT编程  | 我要评论

这篇教程教移动技术网的朋友们用maya模拟光线追踪阴影,教程难度不大,属于比较基础的灯光教程。转发过来和移动技术网的朋友们一起学习了,先来看看最终的效果图:

maya模拟光线追踪阴影 移动技术网 maya材质灯光教程

在用maya默认渲染器渲染投影的时候,我们可以设置两种阴影类型,分别是depth map shadow 和raytrace shadow,raytrace shadow 是基于真实的光学物理运算得到的,但是计算速度很慢,depth map shadow虽然渲染速度很快,但是不能很好的表现体积光源投射的阴影,比如一盏面光灯的阴影。

我们观察这样的阴影有其独特的特性,即从物体和地面的接触点开始,阴影是由实到虚变化的,如下图所示,我们可以看出两种阴影的明显区别。这个教学介绍一种可以用depth map shadow方式来模拟真实阴影变化的方法。(图01)

maya模拟光线追踪阴影 移动技术网 maya材质灯光教程

图01

第一步

打开场景,或者我们参考上图制作一个相似的场景。分别在三个关键位置创建三个locator,如图命名为lightlocator、startshadow和endshadow,分别代表灯光的空间位置、阴影的开始位置和阴影的结束位置。(图02)

maya模拟光线追踪阴影 移动技术网 maya材质灯光教程

图02

第二步

将三个locator用鼠标中键从outliner窗口拖至hypershade窗口中,同时创建两个distancebetween节点,如图链接,以计算射灯和两个locator的距离值。(图03)

maya模拟光线追踪阴影 移动技术网 maya材质灯光教程

图03

第三步

继续创建plusminusaverage和multiplydivide两个节点,利用plusminusaverage求上图中1和2的差值。而multiplydivide节点则输出数值提供给下一步的计算,连接方法如下图所示,plusminusaverage的计算方式选择为subtract减法计算。 这样我们可以计算出两个距离差值。multiplydivide节点是为后面的计算作准备。(图04)

maya模拟光线追踪阴影 移动技术网 maya材质灯光教程

图04

第四步

下面我们创建一个lightinfo节点,链接方式如图所示,通过这个节点的sampledistance属性我们可以得到主灯到被作用物体的采样距离,这个值是一个随着物体位置上采样点不同而变化的值,同时再链接一个plusminusaverage节点,为后面的计算做准备。(图05)

maya模拟光线追踪阴影 移动技术网 maya材质灯光教程

图05

第五步

把这两部分节点群链接如下图所示。multiplydivide节点设置为divide除法计算。这样我们可以把lightlocator到endshadow和到startshadow的距离差值,通过sampledistance得到的灯光采样距离进行计算,由于sampledistance是一个变量,所以这个比值也是一个变化的数值。(图06)

maya模拟光线追踪阴影 移动技术网 maya材质灯光教程

图06

第六步

创建两个remp节点,通过上面得到的数值来控制灯光投影的属性,链接方法如下,我们创建的clamp节点的作用是截取了一段数据,这段数据的范围被设置成0到1,以此来控制ramp节点的vcoord属性。(图07)

maya模拟光线追踪阴影 移动技术网 maya材质灯光教程

图07

第七步

如图调整ramp的颜色分布来控制灯光的阴影深度分布和阴影的。(图08)

maya模拟光线追踪阴影 移动技术网 maya材质灯光教程

图08

第八步

通过参数调整得到比较好的测试结果,如下图所示。(图09)

maya模拟光线追踪阴影 移动技术网 maya材质灯光教程

图09

此练习的基本原理是:用主灯和地面投影范围起始结束点的距离差值与用lightinfo采样得到的数值之间的比例关系,来控制阴影的分布。模拟出了类似raytrace shadow的效果,虽然节点有点复杂,但是渲染速度飞快。希望本教程能给大家带来帮助。

教程结束,以上就是maya模拟光线追踪阴影方法介绍,操作很简单的,希望能对大家有所帮助!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网