Maya模拟制作光线追踪阴影

修改
鏉ユ簮: 上帝宝贝 浏览 7748 日期 2011-09-01 0

朱峰社区评论:使用Maya模拟光线追光阴影的制作方法,方法挺简单的,却很实用。大家好好学学吧,对以后会有帮助!

开始了!

这样的阴影有其独特的特性,我们可以看出两种阴影的明显区别。(图01)

 

 

图01

在三个关键位置创建三个Locator,如图命名为Lightlocator、Startshadow和Endshadow,分别代表灯光的空间位置、阴影的开始位置和阴影的结束位置。(图02)

 

 

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

[next]

 

图03

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

 

 

图04

创建一个LightInfo节点,可以得到主灯到被作用物体的采样距离,同时再链接一个PlusMinusAverage节点,为后面的计算做准备。(图05)

 

 

把这两节点群链接。MultiplyDivide节点设置为Divide除法计算。这样我们可以把Lightlocator到Endshadow和到Startshadow的距离差值,通过SampleDistance得到的灯光采样距离进行计算,由于SampleDistance是一个变量,所以这个比值也是一个变化的数值。(图06)

 

 

图06

[next]

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

 

 

图07

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

 

 

图08

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

 

 

图09

这就可以了!模拟光线追踪阴影的制作过程就到这了,其实没多少内容,也很简单,回去多练习哈!谢谢大家支持!

想了解更多的内容请登陆www.zf3d.com

 

评论

{{ username ? username.charAt(0).toUpperCase() : '?' }}
Ctrl+Enter 发布
{{ (c.username || c.author_name || '?').charAt(0).toUpperCase() }}
{{ c.username || c.author_name }} {{ Utils.formatDate(c.created_at) }}