我正在生成.bat和.sh脚本以启动Maya对许多场景的批渲染(我使用AMD FireRender作为渲染器)
cmds.append('''"{tool}" -log "{log_path}" -proj "{project}" -r FireRender -devc "{render_device}" -rd "{result_dir}" -im "{img_name}" -preRender "python(\\"import base_functions\\"); python(\\"base_functions.main({case_num})\\");" -postRender "python(\\"base_functions.post_render({case_num})\\");" "{scene}"'''.format(
tool=args.tool,
log_path=os.path.join(work_dir, LOGS_DIR, case['case'] + '.log'),
project=projPath,
result_dir=os.path.join(work_dir, 'Color'),
img_name=case['case'],
render_device=args.render_device,
case_num=case_num,
scene=case['scene']
));
cmds
是一个包含命令的列表,稍后将写入脚本。base_functions
是一个python脚本,用于记录和执行每种情况的mel命令
例如,如果我有两个default.ma
场景的案例,则生成的script.bat
将是:
"C:\Program Files\Autodesk\Maya2020\bin\Render.exe" -log "F:/Workspace/Work/jobs_test_maya/Work/Results/Maya/Smoke\render_tool_logs\MAYA_SM_001.log" -proj "C:/TestResources/MayaAssets\Smoke\default" -r FireRender -devc "gpu" -rd "F:/Workspace/Work/jobs_test_maya/Work/Results/Maya/Smoke\Color" -im "MAYA_SM_001" -preRender "python(\"import base_functions\"); python(\"base_functions.main(0)\");" -postRender "python(\"base_functions.post_render(0)\");" "default.ma"
"C:\Program Files\Autodesk\Maya2020\bin\Render.exe" -log "F:/Workspace/Work/jobs_test_maya/Work/Results/Maya/Smoke\render_tool_logs\MAYA_SM_002.log" -proj "C:/TestResources/MayaAssets\Smoke\default" -r FireRender -devc "gpu" -rd "F:/Workspace/Work/jobs_test_maya/Work/Results/Maya/Smoke\Color" -im "MAYA_SM_002" -preRender "python(\"import base_functions\"); python(\"base_functions.main(1)\");" -postRender "python(\"base_functions.post_render(1)\");" "default.ma"
执行此脚本时,会渲染图像,但在每个日志中都有两个错误:
Error: line 0: setAttr: Too much data was provided. The last 5 elements were not used.
Error: line 0: setAttr: Too much data was provided. The last 2 elements were not used.
它们出现的原因分别是-preRender
和-postRender
标志。
我可以忽略这些错误,但我需要得到与参考图像完全相似的图像,这还不起作用,这个错误困扰着我。
也许我用错了这些旗子
目前没有回答
相关问题 更多 >
编程相关推荐