Here is a little workflow tip that saves time and lets you sleep while rendering a batch of images.
Lets say you have a scene with multiple cameras and you want to render them all without selecting every camera manually.

So we have made a scene with 4 cameras and want to render them all.
Start by adding a "Stage" object to your scene, The Stage object is used to define witch camera is doing the render.
Add an xpresso tag to your hierarchy and open it.
Drag the "Stage" in the xpresso editor.

Add a "Link List" node before the stage and connect it to the "Camera" port. Then add a Time node set to Frame and connect it to the index port of the Link list node.
Now click on the Link list and drag all your camera in the attribute managers drop zone.
The Time node will iterate between each item in the link list automatically.
Voila that is the whole xpresso part.
Now go to the render settings and set a path to save the images and set the number of frames to render , in this case from 0 to 3 (total 4 frames)

Don't forget to set the name to one of the name0000.xxx so the images don't overwrite each other.
Last step is to save the model as a "Save Project..." (that includes all the images used in your textures)
Close the model.
Click on "Batch Rendering..." in the render menu and select the model from your disk then hit OK.

Voila Cinema4d will now render each of the 4 cameras one after the other and you can have some precious sleep or a fresh beer.
This entry was posted on Apr 24, 2008 at 14:19:10 and is filed under Xpresso, Tips & Tricks. You can follow any responses to this entry through the RSS 2.0 feed, or leave a response (below) .
I am probably missing something very simple but when i drag the stage object to the xpresso manager i have no camera port to connect the link list to . What am I doing wrong?
Great tip though been wondering how to achieve this for a long time.
Ollie, the "camera" is under the "object properties" ;)
Bonjour,
Cette astuce est tout bonnement excellente ! Bravo ! C'est la fin de la multiplication des fichiers de rendu et de son management ubuesque.
Mais… je patine sur un point. J'ai une animation d'un objet qui se déroule sur 300 images avec 5 cameras qui regarde cette évolution. J'aimerais avoir 5 films de 300 images.
Or pour le moment, je n'ai qu'un film de 300 images dont le point de vue change à interval régulier (toute les secondes).
Est-il possible de modifier l'élément "time"?
Par avance, merci.
logicalnot
Frame number devided by 300 can do the job (I hope)
I tried that too. Same result, but with more images.
It actually works for animations, Let's say we need 5 cameras for 300 frames each (the french question above)
Time(frame) --> Math(divide)[300] --> link-list --> Stage
It almost work for me. I had the math divider and divide the data type(time) by 300.
But I end up with only the first camera.
So I extend the number of frames by the number of camera (5x300=1500). And it worked half way.
The stage switch from one camera to another every 300 frames… but since the animation end up at frame 300, all the other cameras showed a still/not moving animation.
The end is near… I hope.
We just need something to tell the stage (or C4D) to go back to frame 0 on the timeline every 300 rendered frames.
It is impossible to (re-) launch a rendering, so you will have to make the 1500 frames at once
Isn't it just easier to set key frames for all the different camera views you need? Why go through all of this for just stills?
Baku
hey, very cool... I just started learning C4D and i wanted to know if you could look at a model set i am doing for the new radiohead album. I am a motion graphics guy... please comment on what you think, + i have some questions about compositing.....
http://yellowidesign.wordpress.com/2008/07/16/3d-concept-for-radiohead-in-rainbows-album-movie/
Would be really cool if you could force C4D to limit the number of rendered frames to the number of camera's in the list, and if you could force render settings for each camera. But that would involve at least COFFEE, and probably C++ and the SDK. So Olivier, get to it ;-)
@BaRa: That would involve an effort from Maxon. There are still some settings xpresso can't modify, like the general preferences and the render preferences... And it is a real pity those files are not xml. But who knows, maybe some day xpresso will get the attention it deserves
No, you misread me. You can do it, but you need either COFFEE or C++ to do it. Björn Marl told me there is a specific reason for not allowing this via Xpresso, and that is that Xpresso is evaluated a render time. With such a setup, you would be modifying render settings during render time, and that might crash C4D.
There's still one modification that you could make, without COFFEE or C++. Instead of making users open the TP interface and selecting the list node to drop in the camera's, you could add user data to the stage object in the form of a link list, and then link that list in you xpresso setup. That way, a user simply clicks on the stage object, and under user data in the AM he can drop the camera's that need to be rendered.
Sorry, that had to be "Xpresso interface", not "TP interface"
Have you tried to make a linklist (in-/exclusion- user-data) and use it to iterate through in xpresso.
Well it simply can not be done. It should be connected to the "Linklist" node, but there is no way to do that. So I don't know any documented way to use that user data inclusion list, do you?
I actually know an answer to the question and a way to make the in-exclusion list useful for this setup, but haven't had time to document it.
URLs, email, AIM and ICQs will be converted automatically.