16
$\begingroup$

What are the technical differences between Rigid, Static, and Animated smoke collision types?

smoke collision type selection

In the Documentation, it says that:

Smoke can collide with mesh objects, using the 'Collision' option in smoke. Currently only static collision objects are supported.

However, the other collision types are obviously doing something. If they are all simply acting the same, why is there currently an option to use the other types, and what will the differences be once the other types are implemented?


In reply to dukejib's answer,

Animated

I scaled the domain, so the smoke cannot go around the animated brick on the Y axis to make the effects of the brick passing through more obvious:

scaled smoke domain

Here is the same test baked with different collision types:

Animated:

animated collision type

Rigid:

rigid collision type

Static:

static collision type

All are identical as far as I can tell.

Rigid

The same seems to be true with the rigid body test:

Rigid:

rigid body with rigid collision type

Animated:

rigid body with animated collision type

Static:

rigid body with static collision type


Input from a developer or someone who can look at the code to see if these collision types really are the same would be nice. ;)

$\endgroup$
  • $\begingroup$ I imagine the 'animated' collision type allows the smoke engine to properly work with armature and shapekey driven animations. Not sure about the difference between rigid and static. Can't seems to see a difference. $\endgroup$ – Mike Pan Aug 12 '13 at 23:40
  • $\begingroup$ @MikePan tested it, and I could not see any difference at all between them when colliding a keyframed shape-keyed Suzanne. They all collide correctly, adapting to the changing shape of the mesh, except all three "explode" the smoke at the same places (and in the same pattern). $\endgroup$ – gandalf3 Aug 13 '13 at 3:09
  • $\begingroup$ Your example is correct mine was wrong. I m still guessing that they'll provide collision settings, which are available via external collision tab in future. Sorry for inconvenience and wrong info. $\endgroup$ – Ali Jibran Aug 14 '13 at 7:00
  • $\begingroup$ @dukejib No problem. it's a learning experience for everyone. :) $\endgroup$ – gandalf3 Aug 14 '13 at 16:34
7
+25
$\begingroup$

This is my theory:

"Static" means a non-animated, non-moving object

"Rigid" means a non-animated, (possibly) moving object

"Animated" means an animated (shape keys, armatures, etc.), (possibly) moving object.

Tests won't resolve the issue, since, as the original question points out, they're currently all the same.

Here's my theory: I've heard talk about using volumetrics in the game engine. When that happens, the interactions between static, rigid, and animated objects is going to be essential - it would be a waste to calculate everything if you weren't having the smoke interact with animated objects, for instance. My theory is that they are currently "the same" because it does not matter outside of the game engine - it doesn't have to be specified, and resources are not delegated real-time as they are in the game engine. But in the game engine, you DO need to label an object as static, rigid, or animated - and that goes for smoke as well. Essentially, the technical difference between all of the above would be the same for any other object in the game engine - a necessary setting that tells physics how to interact with it to optimize resources.

$\endgroup$
  • 1
    $\begingroup$ Thanks for your answer :) Could you add links to some mentions of smoke sim in the game engine? I was unable to find anything recent.. $\endgroup$ – gandalf3 Aug 18 '13 at 19:28
-1
$\begingroup$

In Blender 2.68, all three options are supported for smoke.

  • Animated: used with objects with animation. It allows the smoke simulator to calculate the predefined animation path of the object. It leaves the path of animation from smoke simulation.

  • Rigid: used with rigid bodies. To use this option, set an object as a Rigid Body and a rigid Smoke collider. This allows a smoke trail behind rigid body, within the domain of the smoke.

This is what I understand about these options with simple test.

Check out this file.

Layer 1 = Animated
Layer 2 = Rigid

Animated Rigid

$\endgroup$
  • $\begingroup$ Thanks for your answer. However, I get nearly identical (I can't see any visible difference) results with your tests with other collision types too. Could you clarify your answer some more? (what do you mean by "it leaves the path of animation from smoke simulation"? And other collision types leave smoke trails as well? What is exactly different about the Rigid one?) $\endgroup$ – gandalf3 Aug 12 '13 at 21:15
  • $\begingroup$ in smoke simulation, Particles do leave smoke trail, since they are part of it. In collisions, Animated objects, move and create effects of pass through, with small movement in smoke. On Layer 1, Anim body is just passing through the smoke , look from the side view, you'll understand what i am saying. In Layer 2, brick is falling and leaving a long trail of smoke (brick is also engulfed in smoke). Rigid bodies also react to physics, so their simulation calculation is different then animated or static. I suggest baking the simulation, and viewing it by removing both rigid & animated bricks. $\endgroup$ – Ali Jibran Aug 13 '13 at 6:12
  • $\begingroup$ Try using both collision tyeps with Riggid Character to know the difference more clearly. $\endgroup$ – Ali Jibran Aug 13 '13 at 6:14
  • $\begingroup$ I followed your advice of using the other collision types with the Rigid body, however I still don't see any difference (see my updated answer) $\endgroup$ – gandalf3 Aug 13 '13 at 21:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.