I couldn't find a way to do this in sbsmutator; however, I was able to use pysbs to set the default parent inheritance value for outputsize, however, I can't find a way to switch the inheritance mode from absolute to parent.
I'm using a much older version of SAT, so it's possible it's a bug that's been resolved since.
Try it on your end and see if you can get any further with the script.
Note: This will overwrite the sbs file being processed, so use at your own risk. Preferably with an isolated test material.
from pysbs import context, substance, sbsenum
sbs_mtls = [] # Your list of sbs files to process.
def set_sbs_graph_to_relative(sbs_path):
# Build doc.
ctx = context.Context()
sbs_doc = substance.SBSDocument(ctx, sbs_path)
sbs_doc.parseDoc()
# Get your graph.
graph = sbs_doc.getSBSGraphList()[0]
# Change the outputsize inheritance value.
# Bug: The aRelativeTo argument doesn't appear to do anything.
#
# https://docs.substance3d.com/sat/pysbs-python-api/api-content/libraries/sbsenum
graph.setBaseParameterValue(
aParameter=sbsenum.CompNodeParamEnum.OUTPUT_SIZE,
aParamValue=[sbsenum.OutputSizeEnum.SIZE_1, sbsenum.OutputSizeEnum.SIZE_1],
aRelativeTo=sbsenum.ParamInheritanceEnum.PARENT
)
# Save pkg.
sbs_doc.writeDoc()
for pkg in sbs_mtls:
set_sbs_graph_to_relative(pkg)