Maya渲染教程之-阴影灯光篇.doc
文本预览下载声明
Maya 渲染教程]Maya Fake 教程之-阴影灯光篇一 先欣赏最后的效果图:
?????
1、 基本场景角色,地面和一盏平行光(Depth Map Shadows),Resolution: 512
?????
2 先对比图吧,地面是10倍,30倍, 80倍,阴影贴图的变化;
?????
3 、解决:进入灯光属性如下调整,基本解决了问题。
?????
4、可是如果对象不是一个呢,问题还是存在。
?????
5 、是否在大场景中贴图阴影(Depth Map Shadows)就无法用了呢?现在我们来尝试一种全新的概念来解决。关掉现在这盏平行光的阴影贴图建立新的spot灯光,方向调整到于平行光相同。(也可以建立orientConstraint,来约束新创建的spotLight)
?????
6、 对spot进行调整,先取消Use Auto Focus ,调整 Focus和Cone Angle相同;
?????
7 、调整灯光角度,能看到主角为好。
?????
8 、渲染测试,投影非常理想,除了多了个聚光灯的光圈。
?????
????????????????????????????????????????????????????????接[Maya 渲染教程]Maya Fake 教程之-阴影灯光篇二
[Maya 渲染教程]Maya Fake 教程之-阴影灯光篇二 接[Maya 渲染教程]Maya Fake 教程之-阴影灯光篇-:
9 、复制这盏spotLight,将它的阴影关掉
?????
10、 将复制的灯光强度调整为 -1,渲染测试;耀眼的强光没有了,投影非常理想;
?????
11 、同样复制上述两盏spotLight为其他的角色打光:
?????
12 、渲染测试:
?????
13、思路:由于阴影贴图的尺寸是投影质量的关键,我们如此可以避开大尺寸的阴影贴图,提高渲染时间,同时又可以保证投影的质量。
在动画时只要将上述的灯光成组,跟随角色移动就好了。
例如在大场景奔跑的人物,快速飞驰的车辆等等,在大场景中的一切一切。
思路有了,在用的时候每次总要执行上述操作显然是比较浪费时间,我们用MEL来继续完成这个工具。
这是我已经完成的脚本核心内容
///////////////////////////////////////////////////string $soliSpot = soliSpot ;string $SpotL = `shadingNode -asLight spotLight` ;//建立第一盏灯光string $shape[] = `ls -dag -sl` ;? setAttr ($shape[0]+.dms) 1 ;//打开阴影属性? setAttr ($shape[0]+.useDmapAutoFocus) 0 ;? //关掉自动适应阴影贴图string $Spotf[] =`duplicate -rr` ;//复制灯光parentConstraint -mo -weight 1 $SpotL $Spotf[0];//进行约束控制scale 0.5 0.5 0.5 ;//放缩反向的灯,以方便观察? setAttr ($Spotf[0]+.dms) 0 ;? ? setAttr ($Spotf[0]+.overrideEnabled) 1;? setAttr ($Spotf[0]+.overrideDisplayType) 2;? //关掉阴影,制作成模板,使其不能被选择//以免误操作? string $shape1[] = `ls -dag -sl` ;string $connectAttr;? $exp1 = ($shape[0]+.df+=+$shape1[1]+.df+=+$shape1[1]+.ca+=+$shape[0]+.ca;);? $exp2 = ($shape1[1]+.in+ = -+$shape[0]+.in;) ;? ??? expression -s ($exp1 + \r+$exp2 );//用表达式控制两盏灯的关联关系? $connectAttr =connectAttr -f +$shape[0]+.color +$shape1[1]+.color;??? eval($connectAttr);? //进一步的属性链接//使得,大多数操作,可以关联select $SpotL ;//选择主灯,方便视图调整。///////////////////////////////////////////////////
以下是我原创的完整脚本工具
spotL.mel (1
显示全部