将 phong 转换为 mia material
Convert phong to mia material
我正在尝试使用我找到的这个脚本将 phong material 转换为 mia material
proc connectAndSet(string $original,string $target){
$conn=connectionInfo -sfd ($BARK3);
if ($conn!=""){
connectAttr -force $conn $target;
} else {
connectAttr -force $original $target;
disconnectAttr $original $target;
}
}
proc convertPhongToMia(string $original){
$target=`mrCreateCustomNode -asShader "" mia_material`;
connectAndSet($original+".color",$target+".diffuse");
$sg=`connectionInfo -dfs ($original+".outColor")`;
if ($sg[0]!=""){
$sgr=`match "[^.]*" ((string)$sg[0])`;
connectAttr -force ($target+".outValue") ($sgr+".miMaterialShader");
connectAttr -force ($target+".outValue") ($sgr+".miPhotonShader");
connectAttr -force ($target+".outValue") ($sgr+".miShadowShader");
}
delete $original;
rename $target $original;
}
for ($item in`ls -et phong`)
convertPhongToMia($item)
我对 Mel 脚本完全是菜鸟,所以我不知道为什么它不起作用或如何修复它
它显示以下错误:
// Error: $conn=connectionInfo -sfd ($BARK3); //
// Error: Line 2.24: Invalid use of Maya object "connectionInfo". //
// Error: $conn=connectionInfo -sfd ($BARK3); //
// Error: Line 2.36: "$BARK3" is an undeclared variable. //
// Error: if ($conn!=""){ //
// Error: Line 3.13: "$conn" is an undeclared variable. //
// Error: connectAttr -force $conn $target; //
// Error: Line 4.36: "$conn" is an undeclared variable.
$BARK3 是 material 我试图转换的名称
// 你需要在
的地方定义 $BARK
proc connectAndSet(string $original,string $target, $BARK){
// when you call mel function you need to use `
$conn=`connectionInfo -sfd ($BARK)`;
if ($conn!=""){
connectAttr -force $conn $target;
} else {
connectAttr -force $original $target;
disconnectAttr $original $target;
}
}
.....
$target=`mrCreateCustomNode -asShader "" mia_material`;
$BARK = "someNode";
connectAndSet($original+".color",$target+".diffuse", $BARK);
我正在尝试使用我找到的这个脚本将 phong material 转换为 mia material
proc connectAndSet(string $original,string $target){
$conn=connectionInfo -sfd ($BARK3);
if ($conn!=""){
connectAttr -force $conn $target;
} else {
connectAttr -force $original $target;
disconnectAttr $original $target;
}
}
proc convertPhongToMia(string $original){
$target=`mrCreateCustomNode -asShader "" mia_material`;
connectAndSet($original+".color",$target+".diffuse");
$sg=`connectionInfo -dfs ($original+".outColor")`;
if ($sg[0]!=""){
$sgr=`match "[^.]*" ((string)$sg[0])`;
connectAttr -force ($target+".outValue") ($sgr+".miMaterialShader");
connectAttr -force ($target+".outValue") ($sgr+".miPhotonShader");
connectAttr -force ($target+".outValue") ($sgr+".miShadowShader");
}
delete $original;
rename $target $original;
}
for ($item in`ls -et phong`)
convertPhongToMia($item)
我对 Mel 脚本完全是菜鸟,所以我不知道为什么它不起作用或如何修复它 它显示以下错误:
// Error: $conn=connectionInfo -sfd ($BARK3); //
// Error: Line 2.24: Invalid use of Maya object "connectionInfo". //
// Error: $conn=connectionInfo -sfd ($BARK3); //
// Error: Line 2.36: "$BARK3" is an undeclared variable. //
// Error: if ($conn!=""){ //
// Error: Line 3.13: "$conn" is an undeclared variable. //
// Error: connectAttr -force $conn $target; //
// Error: Line 4.36: "$conn" is an undeclared variable.
$BARK3 是 material 我试图转换的名称
// 你需要在
的地方定义 $BARKproc connectAndSet(string $original,string $target, $BARK){
// when you call mel function you need to use `
$conn=`connectionInfo -sfd ($BARK)`;
if ($conn!=""){
connectAttr -force $conn $target;
} else {
connectAttr -force $original $target;
disconnectAttr $original $target;
}
}
.....
$target=`mrCreateCustomNode -asShader "" mia_material`;
$BARK = "someNode";
connectAndSet($original+".color",$target+".diffuse", $BARK);