Simulating blood dripping with X-Particles.
On the heels of creating X-Particles Lava a few weeks ago, I decided to try my hands at making blood. There’s always a need for blood dripping from something in visual effects for horror films, or even for halloween mograph animations too. Blood presents some interesting challenges too. The viscosity of blood sits somewhere between water, and thin paint.
Repurposing a few lessons I learned from making Lava, I proceeded to test out some ideas for cg blood. This process included some wins, and some fails. Most of the issues were related to developer limitations as I later found out.
Some earlier tests proved promising, but had issues. This first one had some nice rippling texture to the liquid, but refused to cover the impact areas for the whole duration of the sim. Since the particles could not truly stick, they were gathering up from the surface tension. This kind of look isn’t bad, and has somewhat of a liquid on a hydrophobic material . Hydrophobic materials are actually becoming more common these days in condiment bottles to make sure nothing is wasted. Here’s a video showing some examples of that in action.
This is an interesting look in and of itself, but I wanted a sticky look where the blood would be a stuck to the geometry surface at the point of impact. Something like a porous wall surface which would soak up and hold onto a liquid. Including the dripping motion along with the stuck blood was my ideal goal. So I did a few other variations later on and started getting some good blood streaking motion. Other issues arose where my geometry subdivision for some reason was showing through in the solved particle sim. Especially when the particles thin out you could start seeing a grid like pattern. This was another issue to figure out how to solve, and thankfully I found a workaround for it.
After many attempts I also came to find out that the xpFluidFX object does not respect the “Connect on Collision” feature in an xpCollider tag. This sticking aspect was a key feature that I really wanted to have. This issue forced my brain to start thinking outside of the box a bit and find a different solution. With some creative thinking I came up with a multi-group solution that could isolate a thin layer of the particles. It wasn’t perfect, but did the job. This solution finally gave me something I was fairly happy with as seen in this GIF.
The dripping came out really nice, and the extra subtleties in the surface cascading downward made for a nice look. As with all simulations you wanna add as many small details in the movement or shaping. These are what help sell the visual. Thankfully xpFluidFX and surface tension settings did all the heavy lifting for me.
Hopefully the following tips, and explanation of failed attempts in this video tutorial will help you avoid some of the same issues before you get too deep into a similar build. Check out the video tutorial for how to make this cg blood.