I've got an animation that I want to render from loads of camera angles. How can I write a script to automatically loop through all the cameras and render the scene from each perspective?
122007
To be clear i want a script, which produces what i am describing below. I want to iterate through all the cameras in my scene where each one renderes an image. I can do this manually by rendering with active camera, then set another camera to active, and then render again.   I have five cameras in my scene and i am going to be using this scene a lot. in reality the question might be more about setting a camera to active with script.
22396
I have already found one similar , however it doesn't correctly address what I am talking about. Please see , example to know exactly what I'm talking about. I have only found , and , but both use a curved plane to do the trick, which would work unless the object is to be rotated(in animation) to view from every angle.      Yes, again we could rotate the object instead of the camera but, what about a large array of object, that would really distort the scene and setting the camera accordingly would be very difficult.    Setting the camera at this angle would be good even for a large array of objects: , but what if we need a more acute view like this:  , (even if we set the world background color to white this would be impossible to actually blend if taking the lighting into account, as it would emit light and the edges of planes would be visible.)    I don't know if there is a workaround with the lightpath node with this to only make the area where the shadow falls visible. And I don't know how to take only the shadow information into the compositor to make this?    Primarily focusing two problems: 1) how to make such a world in cycles, infinite, only the shadow information and the object? 2) How to make such a world in cycles, infinite, only the shadow information and the object and a slight gradient in the infinite world?  Therefore, I resolved here.
4809
First time I've used cycles rendering engine.  I'm using a movie clip as the background in short animation. Selected RBGA under Property Tab, and Transparent under Film Tab.  It looks good and individual frames in OpenGL active viewport render, and looks fine.  When I try to get it to spit out PNG files of the finished animation the objects render out fine, except no movie clip background as Blender Render engine did when using Paper Sky setting.  Operator error, or am I trying to do something Cycles won't do?  Haven't found an answer in my searches so far.  Can anyone point me in the right direction please.   Addition:  I think I found my problem after a couple more hours of research.  Post should read "operator ignorance" instead of operator error.  Too tired to try the solution tonight, everything looks better in the morning. Thanks anyway.  Sorry, I just saw your posts.  Really tired.  Much appreciation.
49126
I have a scene of an office. It has chairs, tables, computers, and so on. I would like to know how I can render this scene faster as I am planning to make animation inside the office and don't want the render to take forever. I know of sampling, resolution and most things in render settings. I have also heard of render passes or rendering using layers.
36633
I would like to do 3D animations.  M spheres appear moving around and rotating along N frames (all spheres will appear in every frame).   For each sphere at every frame, these values are saved in a text file, which I'd like Blender to read:   position   angle rotation   Is it possible to read this file from blender, (so that Blender will create N frames and move and rotate at each frame the M spheres with the data read)?  I can write the file with the positions and angles in the most easily format to perform this. Eg. csv file:  time step | sphere number | x | y | z | mx | my | mz   (where m is refered to the rotation components)
48937
It seems that Cycles is mainly built in the form of Python scripts (as far as I can tell). Is it still possible to use Cycles to render a .blend file from the command line?
90720
I'm using 3d to speed up production of 2d graphics of machines and structures (which have a lot of straight lines, objects and little details repeated all over the place).  The goal is to have an isometric background image that repeats seamless. I set the camera with orthographic projection and 45° of rotation.    And manually cut the vertical borders in an image editor in the position where it repeats. Then I can do something like this:    Instead of cutting it manually every time I do a test, I would like to set the camera view position and height from Blender. Then I can render an already seamless repeated image.  Those two Empty objects in the boundaries are where the camera borders should be. However I have no clue how to accurately set up the camera in this case. How can I do this?
81281
I'm trying to make a script where I have to render several images of the same scene at the same frame, and write to disk with appropriate names. The problem is that although this works fine with a non-responsive UI, it doesn't work well when the render progress appears in the Blender UI.  I mean,  bpy.ops.render.render()   uses "EXEC_DEFAULT" when called from a script. This leaves a blocked User Interface until the render finishes, meaning that you can't cancel the process, except by killing Blender. The problem is that the render may be too big in resolution, and the user could want to stop the process when realizing that the render could take hours, so the idea is to cancel this process without losing the currently opened project.  If I call,  bpy.ops.render.render("INVOKE_DEFAULT")   I get a nice preview bar in the Info Window with a clickable "X" button. I want the user to be able to press that button to cancel the operation if needed, but for a series of renders (not animation).  The problem here seems to be when trying to loop this command with the INVOKE_DEFAULT context to write several renders. I made a lot of testing, and this way of calling the render operator seems to continue with whatever is next in the script, so it loops very fast and ends before the rendering actually finishes.  I think that I need some way to stop the script and make it wait until render finishes to continue looping with the next ones. I tried the "render_complete" and "render_cancel" handlers, but I can't use them to start a new render or even make the rest of the script wait until the loop of renders is complete. I tried threading and events without success either. Maybe I'm doing something wrong.  import bpy  render = bpy.context.scene.render path = render.filepath = "/tmp/" shots = ["one", "two", "three"]  for x in shots:     render.filepath = path + x     bpy.ops.render.render("INVOKE_DEFAULT", write_still=True) # this doesn't work      # but if I use:     # bpy.ops.render.render(write_still=True)     # without the INVOKE thing, images are written as expected,     # but losing the possibility to see the progress and cancel rendering
2790
Objective: build a virtual suburb in blender for use in creating exterior shots (not realtime: shots will be rendered in Cycles).  The angles of these shots will not be known in advance, so it's impossible to guess in advance which elements need to be high detail and which can be low detail.  Large scene becomes unwieldy and incredibly memory-intensive with hundreds or even thousands of high-detail objects, especially when many are not in shot. Scene will be utilized by an artist on home computer, so excessive memory use is not viable. Convenience is the primary objective to maximize efficiency in setting up and rendering shots. Renderer to be used is Cycles.  The higher detail of the nearby models would not necessarily be provided by subdivision. A perfect example of the sorts of things I'd be working with are buildings; up close, they would have fully modeled doors, windows, and other small details like flags, while far away, those fine details could be baked into textures, made more rudimentary, or simply omitted altogether.  Is it possible to automatically swap out lower detail meshes/materials at long distance for these renders?  I am also interested in alternate solutions. Since there are only 20 layers available, the only alternate solution I can come up with would be to divide the suburb into sections and have a high-detail and low-detail version of each section put onto adjacent layers, which the artist will toggle based on the position of the camera and what is visible in the shot, but this would be less than optimal. Any other ideas are welcome.
5374
Is there a way to create an HDR map from a rendered scene in blender?  I'm asking because I'm working to optimize an indoor scene that will be used multiple times for rendering scenes in a comic, and it has open windows which look out to a cityscape.  I would like to cut the cityscape out and replace it with an HDR version of it, so that it doesn't have to calculate as many bounces and (by extension) renders faster.
93199
I would like to generate several renders of a static scene, each render being a different size (eg 1024x1024, 512x512 etc). Other than the size, each render will be identical.  Is there a way of doing this using, say, the command line, or a script? I am currently doing this by manually changing the dimensions within the render panel every time, but I was wondering if there's a quicker way.  I am using Blender Internal in this specific instance.  Many thanks
70422
Consider I have N dynamic points on my Scene, I would like to "frame" all them, with my Camera.    How can i calculate (at runtime) Vector3 Position to correctly frame all my scene ?   This is my idea:    Calculate Avarage for all my points  Move my Camera "up" to correctly "frame" all my points  (i don't know how) Use Unity LookAt(myAvaragePoint)   Thanks
68235
Very basic question here, I am afraid.  I have hundreds of shattered pieces of a mesh and I am trying to animate their visibility over the scene.  How can I animate the visibility and render visibility parameter for one piece, then copy/transfer to all the others?
48102
I want to crop (as in, take a subset of each frame, like when you crop a photo) a video in Windows Live Movie maker. Is there a way to do this, and failing that is there another free tool i can use to do that?
29918
I'm drawing a scene where the camera freely moves about the universe.  The camera class keeps track of the view (or look at) point, the position of the camera, and the up vector.  These vectors/points are then passed into gluLookAt.    Pan and zoom are nearly trivial to implement.  However, I'm finding rotation about the look at point to be much more of an issue.  I want to write a function Camera.rotate that takes 2 angles, one that rotates up/down and one that rotates left/right along an imaginary sphere that is centered about the look at point.  Is there an easy way to do this?  I've (briefly) read about quaternions, but I wanted to see if there was an easier solution given the relatively simple construction of my scene.
109605
Is there a simple way to log/save every render that you make in a Blender scene? Maybe an add-on? This would be helpful to visually see progress on modeling, materials, lighting, and whatnot. It would also be helpful if it could "print on" the date/time, vertex count, and the camera settings. Am I just dreaming or is there a way to do this?
43618
I have made a simple profile mesh (an edge loop) which I've animated along a path using 'Follow Path'. It has a number of Shape Keys, and as it moves along the path, it changes shape. I would like to capture a copy of the full state of the mesh, in place, at each frame of its animation.   This would be, if you like, a sort of 'physical onion skinning'. Dupliframes capture the transformations of the mesh at each frame, including tilts and scales derived from the path,  varying those along the path, so come very close. But they don't capture the Shape Keys. If I alter the shape, it changes in all the duplicates,irrespective of keyed frames.  I'm attempting this in the hope of modeling with the resulting copies: creating a mechanism for lofting between varying profiles along a curve with a reasonable degree of accuracy, and ease of workflow.. so if there's an alternative route to that, please comment.