Save current render settings as preset

Is it possible to save the current render settings with a script. The output file should automatically be save in the scene folder and the name should be scen name plus camera name.
This would be a great help when different render settings are used with different cameras.

I already gave it some tries and ended up with this, knowing that oRenderMgr.savePreset(sFileName); is not working:

 

// DAZ Studio version 4.24.0.4 filetype DAZ Script

 

(function () {

 

function sanitize(s) {

return String(s).replace(/[\\\/:*?"<>|]/g, "_");

}

 

// 1) Szene

var sScenePath = Scene.getFilename();

if (!sScenePath || sScenePath == "") {

MessageBox.warning("Scene not saved\nplease save first.",

"Save Render Preset", "&OK");

return;

}

var oInfo = new DzFileInfo(sScenePath);

var sDir = oInfo.path();

var sSceneName = oInfo.baseName();

 

// 2) Kamera

var oCam = null;

try {

oCam = MainWindow.getViewportMgr().getActiveViewport().get3DViewport().getCamera();

} catch (e) {}

if (!oCam) {

var aNodes = Scene.getNodeList();

for (var i = 0; i < aNodes.length; i++) {

if (aNodes[i].inherits("DzCamera")) { oCam = aNodes[i]; break; }

}

}

var sCamName = oCam ? oCam.getLabel() : "NoCamera";

 

var sFileName = sanitize(sSceneName) + "_" + sanitize(sCamName);

 

// 3) Preset save

var oRenderMgr = App.getRenderMgr();

// Save current scene render settings into a preset file in the scene folder

oRenderMgr.savePreset(sFileName);

print("Saved Render Preset to: " + sFileName);

 

})();

Sign In or Register to comment.