Save current render settings as preset
weird-grafx
Posts: 57
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);
})();
