I have seen some rather incredible results out there using smoke and dynamic paint, and as such, I am curious if anyone can come up with a clever simulation of ink onto paper, or, closely, ink into water.


  • Should create the look and effect of ink landing onto paper and dispersing via capillary action into the paper's texture.
  • It must be accomplished in 3D via Cycles, and be modifiable / controllable.
  • It should trace basic forms and result in an interpretable series of glyphs or shape.


The following video is very close to the goal, with the potential to not bind quite as tightly to the water's path:


Here is another sample of the fractal-like expansion as the ink spreads through the medium. Very similar to ink landing on very thin tissue paper:


Here is another of ink onto parchment. Ideally the effect would be possible to get in closer for a macro shot to observe the actual dispersion through the paper:


I figure one of the clever minds around here would be able to generate something close to a viable solution.

  • $\begingroup$ @LukeD, as requested. $\endgroup$
    – troy_s
    Sep 12 '16 at 4:20
  • $\begingroup$ I tried passing a deformed sphere mesh through a plane as a paint source so that it would grow as the radius of the mesh increased (think flat lander POV) but fidelity was low. Perhaps distorted cycles textures driven by blend type textures would work? $\endgroup$
    – 3pointedit
    Sep 12 '16 at 6:55
  • $\begingroup$ Have you tried dynamic paint effects? blender.org/manual/physics/dynamic_paint/introduction.html $\endgroup$
    – m.ardito
    Sep 12 '16 at 7:29
  • $\begingroup$ I have smoke sim pretty much accurate but I can't force dynamic paint to work with domain as a brush in cycles... I know nothing about Blender Render :/ If anybody knows how to use smoke in cycles with dynamic paint, I will do the rest. $\endgroup$
    – cgslav
    Sep 12 '16 at 8:50
  • 2
    $\begingroup$ Here's ink in water, but I s'pose you meant on water? $\endgroup$
    – ajwood
    Sep 12 '16 at 12:13


After messing with settings.


To achieve 'ink drop on paper' effect we will be using Fluid System and Dynamic Paint. Fluid gives us nice control over drop shape. Blender units are used in this answer.

Set up:

  1. Plane with dimensions 8x8 - this is our 'paper' - it must be subdivided number of times (higher is better) I'm using 2 Subsfurf modifiers, first set to 6 and second to 2 both set as Simple, they need to be over the Dynamic Paint modifier.
  2. Sphere (16 segments, 8 rings, 0.3 size), moved by 3 units over Z axis (G > Z > 3) - this is our drop.
  3. With selected Sphere hit Space search for Quick Fluid and apply.
  4. Select Domain and Scale/Position it to cover whole plane.

Set up


  1. Select 'paper' (plane) and in Properties tab choose Physics then select Fluid and set Type to Obstacle. Decrease Slip Type Amount to 0.1

  2. Select Domain and under Fluid World > Viscosity Presets set Base to 2 and Exponent to 3. Under Fluid Boundry set Slip Type > Amount to 0.03

Exponent is very important here, if you want to preserve shape of your fluid you will need to set it to 0, and if you want to have random splatter set it higher.

Another important thing in Fluid Domain is Resolution, we will be using here 65 for preview but higher will give much better results

Dynamic Paint:


  1. With selected Domain add Dynamic Paint (Physics tab).
  2. Set Dynamic Paint to Brush and then Add Brush.
  3. Change color if you want.
  4. Under Dynamic Paint Source set Paint Source to Proximity, Falloff to Color Ramp and set Color Ramp as in the picture below:



  1. Select our 'paper' (plane) go to Physics tab and add Dynamic Paint > Canvas > Add Canvas.
  2. Under Dynamic Paint Advanced set Dry Time to 25.
  3. Under Dynamic Paint Initial Color choose Color and set it as you like.
  4. Under Dynamic Paint Effects check Use Spread and set it to 0.5 then go to Drip and check it as well (it will give us control over the splatter by force fields).


Force field:

  1. Add Force Field > Turbulence and set it to Strenght 10 and Flow 1.
  2. Bake your fluid and play animation.

Gif Domain and Fluid are hidden here.

enter image description here Fluid resolution - 128 and some other sligt changes. This is from .blend file.

Final thoughts:

There are many things to play with in order to get higher resolution/better looking effect as I mentioned it above. Fluid resolution, mesh (paper) subdivision, substeps in Canvas. You could change Influance Scale and Radius Scale under Canvas > Dynamic Paint Advanced to have 'lighter look' of ink. It's all up to you. Now when you know the method it will be fun to mess with it.

Blend file:

  • $\begingroup$ This is darn close @LukeD. How can one constrain the bleed to a form, such as a letter etc? $\endgroup$
    – troy_s
    Sep 12 '16 at 12:22
  • $\begingroup$ I don't think I understand. Do you mean splatter shape? If yes just create this shape and make it as Fluid source and keep exponent to 0. Sorry I couldn't provide more detailed example, my PC seems to be to weak to this job :) $\endgroup$
    – cgslav
    Sep 12 '16 at 12:25
  • $\begingroup$ In the first video, the ink loosely follows a path. It would need to be constrained to a glyph or provide a way to constrain it. $\endgroup$
    – troy_s
    Sep 12 '16 at 12:34
  • $\begingroup$ Add in your question blend file with this mesh/glyph and I will try to adapt it. Con of this method is that you need change settings for every shape, resolution and such. $\endgroup$
    – cgslav
    Sep 12 '16 at 12:38
  • 2
    $\begingroup$ Instead of subdividing the paper mesh you can change the canvas format to image sequence and increase the image resolution for the final bake. You could setup collision objects to restrict the fluid flow to a shape you want. I expect using fluid physics for particles would be quicker than a fluid sim. $\endgroup$
    – sambler
    Sep 13 '16 at 15:58

Instead of using paint I propose a modified mesh with textures.

Glyph Bleed test

  1. Prepare your glyph art as white on a black field then use compositor to create an internal gradient for the shape (edge to center)

Glyph prep

  1. Import this new "image as a plane" with emission settings (we won't be shading the result), unplug the image texture. Then apply simple subdivision and displace modifier from the imported texture. Then apply a remesh to cut the letter out from base. Finally apply another displace modifier with noise and gradient to limit effect.

modify glyph object Distort modifier texture

  1. Create and scale a box to use as a control object for texture mapping the glyph.

Control object

  1. Select the glyph and edit the material to have the texture vector controlled by the Box object

Ink material setup

UPDATE 01: I have added another plane as a mask to eliminate the rough edges at the bottom

mask glyph plane

UPDATE 02: By adding another ramp to modify the distortion of the texture you can make the bleed at the edge occur quicker while the spread catches up. A more accurate result for the brief.

Bleed improvement

  • 1
    $\begingroup$ This would still require some post production to mask the edges of the glyphs as the are pretty coarse from the distort process. Also the control object can be easily rotated to make interesting wipe edges with texture bleed. And its all real time if you turn the samples down to 1. $\endgroup$
    – 3pointedit
    Sep 13 '16 at 5:05

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.