2017-01-02 62 views
0

我想使用這個腳本,我發現轉換蓬米亞材料

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是素材IM嘗試轉換

回答

2

名//你需要定義$樹皮一些地方

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);