模拟光线追踪阴影

2025-04-06 22:40:25

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

模拟光线追踪阴影

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

模拟光线追踪阴影

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

模拟光线追踪阴影

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

模拟光线追踪阴影

5、把这两部分节点群链接如下图所示。MultiplyDiv坡纠课柩ide节点设置为Divide除法计算。这样我们可以把Light造婷用痃locator到Endshadow和到Startshadow的距离差值,通过SampleDistance得到的灯光采样距离进行计算,由于SampleDistance是一个变量,所以这个比值也是一个变化的数值

模拟光线追踪阴影

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

模拟光线追踪阴影

7、如图调整Ramp的颜色分布来控制灯光的阴影深度分布和阴影的

模拟光线追踪阴影

8、通过参数调整得到比较好的测试结果,如下图所示

模拟光线追踪阴影
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢