At least 1 day every week we have this scenario:
So why do you use dealine at all, you may ask...Artist: "My deadline shot is getting errors!"
ME: "Just submit with Afanasy", and the job goes though without any problems!
Well, for one single feature, that it keeps the maya scene open during tasks. So the overhead of scene loading (network bandwidth and time) is reduced to 1 load per blade. And since some of our load times can be quite high (multiplied by x blades), this feature is fantastic because it is makes the job go through much faster and doesn't put any strain on the network.
"Why not just send the job in with multiple frames per task?". We do try that, but it mostly ends with 1 or 2 blades finishing off the last frames and we have to wait hours for that to finish anyway. So for small shots that can work, but big shots, there are often no gains. With the 'keep maya open' scenario, the gains can be significant.
So it seems there are (at least) 2 ways of achieving this within Maya. Both work like this... open a terminal, launch Maya in batch/prompt mode, then send it commands like load scene, then render this frame etc... then it just sits there waiting for more commands:
"mayapy" and "mayabatch -prompt"
For mayapy.exe I got it to the point of loading the scene, setting first and last frames then rendering through vray, but assume all render engines would have similar functionality:
Code: Select all
"C:\Program Files/Autodesk/Maya2023/bin/mayapy.exe"
import maya.standalone
maya.standalone.initialize()
import maya.cmds as cmds
cmds.workspace('w:/FLUX_2021/FLU21002_farmTests/software/maya/', o=True)
cmds.file('w:/FLUX_2021/FLU21002_farmTests/software/maya/scenes/yeti01.mb',open=True,force=True)
cmds.loadPlugin('vrayformaya')
cmds.setAttr("defaultRenderGlobals.startFrame", 2)
cmds.setAttr("defaultRenderGlobals.endFrame", 4)
cmds.vrend(camera='persp')