Can anyone suggest a way to create this type of torn paper effect procedurally:


This is the way I see it going down:

  1. Create a plane and project the image I want torn onto it (Plane 1)
  2. Duplicate the plane, drop it slightly below the original, and texture it to look like white paper (Plane 2)
  3. Cut both planes in the same place, where the "tear" will go
  4. Subdivide all "torn edges" as much as possible to get a detailed "torn" look
  5. Plane 1: select all points (along "torn edge") and move position along one axis at random (perpendicular to the cut)
  6. Plane 2: Do the same but use a different random seed (the differences will create the "torn" look where the white paper is revealed along the edge)

I can do the above setup manually, but I want to figure out a way to set it up procedurally, so that I can easily repeat the effect as often as I need (for an ongoing project).

  • $\begingroup$ Something like this? How to a create a slate roof tile with rough edges? $\endgroup$ Commented Jul 16, 2022 at 17:30
  • 1
    $\begingroup$ Hey thanks, that's pretty close, actually. What I'm the most concerned about is how to get only the edge to move in random directions along one axis, which the above doesn't really tackle. I know that a textured displacement would do a similar thing (as in the above example), but how do I set it up so that the displacement only affects a specific edge (and displaces only along one axis)? $\endgroup$ Commented Jul 16, 2022 at 18:01
  • $\begingroup$ Hello and welcome. Please don't post the same question more than once. If your previous question was put on hold, address raised the issues by editing it so it can be reopened rather than post a new one, otherwise see What should I do if no one answers my question? $\endgroup$ Commented Jul 16, 2022 at 19:29
  • $\begingroup$ Hey yeah, I get that, and apologize for contributing to the clutter here. My other question was, in particular, about Geometry Nodes, but no one answered so I figured I'd rephrase it as a non-GM focused question. $\endgroup$ Commented Jul 17, 2022 at 21:06

1 Answer 1


You can get this effect almost entirely in the shader.

Something like this:

enter image description here

Start with the Y component of generated coords.

enter image description here

Add in some distortion with other textures.

enter image description here

Then use some color ramps to pick out a slice of this section.

enter image description here

Offset one just a bit to get the white fuzzy edges.

Then use these as masks to mix a "paper", "ripped paper" and "transparent" material.

Result: enter image description here

  • 1
    $\begingroup$ I love this solution, thank you. I will have to fiddle with it and see if I can get it to work for my project. $\endgroup$ Commented Jul 18, 2022 at 0:37
  • 1
    $\begingroup$ I have a question, and probably a dumb one: What are the circular nodes in your first example ("Paper White Ripped" and "Paper Blue")? I have never seen that before and I'm not sure how to proceed. $\endgroup$ Commented Jul 18, 2022 at 0:38
  • $\begingroup$ Those are just a Principled BSDF set to "Hidden" by pressing "H". Kind of goofy, how massive they are but, it's smaller than the full node. ¯_(ツ)_/¯ $\endgroup$
    – Jakemoyo
    Commented Jul 18, 2022 at 10:12
  • 1
    $\begingroup$ Oh ha, thanks, should have known by how many inputs there are ;) $\endgroup$ Commented Jul 18, 2022 at 16:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .