global proc bing_particleToPtcCmd(){

string $framePad;
int $startFrame , $endFrame ;

$temp
= `intFieldGrp -q -value startField`;
$startFrame
= $temp[0];
$temp
= `intFieldGrp -q -value endField`;
$endFrame
= $temp[0];

string $rifArgs =`textFieldGrp -q -text ptcField`;

for ($i=$startFrame ;$i<=$endFrame ;$i++){

currentTime $i;

if($i>=0){
if($i<10) {$framePad=("000"+$i);}
else if($i<100) {$framePad=("00"+$i);}
else if($i<1000) {$framePad=("0"+$i);}
else if($i<10000) {$framePad=(""+$i);}
}
else {
if($i>-10) {$framePad=("-000"+abs($i));}
else if($i>-100) {$framePad=("-00"+abs($i));}
else if($i>-1000) {$framePad=("-0"+abs($i));}
else if($i>-10000) {$framePad=("-"+abs($i));}
}

string $rifArgsBuf[];
int $tokenNum = `tokenize $rifArgs "." $rifArgsBuf`;

particleToPtc
-fileName ($rifArgsBuf[0]+"."+$framePad+"."+$rifArgsBuf[1] );
}
}

global proc bing_particleLight(){

if(`window -exists renderScriptWriterUI`) deleteUI renderScriptWriterUI;

windowPref
-sa ;
windowPref
-ra ;
window
-wh 400 500 renderScriptWriterUI;

columnLayout
-adj true;

text
" ";

text
"select particle system ";

text
" ";

rowLayout
-nc 2 -cw 200 200 -ct2 "left" "left";

intFieldGrp
-label "startFrame" -cw2 80 120 -nf 1 -value1 1 startField;
intFieldGrp
-label "endFrame" -cw2 59 110 -nf 1 -value1 24 endField;

setParent..;

textFieldGrp
-label "ptc files" -cw2 80 300 -text "C:/temp/pointCloud/pointCloud.ptc" ptcField;


text
" ";
rowLayout
-nc 3 -cw3 100 200 100;

text
" ";

button
-w 200 -label "generate ptc" -c "bing_particleToPtcCmd";

text
" ";

setParent..;

text
" ";

text
"renderScriptWriter ";
text
" ";
separator
-w 400 ;

text
" ";

textFieldGrp
-label "rifilter" -cw2 80 300 filterField;
textFieldGrp
-label "imagePath" -cw2 80 300 -text "C:/temp" imagePathField;
textFieldGrp
-label "imageFileName" -cw2 80 300 -text "test" imageNameField;
textFieldGrp
-label "ribFileName" -cw2 80 300 -text "C:/temp/test" ribNameField;
textFieldGrp
-label "scriptFileName" -cw2 80 300 -text "C:/temp/renderScript.bat" scriptNameField;
text
" ";

rowLayout
-nc 3 -cw3 100 200 100;

text
" ";
text
" ";

button
-w 80 -label "genernate"
-c ("string $renderScript = `bing_genRenderScript`;"+
"string $fileName = `textFieldGrp -q -text scriptNameField`;"+
" bing_renderScriptFileWriter($fileName,$renderScript)") ;


setParent..;

text
" " ;
separator
-w 400 ;

showWindow renderScriptWriterUI ;
windowPref
-la;
}
global proc string bing_genRenderScript(){

//getting rendering scripts

string $framePad;
int $startFrame , $endFrame ;

$temp
= `intFieldGrp -q -value startField`;
$startFrame
= $temp[0];
$temp
= `intFieldGrp -q -value endField`;
$endFrame
= $temp[0];



string $rifilter = `textFieldGrp -q -text filterField`;
string $rifArgs =`textFieldGrp -q -text ptcField`;
string $ribFileName = `textFieldGrp -q -text ribNameField`;
string $imagePath = `textFieldGrp -q -text imagePathField`;
string $imageFileName = `textFieldGrp -q -text imageNameField`;

string $renderScript;
int $i;

for ($i=$startFrame;$i<=$endFrame;$i++){
if($i>=0){
if($i<10) {$framePad=("000"+$i);}
else if($i<100) {$framePad=("00"+$i);}
else if($i<1000) {$framePad=("0"+$i);}
else if($i<10000) {$framePad=(""+$i);}
}
else {
if($i>-10) {$framePad=("-000"+abs($i));}
else if($i>-100) {$framePad=("-00"+abs($i));}
else if($i>-1000) {$framePad=("-0"+abs($i));}
else if($i>-10000) {$framePad=("-"+abs($i));}
}

string $rifArgsBuf[];
int $temp = `tokenize $rifArgs "." $rifArgsBuf`;


$renderScript
+="prman ";
$renderScript
+="-rif "+$rifilter+" ";
$renderScript
+="-rifargs "+$rifArgsBuf[0]+"."+$framePad+"."+$rifArgsBuf[1]+" "+"-rifend ";
$renderScript
+="\""+$ribFileName+"."+$framePad+".rib\"";
//$renderScript+=$imagePath+"/"+$imageFileName+"."+$framePad+".tif"+"\r\n";
$renderScript+="\r\n";
}

return $renderScript;

}

global proc bing_renderScriptFileWriter(string $fileName,string $renderScript){

int $file = `fopen $fileName "w"`;
fwrite($file , $renderScript);
// fflush($file);
fclose($file);
}

bing_particleLight;

  

posted on 2011-07-29 15:58  兵。  阅读(44)  评论(0)    收藏  举报