Blender Animation | Rendering Physics

Hi all. I’m a filmmaker venturing into the world of CGI and I’ve been plugging away at Blender tutorials for a while now.

I recently completed BlenderGuru’s tutorial on creating an asteroid:

http://www.blenderguru.com/videos/how-to-make-a-realistic-asteroid

After creating the main asteroid and the particle system, I took it a step further and created a cinematic, animated scene.

I animated the large asteroid to move through space, and I animated the camera along with it. When I previewed (Alt-A), I noticed that asteroids were passing through each other. I activated physics for both the particle system and the primary asteroid, and lo and behold, asteroids were bouncing off of each other. Very cool.

So I rendered the scene - which took about 12 hours - only to find that none of the physics that existed while previewing the animation were rendered. Asteroids were floating through each other once again.

After doing some research, it would appear as though the only way you can actually render physics is through the game engine, which doesn’t support a particle system.

So - aside from rendering a still image frame by frame to “force” the previewed physics to stick, is there any way to render an animation with physics without using the game engine?

If not, what use do physics have within particle systems if they can’t be rendered as such?

Any assistance would be greatly appreciated.

Did you bake the physics?

Nope…my understanding was that baking was specifically for mapping textures to objects via UV unwrapping. Could you please walk me through the process?

Well you can also bake textures in Blender, but baking physics is like preprocesding them. You go to the physics tab in the properties window, and there open the cache panel. Here you can set the amount of saved frames (default is ten, best quality is 1, but memory use rises). Once you did that, hit bake. This takes from less than a second to several hours depending on your settings, but since I did that tutorial too, I know it only is a matter of around a second or something like that. Hope this helps. Feel free to ask further question. Im writing this from my mobile phone, so I dont write too much and too detailed, and possibly with typos.

Greets,
flan

EDIT: You can also render previews. For this scene, turn all subsurfs down to 2-4, and set the render size to 25-50%. If you want to go even further, hit N, scroll down, expand all of them and search for “only render”. Switch to camera view (0), then click on opengl animation. This should be really fast, depending on your graphics card. Opengl animation is on the header of the 3D view (which ironically isnt at the top), at the very right.

Thanks. I previewed the animation and changed the seed settings until I got the scene/interaction I wanted (because with some seeds the asteroids still passed through each even with Collision enabled), then I used the Bake button. However, once I did that and previewed (Alt-A) again, the scene changed and the physics went haywire, objects passing through/clinging to each other like crazy.

I didn’t even bother rendering after that since the preview animation/physics bake didn’t seem to help. I know you can’t offer much advise without seeing any of the settings, but is there something I might be missing within the Collision properties that’s screwing everything up?

Thanks for the help; hope to get this nailed down because eventually the plan is to have a “chase” through the asteroid belt with ships smacking against rocks, each other, etc.

I cant help you at the moment, cause I dont know the settings without being able to look at Blender :frowning: .
Why are they colliding anyway? I used a (IMO) more efficient and flexible approach than andrew, but I for me they didnt collide at all. I simply set the big asteroid to kill all particles when touching them, and it was fast and plausible. Maybe thats not suited for your animation, but I will have a look at it tomorrow and fiddle around with the settings.

I think what was happening is that the particles only appeared to be reacting with the big asteroid, which is a separate object. From what I can tell, only seem to apply to objects within the particle system itself, not with any other objects in the scene. I deleted the main asteroid from the scene and ran the animation again, and the smaller asteroids (particles) all interacted with each other as expected, but when I put the asteroid back in, they passed right through it.

So maybe it’s only possible to get individual objects to react with each other within the game engine, but since there’s no particle system there, creating an “interactive” asteroid field would be pretty much impossible.

If I’m missing something or anyone else can figure this out let me know, otherwise it appears as though I may be out of luck!

Did you turn on collision for the big asteroid? That should do it. Though I did set it to kill all incoming particles, because I didnt want any asteroids flying all through space. You dont have to use the game engine at all.

Yep, turned on collision for the main asteroid and when I previewed it would sometimes work (although I had to change the seed in the particle system until I got a “take” that worked correctly). Sometimes the asteroids would bounce around like pinballs, but other times the collisions looked appropriate. But once I baked the physics everything went haywire again with asteroids passing through the main object.

I ended up just removing the big asteroid entirely, making the particles larger, and animated the camera through the asteroid belt. Although hopefully at some point I’ll be able to figure out how to get the collision physics to work correctly.