Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Colin.lob

Pages: [1] 2
This is a possible difference between CPU and GPU engines.  To confirm this option can you change SD with SSE engine (cpu) and see if you have the same result as SAT? 
If this is the case I will discuss that with the engine team.

This kind of support will depend on the type of license you have, and also depend of the project for which you want support. I guess, first, you have to contact your support license contact who will redirect you to the right person.

Substance Automation ToolkitSubstance Automation Toolkit - Discussions - Re: using SAT?
 on: December 09, 2020, 03:20:48 pm 
Yes it's a use case that can be done with SAT. Any automation process that need create/edit/render is a good use case for SAT.

It's a bit more complex because it is necessary to go up to the level of the graph of the instance comp node.
Here a snippet to do that:
Code: [Select]
imp = comp_node.getCompImplementation()
# SBSAR comp node:
param = imp.mRefGraph().getInput(param_identifier)  # should be the same definition getInputParameter ... (todo fix)
# SBS comp node
param = imp.mRefGraph().getInputParameter(param_identifier)

Now param is a SBSParamInput object with getMinValue() getMaxValue()


Hello, thanks for the feedback  ;)
I did some tests and everything looks fine here. Here the commandlines:

Code: [Select]
sbsrender render 'brick.sbsar' --set-value '$outputsize@10,10' --input-graph-output 'output' --output-name color_from_sbsrender_sRGB -vvv

sbsrender render 'brick.sbsar' --set-value '$outputsize@10,10' --input-graph-output 'output' --output-name color_from_sbsrender_Linear --set-output-colorspace 'output@Linear' -vvv

FYI, in Designer terminology, "Raw" is sRGB for a color output (at least for legacy color management), so it's better to use Linear.

What is your sbsrender / SAT version?
Did you use specific colorspace configuration inside Designer (ocio / ace)? if so did you cook it correctly ?


Hello there,
I will take a look!
Can you please provide me repro steps and/or files that could be much appreciated.
Also SD and SAT versions please.

Sbsrender's input must be an sbsar file. So, you have to cook your sbs file with the sbscooker before ;)

Hello Tracychen,
You mean with Pysbs, right?
It depends on your use case, but the UID is a member of the class SBSCompNode which the highest object for any kind of node in a graph.
A simple snippet example to list all UID node:
Code: [Select]
from pysbs import context, substance
ctx = context.Context()
doc = substance.SBSDocument(ctx, "")
graph = doc.getSBSGraph('New_Graph')
nodes = graph.getAllNodes()
for node in nodes:

Unfortunately, It seems to be a limitation of sbsmutator...
Effectively sbsmutator should support svg file as an input image, let's make a ticket to hopefully fix that for a next release.
As a workaround you can use PySbs module to edit your template and replace the input node by a SVG node.


SAT and Designer python API are two different things and different products. SD python API is directly embedded in the Designer installation so you have nothing to do. Whereas SAT is a bunch of different tools and can be used separately from Designer, it is designed to automate and implement a substance workflow (as an instance in a production pipeline). In this bunch there is a python pip package: pysbs I invite you to learn more about pip package which is one of standard python package form.

So one way to install pysbs package correctly is to use pip to install it in the python interpreter site-packages:
From a terminal or a Powershell:
Code: [Select]
pip install /satinstallpath/Python\ API/Pysbs-2019.3.1.zipThis instruction will install pysbs for your default system python interpreter.

If your purpose is to use pysbs from the Designer python interpreter you have to append your PYTHONPATH system variable
with the parent pysbs directory path.
- extract (as a classic way) the content of /satinstallpath/Python\ API/
- extraction result is a Pysbs-2019.3.1 directory
- append the path of this directory (Pysbs-2019.3.1) to the PYTHONPATH system variable
Another way (not really handy) is to append this parent directory (Pysbs-2019.3.1) directly in your python script thanks to:
Code: [Select]
import sys
sys.path.append("/satinstallpath/Python\ API/Pysbs-2019.3.1")
from pysbs import context

As you can see SAT deployment is very pipeline strategy dependent.

I hope these explanations clarified things.


1) Should this work with just using the textures embedded in the fbx file (tried obj as well)?
No sorry, it's not possible you have to use --texture-file flag.

2) Is there any udim support?
3) Is it able to handle multiple files for the textures provided (aka a texture file for every udim tile) ?
Yes it's supported with the flag --udim <udim> (ex: --udim 1001). But what is not supported is the iteration through all the mesh udim and the corresponding texture files. We are aware of this limitation, it's something we'd like to improve.


Hey Nev!

Thanks for all these details!

We used to run sbsrender with multi-process pool in the pretty same context than you except Quadro card!
We will make some test with Quadro cards and open the discussion with engine team in order to resolve the issue.

I keep you informed.


Yes, you guessed right.
 It's a problem that we have in mind and it's planned to work on it to improve that.
At the moment, the best that you can do is to improve your code with parallelization maybe the best is a python multiprocessing pool.

Pages: [1] 2