You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python或MEL保存Maya Arnold RenderView中已渲染的图像?

如何保存Arnold RenderView中的渲染图像(Python/MEL)

你之前的代码没生效,核心问题是指定的renderView是Maya默认渲染器的窗口,Arnold的RenderView对应的编辑器名称是arnoldRenderView,换对编辑器名称就能正常保存了。

Python 实现代码

import maya.cmds as cmds

# 目标编辑器为Arnold RenderView
editor = "arnoldRenderView"
# 先检查编辑器是否存在,避免报错
if cmds.renderWindowEditor(editor, exists=True):
    # 写入图像,路径用正斜杠或双反斜杠都可以
    cmds.renderWindowEditor(editor, e=True, writeImage="C:/test_arnold.jpg")

MEL 实现代码

string $editor = "arnoldRenderView";
if (`renderWindowEditor -exists $editor`) {
    renderWindowEditor -e -writeImage "C:/test_arnold.jpg" $editor;
}

额外技巧:渲染完成自动保存

如果想让程序在Arnold渲染完成后自动保存图像,可以注册Arnold的渲染回调:

import maya.cmds as cmds
import maya.mel as mel

def auto_save_arnold_image(*args):
    editor = "arnoldRenderView"
    if cmds.renderWindowEditor(editor, exists=True):
        cmds.renderWindowEditor(editor, e=True, writeImage="C:/auto_saved_arnold.png")

# 注册渲染完成后的回调
mel.eval('arnoldRenderCallbacks -addCallback "auto_save_arnold_image" "postRender"')

注意:执行保存命令前要确保渲染已经完成,否则可能保存空白图像。

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 08:33:17