首页 | CG软件 | CG信息 | CG教程 | 三维作品 | 设计理论 | CG加油站 | 设计鉴赏 | 社区图库 | Flash | 专题 | 顶客 | 论坛 | 博客 | 导航 | 下载 | 高级搜索
RSS
热门: 素材  作品  设计  效果图  创意  3dsmax  优秀作品  Vray  艺术  欣赏

Maya教程-模拟的光线追踪阴影的制作方法

来源:完美动力 作者:SONG 时间:2007-09-29 点击:
光线   教程   模拟   maya   追踪  

1.在用maya默认渲染器渲染投影的时候,我们可以设置两种阴影类型,分别是 Depth Map Shadow 和Raytrace Shadow, Raytrace Shadow 是基于真实的光学物理运算得到的,但是计算速度很慢,Depth Map Shadow虽然渲染速度很快,但是不能很好的表现体积光源投射的阴影,比如一盏面光灯的阴影。我们观察这样的阴影有其独特的特性,即从物体和地面的接触点开始阴影的是由实到虚变化的,如下图所示,我们可以看出两种阴影的明显区别。这个教学介绍一种可以用Depth Map Shadow方式来模拟真实阴影变化的方法。

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 属性 。

9. 如图调整ramp 的颜色分布来控制灯光的阴影深度分布和阴影的

10.通过参数调整得到比较好的测试结果如图所示:

此练习的基本原理是:用主灯和地面投影范围起始结束点的距离差值与用lightInfo
采样得到的数值之间的比例关系,来控制阴影的分布。模拟出了类似Raytrace Shadow
的效果,虽然节点有点复杂,但是渲染速度飞快阿。
以上内容是根据maya官方教程翻译编写的,感谢maya的工程师!


本文地址:http://www.cg3000.com/html/cgTutorials/Rendering/Maya/20070929/Mayajiaocheng_monideguangxianzhuizongyinyingdezhizuofangfa_33384.shtml
上一篇:Maya教程-如何制作根据镜头远近变化的凹凸效果
下一篇:Maya教程-三维场景中三点灯光的应用
关键字:迅雷 快车 Baidu Maya 教程 模拟 光线 追踪
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
图腾CG联盟免责声明:本网站转载纯粹出于为网民传递更多信息之目的,无任何商业目的。如本网站转载稿件涉及版权等问题,请作者速来函admincg3000@163.com联系,在此,我们首先向您表示诚挚的歉意,并将尽快予以改正。本网站上发表的内容只代表作者本人之观点,本网站只出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。
赞助广告