CGArt-中国CGer中的绿色家园
首页 信息动态 原创排行 互动教程 资源千寻 CG人才 CGArt杂志 艺术设计 CG画廊 CG论坛 酷站欣赏 CG搜索 会员中心
[Maya 渲染教程]Maya Fake 教程之-阴影灯光篇<二>
来源:DEDS深度 编辑:上帝的孩子 发布时间:2007年02月28日 16:27:09

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.97k)

14 、脚本的信息:
脚本spotL暂时没有用户界面,其实也不需要,只要在命令行执行"spotL",即刻得到阴影灯。

阴影灯对于场景不提供照明,只提供阴影。如果场景中只有阴影灯是渲染不出物体的。

脚本将阴影灯的大小进行了放缩,方便观察。

关掉了对于反向辅助灯的操作,因为此时大多数的操作都可以关联的。

如果删除了阴影灯的主灯,只需稍稍拨动时间线,或是再次渲染即可删除相应的辅助灯。无需担心场景的多余垃圾。但是阴影灯的组会保留,清理场景即可。

脚本适用于支持maya的所有渲染器,且都有非常好的渲染速度。

如此,再大的场景我们也不怕了,放心大胆的用Depth Map Shadows吧,

享受他的快捷和直观。

     

共有评论0条
更多评论..
作者信息 详细信息
评论人:
验证码:
内容:
 
about us advertisement publish conformity service cooperate associate link site map contact us help jump to the top of page