Skip to main content
added 394 characters in body
Source Link
Mario
  • 89
  • 6

I'm using Blender's compositor to build the final images based on several things including the 3D render output. Nothing special....

Normally, the 3D render output in the compositor is always the last one that has been rendered. When I'm clicking around in the time line, my script and a frame-change handler there is altering several things in the compositor as well as in the 3D scene. While the 3D viewport does reflect the changes, they are not forwarded to the compositor, since the scene is only preview-rendered. This is a bit annoying for my special use-case.

So is there a way to have Blender to re-render the 3D-scene automatically whenever the frame number is being changed? I already tried bpy.ops.render.render(write_still=False) from within the frame-change handler, which is apparently a bad idea since it crashes Blender (I guess due to recursive calling).

Thanks for any hints, Mario

Update: In the properties of the compositor in the "Options"-tab under "Performance" there is an "Auto Render" option. Would be nice if that is working. However, this does have no effect when the 3D scene is changed from within the script. It does have an effect, when I manually edit objects. But maybe it is somehow possible to trigger some sort of scene-change event from the script???

I'm using Blender's compositor to build the final images based on several things including the 3D render output. Nothing special....

Normally, the 3D render output in the compositor is always the last one that has been rendered. When I'm clicking around in the time line, my script and a frame-change handler there is altering several things in the compositor as well as in the 3D scene. While the 3D viewport does reflect the changes, they are not forwarded to the compositor, since the scene is only preview-rendered. This is a bit annoying for my special use-case.

So is there a way to have Blender to re-render the 3D-scene automatically whenever the frame number is being changed? I already tried bpy.ops.render.render(write_still=False) from within the frame-change handler, which is apparently a bad idea since it crashes Blender (I guess due to recursive calling).

Thanks for any hints, Mario

I'm using Blender's compositor to build the final images based on several things including the 3D render output. Nothing special....

Normally, the 3D render output in the compositor is always the last one that has been rendered. When I'm clicking around in the time line, my script and a frame-change handler there is altering several things in the compositor as well as in the 3D scene. While the 3D viewport does reflect the changes, they are not forwarded to the compositor, since the scene is only preview-rendered. This is a bit annoying for my special use-case.

So is there a way to have Blender to re-render the 3D-scene automatically whenever the frame number is being changed? I already tried bpy.ops.render.render(write_still=False) from within the frame-change handler, which is apparently a bad idea since it crashes Blender (I guess due to recursive calling).

Thanks for any hints, Mario

Update: In the properties of the compositor in the "Options"-tab under "Performance" there is an "Auto Render" option. Would be nice if that is working. However, this does have no effect when the 3D scene is changed from within the script. It does have an effect, when I manually edit objects. But maybe it is somehow possible to trigger some sort of scene-change event from the script???

Source Link
Mario
  • 89
  • 6

How to automatically trigger 3D-rendering for use in the compositor during editing?

I'm using Blender's compositor to build the final images based on several things including the 3D render output. Nothing special....

Normally, the 3D render output in the compositor is always the last one that has been rendered. When I'm clicking around in the time line, my script and a frame-change handler there is altering several things in the compositor as well as in the 3D scene. While the 3D viewport does reflect the changes, they are not forwarded to the compositor, since the scene is only preview-rendered. This is a bit annoying for my special use-case.

So is there a way to have Blender to re-render the 3D-scene automatically whenever the frame number is being changed? I already tried bpy.ops.render.render(write_still=False) from within the frame-change handler, which is apparently a bad idea since it crashes Blender (I guess due to recursive calling).

Thanks for any hints, Mario