Arguably the most crucial thing to make a burger look realistic? (Actually no.)

Well, you probably know how hard it is to make realistic lettuce, and despite my unlimited attempts, I haven't even come close. What I have tried:

  • Displacement Modifiers
  • "Real" (Cycles) Displacement
  • Subsurface Scattering
  • Procedural Textures (Correction: It's a kind of procedural texture, but a normal map imported from photoshop, so not made in Blender. Open for procedural workflows too.)
  • Bump Maps

This is the end result I want:

enter image description here

enter image description here

How should I do this?

  • 3
    $\begingroup$ What kind of lettuce - Iceberg, Romaine, Bibb, Arugula, Endive, etc...? $\endgroup$ Jun 25, 2022 at 23:58

3 Answers 3


Boundary Brush

Simple with sculpt tools – Boundary brush.
Under properties just switch Boundary Falloff > Loop and Invert

enter image description here

Three times changed
Brush Settings > Radius and Boundary Origin Offset for big - middle - small waves.

enter image description here

Falloff is set to Constant by default ... better to change Smooth type. For subdivisions I used Multires modifier at level 5.

enter image description here

Material is very primitive ... nothing you could call photo-realistic ... Especially texture I grabbed is just 200 px :) I was aiming to modelling part.

enter image description here enter image description here

  • $\begingroup$ Okay, great answer! Though what was your material setup? $\endgroup$ Jun 26, 2022 at 15:21
  • 2
    $\begingroup$ Fractal was wrong direction for me ... Boundary Brush is a magic here :) Originally I saw it to model skirt :) $\endgroup$
    – vklidu
    Jun 27, 2022 at 20:52
  • 3
    $\begingroup$ Great one. Who needs more than 200px? $\endgroup$
    – Robin Betts
    Jun 28, 2022 at 8:47

Here are 2 solutions: with Image Texture or procedural.

The lazy solution would be to use an image texture, project it on a subdivided plane, sculpt the plane so that the bumps follow the bumps of the picture, maybe use the Subsurface Scattering of the Principled BSDF, plug the image into a Bump node, add a bit of noise bumps, etc:

enter image description here

Side view:

enter image description here

Instead of using the alpha transparency you can cut a plane along the leaf shape, in that case you'll be able to give it thickness with the Solidify modifier, it may give a better result in some angles:

enter image description here

If you want a procedural solution, here is a try, basically I've mixed 2 Voronoi nodes of 2 sizes to create the ribs, I've used this same mix to create a bit of bump, etc:

enter image description here

enter image description here

  • $\begingroup$ It's really lazy, but I guess this has to be the most realistic approach ;) How surprising this never occurred to me. $\endgroup$ Jun 26, 2022 at 9:10
  • $\begingroup$ What about a lazy side view ... :) $\endgroup$
    – vklidu
    Jun 26, 2022 at 11:07
  • $\begingroup$ @vklidu I was thinking about the same... Let's see if moonboots can solve that ;-) $\endgroup$ Jun 26, 2022 at 11:25
  • $\begingroup$ Not sure what you mean, for the thickness, instead of a using the alpha transparency, just give the exact leaf shape to a plane, and solidify? Here I haven't done it this way because I'm super lazy $\endgroup$
    – moonboots
    Jun 26, 2022 at 11:59
  • $\begingroup$ @moonboots what the - Okay now I'm convinced $\endgroup$ Jun 26, 2022 at 12:06

Perhaps try something like this - For the base, I used a heavily subdivided (100x) plane and "grid circle" (as well as a subdivision Surface Modifier set to level 2). I added a solidify modifier as well, with Rim Fill unchecked so each piece is 2 (a poor way of compensating for lack of thickness) - Depending on your use needs, you may be able to get away with capturing it at the correct angle to mitigate this, otherwise you will have to give the mesh some real thickness. Either way, I suggest your starting plane be a bit more interesting than a square or circle (I lazily used them for the example).

As for the shader, I used a Musgrave texture as the basis for displacement - Musgrave goes all the way to -1, so I added 1 with a math node to bring it up to "base level". I also modified the subsurface radius RGB values to favor green (0.2, 0.8, 0.2). I also have it a small transmission value. Both the MixRGB node and the Displacement scale control the flatness of the "leaf" to slightly different effect.


I think with some combination of a "jagged" base plane, perhaps with some thickness and appropriately subdivided, and this texture, you can get pretty realistic looking burger lettuce (unless you need to be able to see the leaf "ribs" and "veins" - that's a different beast altogether).

EDIT - I also see lazy solutions are in order - if you want a really lazy solution, go here - https://www.cgtrader.com/3d-models/food/vegetable/lettuce-leaf-2a7276ae-ddf9-48e5-8c3a-364dcd2710cf - buy this model, and use it in your project.

  • $\begingroup$ This is amazing! Though since it requires some work in shaping up, It won't be exact to the real world, thanks for your effort! (Though I'm still keen to know how you make the thing you describe as a "Different beast altogether", I guess it's up to you :) +1,000,000 $\endgroup$ Jun 26, 2022 at 9:08
  • $\begingroup$ You're actually right - $\endgroup$ Jun 26, 2022 at 12:49

You must log in to answer this question.

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