Indented tracks in snow using soft bodies

Hi all.

This is just a little test scene experimenting with tracks made in snow (made by a humanoid or car). It’s just a sub-divided mesh, converted to a soft body with high friction (~50) and high edge spring friction (E damp ~ 10). The sphere is set to deflect the mesh, but it could just as easily be the feet of a character.

There are other ways to get the same effect (http://3d-synthesis.com/Displacement_Tutorial.html), but the advantage of this approach is you only need to animate your character and the footprints will follow automatically. The main drawback is to get good footprints you need a heavily subdivided mesh, so what I’m trying to think of is a way to subdivide the mesh over a given radius only where the characters feet make contact with the snow.

Test 1. http://www.youtube.com/watch?v=h7EL9CrPZ9U

Test 2. http://www.youtube.com/watch?v=yx31jMGJMYs

Test 3.
http://img292.imageshack.us/img292/1305/ssvh0.th.png

Interesting use of softbodies, I didn’t know they could be used for that.

Nice, I wouldn’t have thought of that.
That’s what I love about blender, there’s more than one way to do anything.:slight_smile:

Here’s one more test render for good measure. Zoomed in a bit and added some physics to make it more interesting.

ill test that technique later looking good!!!

Really cool on the last one - some work, and that could’ve been a commercial of some kind :slight_smile:
I like the irregular imprint you achieved this way, very nice.

That’s great! I’m doing a similar thing with a 4-wheeler in the sand. When I have the animation of the movement of the bike done, I just go into edit the ground and use the knife tool to carve out the path that the bike will travel, then subdivide it. Cheap and easy. I UV map the ground before I subdivide it though, that way the texture stays put.

You said that ot get any good inprints that you need to heavily subdivide the snow mesh, but you could fix this problem by simply subdividing it where the “ball” is rolling and not the whole mesh.

That’s what I’m doing, I was just being lazy and trying to think of a way to do it automatically ;).

Hah, Cool. I like

That’s a very nice result.

I was curious as to what the approx. vertex count was for the landscape mesh.
Also, what technique were you using to apply physics to the snow ball?
I got very poor results when I made the snow ball SoftBody as well (so that it would react to gravity); the landscape was jumping all around at the impact point and the land kept stretching until the ball just fell through.

Then I tried rigid bodies and recorded the result to an ipo, which looked alot nicer except that where the landscape faces were more horizontal, the snow ball went really deep, and where the faces were aproaching vertical, the snow ball barely makes contact. In your animation it maintains a nice even depth.

I’m probably missing something obvious as I don’t have much experience with SoftBody.
Thanks for any help.

Hi Gimble.

The vertex count of the starting mesh was pretty low- about 1000. Once the path of the ball had been calculated, I selected all the vertices in a corridor about 3-4 times the radius of the ball and subdivided, which pushed the final vertex count up to around 2000.

I used rigid bodies for the ball physics. The trick you might be missing was setting the radius of the ball on the Logic panel to be about half the actual ball radius. That means the ball will penetrate a surface by r/2 during the physics calculation, whether it be a horizontal part of the mesh or a sloping part of the mesh. Once I’d recorded the ball motion to IPO curves, I manually moved the z-location curve down a little. I’m not sure if it would have been better to set the ball radius in the physics calculation smaller instead, but I got the effect I was after.

Keep in mind the ball might not be making contact with the steeper parts of the surface because it’s airborne.

Thanks for the help manbitesdog.

That solved it. I made the mistake of just letting the ball roll down the slope and then offsetting the ZLoc ipo down a bit; so it didn’t maintain a constant depth depending on the slope of the hill.

Another question I forgot to ask before is that the ball seems to drag the landscape vertices down (as though the material was sort of an elasticized cloth). Which parameter(s) would I adjust to eliminate that issue?

No worries mate, glad to hear it’s working now.

Another question I forgot to ask before is that the ball seems to drag the landscape vertices down (as though the material was sort of an elasticized cloth). Which parameter(s) would I adjust to eliminate that issue?
The landscape is being treated as an elasticized cloth! I found I got the best results when I set the Edge Spring Stiffness to 0, which actually corresponds to a perfectly elastic material (something inelastic like cloth would be ~0.95).

Just to be clear, do you mean the deformation looks elastic while the snow is being deformed, or even after the mesh has stopped deforming? If you meant the former, unfortunately I don’t think you can push this technique much further. Some things you could fiddle with are:

  • Lowering the vertex mass so that the energy transferred between neighboring vertices is smaller
  • Sub-dividing the mesh under the ball further so that energy (which decays due to friction per vertex) dissipates over a smaller area
  • Increasing the edge spring friction to dissipate the energy more quicklyThe best solution I’ve found is to take your finished scene, make a copy of the object that is deforming your mesh (but make sure to set deflection to off for this new object), parent it to the original object that will deform the mesh, and then increase its radius until it completely fills the track. This way you can’t see the mesh deforming, only the track that your object has left behind.

Edit: Something like http://www.youtube.com/watch?v=UN1QAzabk8E

Ah, thanks again manbitesdog

I had the Edge Spring Stiffness set to 0.4; reducing it to 0.0 looks alot better.
Only other limitation I ran into, was if you tried to roll the snow ball through a deep snow drift, things went a little strange.
Now, I guess it’s just a matter of fine tuning, but I think I’m starting to get the hang of it :slight_smile:

No worries mate. Throw one of your test scenes up on youtube if you get a chance, I’d be interested to see what you’ve done with this approach.

I’m thinking about making a (very) short animation including snow so I’ll be sure to update this thread if anything ever gets done on it.

Woohoo. ITS NOT A FLUID SIM! YAY!

Awesome work. Tried it with an actual character?

Try and do sand next…

footprints would be awesome

Wow thats pretty cool :smiley:

Nice use of softbodys. Like the others said, you should make a character walk through it.