Page MenuHome

Render an image or animation from different camera views
Closed, ArchivedPublic

Description

Project: Blender Extensions
Tracker: Py Scripts Upload
Blender: 2.63
Category: Render
Python: 3.2
Script name: render_shots.py
Wiki page: http://wiki.blender.org/index.php?title=Extensions:2.6/Py/Scripts/Render/Render_Shots
Dependencies: bpy, props, threading.Timer
Author(s): Aaron Symons
Status: Open

Render still images or animations from different camera views by clicking the render buttons in the “Render Shots” panel. Below these buttons will be a list of the cameras in the scene, each with a set of options, including:

- A button to preview the shot (making the chosen camera the active camera in 3D view)
- A button to specify whether or not to include the camera during render
- The start and end frames of the shot
- An output destination

Upon changing the name of a camera, or adding a new camera to the scene, the list will be automatically updated accordingly. If these do not immediately appear, just move the mouse cursor over the “Render Shots” panel and they should be shown.

Details

Type
Patch

Event Timeline

UPDATE:

Script now accounts for no cameras in the scene. How I missed this, I have no idea! :P

UPDATE:

Auto-update system pulled from release:
Had a big problem with the auto-update system. I was trying to use the threading module to keep a listen for changes, but this caused a need to force Blender to quit, as I wasn't terminating (thread.join()) any threads. I have pulled the functionality needing the auto-update and implemented a refresh button.

I'll be working and researching in attempt to reintroduce this auto-update feature!

UPDATE:

Fixed a problem with displaying data, seemingly a side-effect due to pulling out the auto-update system.

No extra functionality will be added until this version is confirmed stable.

FIXES:

1) The render callback function wasn't being appended to the callback list when adding the addon as a user preference - fixed using @persistent declaration for the function.

2) Renders were being done in reverse order due to using pop() on the rendering "to-do" list - fixed by reversing the list.

UPDATE (v0.2)

Added:
1) Ability to set render resolutions per camera (as requested)
2) Ability to set render samples per camera (Cycles)

Changes:
1) Camera properties toggle button is now set to: emboss=False (looks better and fits with Blender's UI model a little more)
2) Camera properties box now greys out if user sets it not to be included at render (settings still editable)
3) Output destination property now shows red if left blank
3) Custom properties now conform to a naming convention

Fixes:
1) Timeline now resets to previous range and current frame after rendering an animation
2) Fixed some typos in tooltips

FIXED (v0.2.1):

1) Renders in alphabetical order, again
2) When using custom resolutions, the last camera in the to-do list was receiving wrong resolutions

UPDATE (v0.3)

Added:
1) "Shot Shapes" - create any shape and the camera will render shots from all vertices (stills, or for animations)
2) Render settings helper (as requested) - ability to edit camera resolutions and see the changes in realtime (instead of having to use the scene settings and copy to the camera)

UPDATE (v0.3.1)

Added:
1) Ability to use frame range instead of object's vertex count in "Shot Shapes" mode
2) Button to create output folders for all cameras

I tested it and couldn't get it to work at all, neither in 2.61, nor 2.62 nor 2.63 (official releases)
1. Installing it as an addon apparently removes all other addons from the list. This is reverted on restarting blender, but confused me.
2. In Version 2.61 and 2.62 the addon could not be activated the usual way in the addon list. Neither could I tick it in the addons-list, nor did the gui appear.
Once I clicked "remove plugin" the GUI appeared.
4. In 2.61 and 2.62 none of the cameras was listed and the script failed to do anything.
5. in 2.63 all cameras were listed, but when I clicked render all I got was an error:

found bundled python: C:\Program Files (x86)\Blender Foundation\blender-2.63-rel
ease-windows64\2.63\python
Traceback (most recent call last):
File "C:\Users\<username>\AppData\Roaming\Blender Foundation\Blender\2.63\scripts\a
ddons\render_shots.py", line 550, in modal
keyframes_handler(scn, bpy.data.objects[self.cam], None, 'WIPE')
KeyError: 'bpy_prop_collection[key]: key "" not found'

location:<unknown location>:-1

location:<unknown location>:-1
read blend: R:\Renderings\cube1.blend

I could not run it at all, when i wan't to run it.
win 8 64bit, default proporieties, blender 2.68

Traceback (most recent call last):
File "C:\Program Files\Blender Foundation\Blender\2.68\scripts\modules\addon_utils.py", line 294, in enable
mod = __import__(module_name)
File "C:\Users\Tibicen\AppData\Roaming\Blender Foundation\Blender\2.68\scripts\addons\render_shots.py", line 193, in <module>
init_props(bpy.context.scene)
AttributeError: '_RestrictContext' object has no attribute 'scene'



@Dawid Huczyński (tibicen), I edited the code and now it works for me, as suggested here: http://stackoverflow.com/a/20302127/1827854

Try the attached file. This is for version 0.3.1, but a similar approach should work for other versions.

I'm getting the same error when I install on window 8.1, Blender 2.72b. Same error as @Dawid Huczyński (tibicen)

Hello. Thanks. Good and helpful add-on.

  1. I think that adding dot at the end of file is the good idea, many compose programs like name.0000.png but not always name0000.png
  1. May be (if it not so difficult) add ability to take info about cameras from Video Sequencer Editor.

Edit:: Found that if I wrote Cam name after path with dot, work like I expected

Edit2:: Link to render_shots-v0-3-1.zip. This "py" not working to me. Blender 2.75 on Win7. Same error about "scene", but link from "Nov 4 2014" is working.

Brendon Murphy (meta-androcto) closed this task as Archived.

Archiving. op not active for 3 years
Aaron Symons (wet_sponge) feel free to start a new task if this is updated.
other subscribers, feel free to start a new task if this is updated & you are maintain the addon.