In Need of Some High-Level Blender / CG Advice

Hello everyone,

First off, I’m completely new to both Blender and computer graphics, in general. I’ve done a lot of Googling and searching, but I’m having a tough time finding guidance on what I think are probably fairly high-level, basic questions. I’ve stumbled upon this forum and I’m hoping I can get some assistance. I appreciate any help that anyone can give me. Just to be clear, I don’t have ambitions of ever being a Blender expert any time soon…right now I mainly just want to be able to know enough so that I can ask the right questions and write an appropriate workscope description if and when I try to hire a contractor to help me with this.

I’ve written some physics-based simulation code that predicts the motion of an object vs. time (think something like simulating the motion of a golf ball, or a vehicle, or billiards, or something along those lines). I’d like to be able to make a decently high-quality rendered video / animation of the output of my simulation code. So, basically I’d like to feed in all the positions and orientations of my moving objects (as a function of time) into a program like Blender and then do a nice video where I show the results of the simulation. These would be fairly short clips (probably 5 or 10 seconds each). Most of the scene would be stationary and there would be a few moving objects that would get their positions / orientations for each “frame” from a text file that my simulation code would output. In terms of complexity, I’m thinking the whole scene could be modeled in somewhere around 500,000 to 1,000,000 polygons…there wouldn’t be anything fancy like cloth or glass or grass or hair or anything like that.

So, I guess the high-level questions are these:

  1. Is Blender capable of doing what I described above regarding reading my object positions from a text file and then setting the positions in the scene each frame? It seems like maybe this can be done with Python, but I wasn’t completely sure.

  2. I’d like this to look pretty high-quality, but I don’t want it to take days or weeks to render. The reason is that I’ll likely want to make dozens or hundreds of these videos…all will be the same, basically, but the objects will have different initial conditions and different subsequent motions. I did some very basic experimentation in Blender using the Cycles rendering engine and it seems like no matter what I do or how simple my scene is (i.e. a cylinder and a plane and a couple of lamps), it takes many minutes to render each frame of a 1080p animation. It just feels like I’m doing something wrong! What I’d like is something that is a little bit better than what you might get out of a real-time game, but it doesn’t need to be super photo-realistic like a Hollywood movie or anything like that. It would be cool if my objects could be “shiny” and have shadows and stuff like that, but it doesn’t need to be perfect. Can I achieve something like this in Blender, or is there a better tool for this sort of thing? I guess I don’t know if I’m asking this correctly, but basically the question is if there are ways to achieve some sort of “middle ground” between real-time render quality and super photo-realistic render quality that would allow me to render my basic scenes with decent speed (as in a handful of seconds per frame, for example).

Thanks for whatever guidance you might be able to provide…I know my questions are probably very basic and very vague, so please let me know if I can provide any additional information that would help.

  1. Yes, you could write a script in python to parse through you generated files and set object postions in Blender.
  2. You can make good looking stuff with Blender Internal Engine too, and it’s way faster. At this point, cycles’ forte is in realistic rendering. Be wary of lots of reflections and gloss, they slow things down. Actually, optimizing renders for speed is a whole subject itself that others here have way more experience in. If you don’t really really real looking stuff, but would be okay with something that looks more like something out of a realtime game, you could use openGL rendering, and that is super fast. You are basically outputing what is in the viewport. Throw some compositing on top of that and your stuff can still look pretty good. All of Kfir Merlaub’s stuff is rendered like that and looks great: http://cgcookie.com/blender/2014/06/17/realtime-glsl-lighting-shading/
  1. yes, you’d probably use Python

  2. You are probably doing something wrong. You can also go with fewer samples for animations in Cycles, (the eye has a hard time tracking noise between frames, compared to still frames) you can also buy some time on a render farm, and/or hire an artist who knows how to optimize the type of scene you want for speed. On default settings, using CPU, a frame might take minutes, with a good GPU and optimized settings, the same frame might take 15 seconds or less.

If you need to make lots of these at once, you could do low-resolution versions yourself to see if the animations are right, then buy time on a render farm and do the 1080p versions all at once.

GL rendering is also an option.

Do you really need 1MM polygons? That sounds high, but I dunno what kind of simulation this is.

make certain that you really need 1 mega faces !
very possible this it could be done in blender with a lot less then 1 mega faces!

to render a frame in a second or 2 !
only thing that can render fast like that is open gl using matcap material!
it may not be photorealist but still looking very good!

cycles will always be like around a minimum 1 minutes or more per frame but with high quality !

and you can write script to read data for cuves animation using python!

happy bl

Thanks to everyone for the help and suggestions. It sounds like the general consensus is that Blender would probably be a good tool for what I want to do and that a skilled artist would probably know what buttons to push to get my render times down to a reasonable level.

Trying to use the Blender Internal rendering engine, trying to get by with just OpenGL rendering, trying to reduce the number of polygons, doing low-res mock-ups, and using a render farm (or just a better computer!) all seem like great suggestions.

Regarding my comment about needing 1,000,000 polygons, it is very possible that I’m off by a factor of 10 or more! To be honest, I just looked at some websites that sell 3D models of interior scenes and made some guesses based on how various scenes looked to my untrained eye. After thinking about it a little bit more, I guess it seems fairly likely that a skilled artist could probably create what I need with far fewer polygons.