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

所属分类: 媒体动画 / maya 阅读数: 127
收藏 0 赞 0 分享

这篇教程教脚本之家的朋友们用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模拟光线追踪阴影方法介绍,操作很简单的,希望能对大家有所帮助!

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

Maya布尔工具Booleans使用方法

Maya布尔工具Booleans想要使用,该怎么只用这个工具呢?下面我们就来看看Maya布尔工具的使用方法,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

Maya球体怎么变半球模型?

Maya球体怎么变半球模型?Maya中建模的球体想要变成半球效果,需要使用end sweep命令,该怎么使用恩?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Maya怎么快速获取模型顶点索引信息?

Maya怎么快速获取模型顶点索引信息?maya中想要获得模型的索引信息,该怎么获得呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Maya实体模型怎么挖洞? Maya打洞的方法

Maya实体模型怎么挖洞?maya中建模的物体模型想要挖一个圆形的洞,该怎么打洞呢?下面我们就来看看Maya打洞的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

maya线条怎么加点调整形状?

maya线条怎么加点调整形状?maya中绘制的线条,想要通过加点来调整线条的形状,下面我们就来看看详细的教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

maya自带的茶壶模型怎么渲染? maya渲染茶壶的教程

maya自带的茶壶模型怎么渲染?maya中自带了很多模型,今天我们就来看看maya渲染自带模型的方法,下文就以茶壶为例,需要的朋友可以参考下
收藏 0 赞 0 分享

maya怎么使用布尔运算打洞?

maya怎么使用布尔运算打洞?maya建模的时候,需要在模型中打洞,该怎么打洞呢?我们可以使用布尔运算来打洞,下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

maya如何给模型上色? maya模型上色教程

maya如何给模型上色?maya建模了一个球体,想要给球体上色,该怎么上色呢?下面我们就来看看maya模型上色教程,需要的朋友可以参考下
收藏 0 赞 0 分享

maya怎么建模学生课桌? maya桌子模型的设计方法

maya怎么建模学生课桌?maya中想要建模一个学生用的课桌,该怎么设计呢?下面我们就来看看maya桌子模型的设计方法,需要的朋友可以参考下
收藏 0 赞 0 分享

MAYA模型怎么进行UV拆分?

MAYA模型怎么进行UV拆分?maya中的模型想要拆分成多个部分,该怎么拆分呢?下面我们就来看看maya拆分模型的教程,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多