maya材质贴图教程:析削弱的深度阴影贴图(3)
来源:互联网 作者:未知 发布时间:2010-08-11 14:37:53 网友评论 0 条
在这点上,在上一步发现的差异值能用于修改阴影,因为你现在有一个方法去知道每个着色点是从光源相对于从光源到开始阴影定位器的有多远的距离。
换句话说,如果距离是很短,那么被着色点是靠近开始阴影定位器。如果差异是大的,那么被着色点是离开始阴影定位器很远。
然而,这个采样点的不同值能是任何值从非常小到非常大的数字。如此一个无限制范围的数字将不会工作的很好当通过一个工作在0-1数值范围的RAMP节点。要解决这个,一个小的数学计算是必需的,它将十进位的数值转换成为0-1的数值。
回到第五部分,total difference 是指在光源到开始阴影点的多远距离和光源到结束阴影点的多远距离之间的差异值。
使用一个Multiply Divide节点,这个概念是获得采样点差异值并算出表现的总计差异值为多少。这和寻找一个百分比相象。
最简单的做这个的方法是用总计的差异值去除采样点的差异值。结果将在0-1之间的十进制的数值,因为任何被采样点都是在两个地面的定位器之间。换句话说,当一个点是在地面上的两个定位器的中间时,将它的采样点差值除以总差值将得到数值0.5。注意:这个转换数值到0-1之间的过程叫做规格式数值。
注意:任何被着色点是靠近光源比靠近开始阴影定位器要近一些或远离光源比远离结束阴影定位器要远一些,将返回的数值在0-1范围之外。这是好的,因为任何0-1范围之外数值将在着色网络里的下一个叫做CLAMP节点所校正。因为这个原因,在地面上定位器的位置不用严格地在阴影的开始和结束范围里。事实上,你能移动它们更近或更远来分别地帮助你调整阴影的视觉效果。
CLAMP节点将正确地,你会直观地期待,它取得输入点的值并被限制它们在一个特别的输出范围里。在这个例子里,从Multiply Divide节点的输出值将通过CLAMP节点,传递给RAMP节点的vCoordinate属性。
在CLAMP节点里的Min和Max属性分别设置为0和1。这意为任何从Multiply Divide节点过来的值将在0-1之间,它在连接到RAMP节点时保持不变;当到RAMP节点时任何负数将被改为0,任何超过1的数将被改为1。
注意:在CLAMP节点里只在X通道是被使用,因为从Multiply Divide节点传过来的的距离数值是一个单一的数值。在CLAMP的其它通道是可以使用的,万一传过来是三个数值如RGB颜色数值。
- 2010-08-25
- 2010-08-25
- 2010-08-25
- 2010-05-10
- 2010-08-25
- 2010-08-17
- 2010-05-09
- 2010-05-09
- 2010-08-25
- 2010-08-17
- 2010-08-25
- 2010-05-10
- 2010-08-25
- 2010-08-25
- 2010-08-25
关于我们 | 联系方式 | 广告服务 | 免责条款 | 内容合作 | 图书投稿 | 招聘职位 | About CG Time
Copyright © 2008 CGTime.org Inc. All Rights Reserved. CG时代 版权所有