after stealing some of your code from other places I have my script almost working as it should. there are a few things which still give me head ache though.
Code:
string $renderPanel;
string $renderPanels[] = `getPanel -scriptType "renderWindowPanel"`;
string $basePath = (`workspace -q -rd` + "renderOutput/");
string $renderLayers[] = `ls -type "renderLayer"`;
int $firstFrame = `currentTime -q`;
int $lastFrame = `currentTime -q`;
if(size($renderPanels))
$renderPanel = $renderPanels[0];
else
{
$renderPanel = `scriptedPanel -type "renderWindowPanel" -unParent renderView`;
scriptedPanel -e -label "Render View" $renderPanel;
}
// do stuff
for ($i = $firstFrame; $i <= $lastFrame; $i++)
{
// RenderViewWindow;
// tearOffPanel "Render View" "renderWindowPanel" true;
string $outputFolder = ("PSDmuster" + $i + "_");
string $myDiffuseTexture = "DT_" + `currentTime -q`;
string $myNormalTexture = "NM_" + `currentTime -q`;
//connectAttr -force ($myDiffuseTexture + ".outColor") shader_gamma.value;
//connectAttr -force ($myNormalTexture + ".outAlpha") shader_bump2d.bumpValue;
for ($layer in $renderLayers)
{
if ($layer == "defaultRenderLayer") // ignore the default render layer
continue;
else
{
string $folder = ($basePath + $outputFolder);
if (!`filetest -e $folder`) // folder doesn't exist. create it.
sysFile -makeDir ($basePath + $outputFolder);
print ($folder + "/" + $layer + $outputFolder + "\n");
render -l $layer shotCAM01; // render
if (`getApplicationVersionAsFloat` >= 2011)
catch(eval(renderWindowSaveImageCallback ($renderPanel, ($folder + "/" + $outputFolder + $layer), `getAttr defaultRenderGlobals.imageFormat`)));
else
renderWindowSaveImageCallback ($renderPanel, ($folder + "/" + $outputFolder + $layer), `getAttr defaultRenderGlobals.imageFormat`);
// catch(eval(renderWindowSaveImageCallback ($renderPanel, ($imagesDir + “/renderView.” + ($maxImageIndex – $i)), `getAttr defaultRenderGlobals.imageFormat`)));
}
}
}
#1
in case files get overwritten, how can I integrate an "auto-YES, please overwrite that file" into the script?
#2
Code:
# Error: AttributeError: ImageFormats instance has no attribute 'oldOutf' #
if I replace
Code:
`getAttr defaultRenderGlobals.imageFormat`
with
result:
Code:
// Error: //
// Error: Syntax error //
without any further information on that error
basically the directory is created, rendered frame is named and placed correctly, but it is black.
#3
Code:
//connectAttr -force ($myDiffuseTexture + ".outColor") shader_gamma.value;
//connectAttr -force ($myNormalTexture + ".outAlpha") shader_bump2d.bumpValue;
if the corresponding textures are already applied,
Code:
// Warning: 'DT_2.outColor' is already connected to 'shader_gamma.value'. //
and the script stops there. I tried to make use of the catch() command, but maya always returns
Code:
// Error: Invalid use of Maya object "connectAttr". //
everything starts and ends in the right place at the right time.
Last edited by Falott; 30-08-2011 at 10:08 AM.