We're heaviliy using the StringReplace operator in order to render stand ins that we created on workstation running Windows on our Linux based render farm. Works like a charm.
I ran into trouble when exporting an ass-file that contains stand-ins itself. Seems when rendering the scene with Maya in batch on the farm the operator does not replace the string in the "lower-level" stand-ins and thus they won't be found.
It works with kick, though.
Help is appreciated.
Matthias
Yes, I'm replacing the string in the .dso attribute of stand-ins.
Here's my code to create the actual operator:
from pymel.core import * n0 = createNode("aiStringReplace", n="Standin_Path_Switch") n0.selection.set("*.(@node =='materialx')") n0.os.set(1) n0.match.set("[wW]:/") setAttr(str(n0)+".replace", "/") n0.out >> SCENE.defaultArnoldRenderOptions.operator
I've tried with standins and alembics, and so far it's worked.
I'm doing a string replace on procedural.filename or alembic.filename.
This is with MtoA 4.2.2.0 on Windows 10.
The nesting is two and three levels deep.
Can you get a debug Arnold log from a farm machine? That way we can at least check that the operators are matching something...
Thanks