【问题标题】:How to cancel OpenGL render by python In Blender如何在 Blender 中通过 python 取消 OpenGL 渲染
【发布时间】:2018-04-24 14:03:26
【问题描述】:

当我在 Blender VSE 中按下 Opengl Animation 图标时,它会执行,如果我按下 escape,它会中断。

在代码中:

bpy.ops.render.opengl(animation=True, sequencer=True)

它可以启动动画渲染,但是如何使用转义键中断它?是否应该附加KeyboardInterrupt函数?

编辑:: 经过一些研究:我发现 modal 可以做到这一点。但无法弄清楚如何编码。

【问题讨论】:

  • 添加'INVOKE_DEFAULT'作为第一个参数,见this answer。
  • 感谢您的回复,但是我已经创建了上下文布局。但停留在模态。我找不到如何命令 opengl OP 停止。如果操作启动,它会遍历所有帧,然后等待 {'CANCELLED'} 命令。他们有什么方法可以阻止来自 python 的命令吗?我试过动画=假。但它不会在 animation=True 进行时停止。
  • This answer 有一个进行渲染的模态运算符。
  • 感谢来源。然后将尝试使用循环。如果成功,将在此处发布代码。书签。

标签: python opengl render blender


【解决方案1】:

差点忘记发布解决方案。正如 sambler 指出的那样,这就是解决方案。 从 Blender 2.8 开始,它很简单:

bpy.ops.render.opengl('INVOKE_DEFAULT', animation=True, sequencer=True)

【讨论】:

    猜你喜欢
    • 2013-02-05
    • 2018-07-07
    • 2018-12-14
    • 2017-06-15
    • 2015-05-10
    • 2020-11-17
    • 1970-01-01
    • 2016-12-20
    • 2011-07-08
    相关资源
    最近更新 更多