极品原创教程:透明occlusion的制作 - 翻翻原创,翻录教程发布区 - CGFRIE...
来源:百度文库 编辑:神马文学网 时间:2024/10/04 03:55:42
极品原创教程:透明occlusion的制作
极品原创教程:透明occlusion的制作http://cgdfsd.5d6d.com/thread-364-1-1.html
附批量处理脚本:
/* */
/* Procedure Name : batchFGOCC.mel */
/* version:1.0 */
/* Author:CQ1516 */
/* http://www.cgdfsd.com */
/* 武汉东方时代 */
/* */
//note:目前版本仅对所有maya材质节点。不支持折射反射,不支持mr材质//
//如果存在基本材质节点cQ1516BaseSurfaceShader,那么删掉它,再创建一个。
if (`objExists cQ1516BaseSurfaceShader` == 1 )
{
lockNode -lock off cQ1516BaseSurfaceShader;
delete cQ1516BaseSurfaceShader;
}
string $NTSGName = createNoTransparencyShader();
//求得所有材质节点。
string $allMatName[] = `ls -mat`;
string $surfaceMatName[];
clear ($surfaceMatName);
int $i = 0;
//针对每一个材质节点进行循环处理。
for ($i=0 ; $i<(size($allMatName)) ; $i++)
{
string $nt = eval("nodeType " + $allMatName[$i]);
select -clear;
//如果此材质结节有透明属性
if (eval("attributeExists \"transparency\"" + $allMatName[$i]) && ($nt != "particleCloud"))
{
//如果透明属性上游无节点并且透明属性是黑色,那么赋于基本材质节点。
float $tv[]= eval("getAttr "+$allMatName[$i]+".transparency");
string $sdf =eval("connectionInfo -sfd " + $allMatName[$i]+".transparency");
if ($sdf =="" && $tv[0]==0 && $tv[1]==0 && $tv[2]==0 )
{
eval("hyperShade -objects "+$allMatName[$i]);
eval("sets -e -forceElement "+$NTSGName);
}
else
{
if ($sdf =="" )
{
string $MRName = crateMRShader(<<$tv[0],$tv[1],$tv[2]>>);
eval("hyperShade -objects "+$allMatName[$i]);
eval("sets -e -forceElement "+$MRName);
}
if ($sdf !="" )
{
string $MRTexName = crateMRTexShader($sdf);
eval("hyperShade -objects "+$allMatName[$i]);
eval("sets -e -forceElement "+$MRTexName);
}
}
}
}
//创建无透明的shader;
proc string createNoTransparencyShader()
{
string $MROCC = `mrCreateCustomNode -asUtility "" mib_fg_occlusion`;
string $surfaceNodeName = `shadingNode -asShader surfaceShader -n cQ1516BaseSurfaceShader`;
eval("connectAttr -f " + $MROCC + ".outValue " + $surfaceNodeName + ".outColor;");
string $SGName = `sets -renderable true -noSurfaceShader true -empty`;
eval("connectAttr -f " + $surfaceNodeName + ".outColor " + $SGName + ".surfaceShader");
return $SGName;
}
//创建有透明的MRshader;
proc string crateMRShader(vector $tv)
{
string $MROCC = `mrCreateCustomNode -asUtility "" mib_fg_occlusion`;
string $MRtran = `mrCreateCustomNode -asUtility "" mib_transparency`;
eval("setAttr " + $MRtran + ".transp " + $tv);
eval("connectAttr -f " + $MROCC + ".outValue " + $MRtran + ".input;");
string $SGName = `sets -renderable true -noSurfaceShader true -empty`;
eval("connectAttr -f " + $MRtran + ".outValue " + $SGName + ".miMaterialShader");
return $SGName;
}
//创建有透明纹理的MRshader;
proc string crateMRTexShader(string $tex)
{
string $MROCC = `mrCreateCustomNode -asUtility "" mib_fg_occlusion`;
string $MRtran = `mrCreateCustomNode -asUtility "" mib_transparency`;
eval("connectAttr -f " + $tex + " " + $MRtran +".transp" );
eval("connectAttr -f " + $MROCC + ".outValue " + $MRtran + ".input;");
string $SGName = `sets -renderable true -noSurfaceShader true -empty`;
eval("connectAttr -f " + $MRtran + ".outValue " + $SGName + ".miMaterialShader");
return $SGName;
}
[ 本帖最后由 cq1516 于 2009-11-29 15:20 编辑 ]
附件
- 透明occlusion.jpg (302.48 KB)
2009-11-26 16:24
极品原创教程:透明occlusion的制作 - 翻翻原创,翻录教程发布区 - CGFRIE...
【极品引用】 PS图文教程原创:牡丹吟 - 【超哥家园】的日志
ps制作图文辅导教程﹝沧海原创﹞
ps制作图文辅导教程﹝沧海原创﹞
天地无忧论坛 - 图像制作 - 【ps教程】【原创】超简单的给衣服加花纹1
【U5教程】U5制作翻页动画效果<原创> - 茶绿书香的日志 - 网易博客
PS图文教程原创——另一款漂亮的动态签名制作
PS图文教程原创------另一款漂亮的动态签名制作 --- 网易博客
【技术教程】幻影粒子+FLASH8制作仙剑奇缘动画(原创教程)
Drop Box 使用教程(原创)
Drop Box 使用教程(原创)
Photoshop在线视频教程(入门篇一) - ━━╋透明FLASH原创网╋━━
最新photoshop教程(2008完整版) - ━━╋透明FLASH原创网╋━━
天地无忧论坛 - 图像制作 - 【PS教程】【原创】制作火焰字
PE系统 U盘启动 100%制作成功 原创教程|集成制作交流
加载外部.swf影片的视频播放器制作[原创][本文已收录教程库] - Flash互助课堂 ...
AS入门教程第7课综合练习-拼图游戏的制作[原创][本文已收录教程库] - Flash互助...
Dreamweaver网页制作教程:发布网站
网友原创教程:给PS新手的一些建议
关于在uga中快速制作流动效果闪图要点 于海建原创教程教程
iSee图片专家教程 -[原创]用ISEE制作水波流动图片!-
[小小原创教程]----紫色拼布钱包制作 - Effie's handwork life ...
iSee图片专家教程 -[原创]用ISEE制作水波流动图片2
制作贺卡的教程