Create this Hybrid 2D/3D Cake in Blender 3.0 + Transcription
Hey everyone, it’s Kevin and this is a tutorial to create this layered cake in Blender 3.0 with Grease Pencil. If you don’t know what grease pencil is, it’s an element inside Blender that allows you to draw in 2D but in 3D space. It’s great for creating hybrid 2D and 3D animations, illustrations, and motion graphics and I really enjoy incorporating it into my workflow. If you’d like to learn more about it, you can check out this tutorial to create this bakery with grease pencil I posted a few weeks back.
However, different from that tutorial is that we’ll be making this cake using a combination of both meshes and grease pencil elements. The focus here being on a 2D and 3D workflow to achieve a stylized, textured look.
How this will go is we’ll start with modeling the base meshes. Then, we’ll move onto shading and then finish it off with some textured grease pencil elements. A tablet is optional for this as you can get by with your mouse. However, I’m going to be using a combination of both.
Setup
With Blender open, the first thing we’ll want to do is adjust a few render options. Let’s click on the Render Properties Tab and under Color Management, change this from “Filmic” to “Standard”. This will give us more accurate colors. Let’s also set the Look to “Medium High Contrast”.
modeling
Now, we’ll move on to modeling our cake and we’ll start with the bottom tier. Go to the 3D Viewport, delete the cube with X, and let’s bring in a cylinder by hitting Shift + A > Mesh > and then selecting Cylinder.
Rename this to “Cake” in our outliner and in our viewport, bring up this side menu with “N” and in the Item Tab, under Dimensions, let’s set the X and Y values to 5.3 m and the Z value to 1.7 m. With it still selected, apply this transformation by hitting Crtl + A > Apply All Transforms. Then, tab into edit mode and hit 2 for stroke select. We’re going to slightly bevel this top edge here. While holding Alt, click on this top edge to loop select it. Then, hit Crtl + B to bevel it slightly and use your mouse wheel to increase the number of segments. If you don’t have a mouse wheel, you can bevel it slightly and then adjust the segments in the options window that appear in the bottom left. About 4 segments should work for this.
Now, we want to create an icing layer that will sit on top of this tier. Go into front view with Numpad 1. If you don’t have a Numpad, you can go to Edit > Preferences > Input and Select Emulate Numpad or you can press the Tilde key and select it from the radial menu.
In Font View, toggle X-Ray with alt + z. You can check if it’s on by looking at the button up here. In Edit Mode with Point Select, box select this top portion of our mesh. Hit Shift + D to duplicate it and hit Esc to leave it at its original position. Then, hit “P” to separate this duplicate by “Selection”. Rename this duplicate “Icing” and toggle off X-Ray.
In object mode, with the Icing mesh selected, let’s add some thickness to it by going to the modifiers tab and selecting a Solidify modifier. Decrease the Thickness to about -0.1 m. Then, hit S > then Shift + Z to scale it in while locking the Z axis. Let’s also add a Subdivision Surface modifier to smooth it out by hitting Crtl + 2 in the viewport or selecting it from the list and specifying 2 in levels. Then, let’s apply those modifiers by hovering over them and hitting Crtl + A for both. Shift it up in the Z.
So, with the bottom tier modeled, we’re going to duplicate this to make the upper 2 tiers. In front view, select both meshes and duplicate them by hitting Shift + D then Z to move it up. Then, S > and Shift + Z to scale it in, locking the Z axis. Then, duplicate it one more time and repeat for the top tier.
Great, so with all 3 tiers completed, select all of them and move them up in the Z, until they sit right above the 3D cursor.
Now, we’ll move onto our cake stand. Go into Top View with Numpad 7, let’s bring in a Circle by hitting Shift + A > Mesh > Circle. Size it out with S until it’s a little larger than the bottom tier, about 7.5 m in the X, Y. Then, Tab into Edit Mode and with all the points selected, hit F to Fill the mesh. In the next few steps, we’ll be doing a lot of extruding and scaling because we’re going to create a stand that’s decorative. Go into Front View with Numpad 1 and extrude those points by hitting E and downward in the Z, click. Then, let’s make the stem of the stand by hitting e again, click, and S to scale those points in to about here. Then E, click and scale them in again, click. Then e, click, and s to scale outward a bit, click. Then, E, click, and scale in, click. Then, E, click, and scale outward, click. And then E one more time, click. So now we have our stand and we can make some adjustments. If you want to shift any of these edges, go into stroke select with 2 and loop select them by Alt clicking and then hit G, then G again to slide it along your mesh to your desired location.
So, I want to Bevel these 2 edges on the stem here. Loop select the first edge by alt clicking and then hold shift to select the second edge. Then, hit Crtl + B to bevel and use your mouse wheel to increase the number of cuts or, again use the options in the bottom left. Now, I want to make the base and the underside of the plate here curve outward. To do that let’s add a loop cut by hitting Crtl + R, clicking on the base to add it, and clicking again to confirm. With that edge selected, scale or shift it as needed, then bevel it with Crtl + B. Let’s do the same thing with the underside of this plate, adjust as needed, then Crtl + B to bevel it.
The last thing we’ll want to do is add a subdivision surface modifier onto this mesh. In Object Mode with it selected, hit Crtl + 2. Notice when we do that, some of the definition like this plate goes away. To bring that back, we’ll need to add 2 loop cuts. So, TAB into Edit Mode and with Crtl + R, create a cut near the top of the plate and create another near the bottom. Let’s also create another loop cut where the stem meets the base and another at the very bottom of it. And now, we have our completed cake stand. With our meshes done, let’s select them all in Object Mode and Right Click > Shade Smooth. Let’s also move them up in the Z, right above the 3D cursor. Now, we’ll move onto shading.
shading
Let’s head into the Shading workspace by selecting it at the top. Enter Render Preview Mode clicking the button up here or hitting Z and selecting it from the radial menu. Then, head into Top View with Numpad 7. Grab this light and position it down here so it’s in front of our cake. This light will be important as it’ll affect the outcome of our shader. Let’s also merge these 2 windows by right clicking on the divider here and hovering over to the left.
Select the bottom tier of the cake, create a new material, and rename it to cake. We’re going to create a stylized toon shader. Bring in a shader to RGB node by hitting shift + A, going to converter, and selecting “Shader to RGB”. Drop it on this noodle here. This node helps us achieve a non photorealistic look by altering the output from the BSDF node next to it. To see what’s happening, let’s bring in a color ramp by hitting shift + A, clicking on search, which is another way to bring in nodes and typing “Color Ramp”. Drop it right after the Shader to RGB node. If we change the option here from Linear to constant, we’ll now we have a basic toon shader. You can change these colors or add new ones and you’ll see how the light source affects it. For this tutorial, however, we want this shader to looked textured. Let’s change constant to B-Spline. I want the color of the cakes to be a sort of golden/yellow color. Let’s adjust those colors accordingly, making this value a dark brown, the middle a yellowish gold, and this a bright yellow. Feel free to choose whatever colors you’d like.
Let’s bring in a Voronoi texture with Shift + A and connecting the Position output to the Normal input of the BSDF. Set scale to 3.7. Then, bring in a noise texture and a geometry node. Let’s mix them with a Mix RGB node and connect the Normal output of the Geometry node into the Color 1 input and the Color Output of the Noise Texture to the Color 2 input. Let’s change this from Mix to Linear Light and the Factor value to .54. Connect the color output of Mix Node to the vector input of the Voronoi Texture. Moving to our Noise texture, change this from 3D to 4D, width to 2.4, Scale to 9.5, detail to 3.8, and roughness to .55. Feel free to experiment with these values to your liking.
At this point, we’ll want to set our background color since that will affect our shader as well. Let’s go into our world properties tab and select a pale yellow color or whatever you’d like. You’ll notice that our color disappears. To bring it back, go to the Pricinipled BSDF shader and lower the Value of the base color. Now, make any adjustments needed.
Let’s apply the material to the other 2 tiers. Shift Select the middle, top, and bottom tier in that order. Then hit Crtl + L and select “link materials”. If the texture looks off on those meshes, make sure to apply scale transforms on them with Crtl + A.
Depending on where your light was situated, you might notice a shadow on the cake. Click on our light object and under Object Data Properties, uncheck Shadow. Also, adjust the position of it as needed.
Moving onto the cake stand, let’s link the Cake material by shift selecting the stand and then the cake. Hit Crtl + L and link the materials. Click on the Cake stand and in the Shader Editor, click on the “new material” icon here. Rename this to Cake Stand and adjust the colors to be a pale silvery blue. Again, apply scale if it looks off.
Now for the icing. I want to create a Neapolitan look so, the top would be brown, the middle pink, and the bottom white. Let’s link the materials from the Cake mesh like we did before starting with the bottom icing mesh and create a new material from it. Name it white and adjust the colors accordingly. Then, select the middle icing and repeat that same process of linking and creating a new material. Name it pink and adjust it. And for the top tier, let’s make it a chocolate brown.
In object mode, select all the meshes and hit M to send them to a new collection. Rename this to Cake.
outline methods
With the shading completed, I want to create an outline around these meshes and there’s a couple of ways we can go about this. To briefly go over some of the ways:
The first is the Freestyle Method which is a render engine inside Blender that applies outlines during the rendering process according to your geometry. You can turn it on in your render settings and then go into the View Layer tab to adjust the options
The second is the newest one which is using the grease pencil line art modifier. This method uses a grease pencil object to apply outlines onto an object, collection, or an entire scene.
And the third is the inverted hull method which uses a solidify modifier and a material with backface culling to produce an outline that you can view in realtime. This is the method that’d we’ll be using here.
Select the bottom cake tier. Go into the material properties tab and let’s create a new material and name it outline. Make this an emission shader and set the color to a dark/medium brown or whatever you’d like. Under settings, check “backface culling”. Then, let’s add a solidify modifier. Under normals, check flip and in materials, set the offset to 1. Let’s decrease the thickness to about -.04 and you should see an outline. Shift select the middle tier, top tier, and bottom tier in that order. Then, hit Crtl + L to link materials and do it again to copy modifiers. Then, shift select the bottom, middle, top icing layers and the bottom cake tier. Copy the modifiers from this. In each icing layer, create a new material slot and make sure it’s the one right after the main color. Select the “outline” material we created earlier. For these meshes, the outline might not appear correctly and we can fix that by applying scale transforms with Crtl + A. Now, shift the cake layers in the Z as needed to get the outlines to be visible.
Lastly, I want to add the outlines to this stand. With the object selected, go into the modifier properties and apply the subdivision surface modifier by hitting “crtl + A”. Then, shift select the stand and the bottom tier and copy modifiers with crtl + L. Let’s also create a new material slot right under the main color and add the outline material. So, it doesn’t seem to be working. To fix that, let’s head into edit mode. Select all with A and hit alt + N to select flip normals and it should visually look correct. If it still looks off, apply scale transforms in object mode.
At this point, I want to set the camera view. This will make working with grease pencil in the next steps a bit easier.
Set the 3D cursor to the world origin if it’s not already with Shift + S. Then, let’s bring in an empty with Shift + A and selecting Empty. Select the camera object in your scene and hit Alt + R and Alt + G to reset the rotation and location to the world origin. Let’s head into the animation workspace by clicking it up here and set the left viewport to the camera view with Numpad 0. In the right viewport, let’s move this camera object back in the Y and rotate it in the X by 90 to face the cake. Bring this object up a bit and adjust the view to your liking. I’m pulling it back by hitting g then z twice to move it by it’s local value. So now, I want to animate this camera and have it rotate slightly around the cake. Let’s parent the camera to the empty with Crtl + P. Go into top view and set the playhead to 0. Let’s rotate that empty to the left slightly in the Z, then keyframe the rotation with I. If it helps, go into render preview mode. Go to frame 125, rotate it to the right, then keyframe. Then duplicate the frames at 0 with Shift + D and place them at 250. And now we have our camera view. If you want to animate the camera position, feel free to do so.
grease pencil
Now, let’s move onto creating our grease pencil elements.
We’ll start with our decorative icing elements. Head into the 2D animation workspace by clicking on this Plus up here, going to 2D animation, and selecting it from the list. Go into render preview mode by clicking on the button up here or hitting z and selecting it from the radial menu. Set the playhead to 0 if it’s not already and let’s create a new grease pencil object by hitting Shift + A> Grease Pencil > then selecting Blank. In the material properties tab, create a new material, and name it white outline. Check stroke and set the color to white. Then, go into the object data properties tab, and let’s rename the layer here to “Icing” and uncheck use lights. Go into draw mode by selecting it from the drop down menu at the top left or hitting crtl + tab and selecting it from the radial menu.
Let’s adjust some visibility options that will make drawing with grease pencil easier. Make sure overlays is on and in the dropdown, select Grid, 3D Cursor, and Canvas.
If this is your first time using grease pencil, the 2 options here, stroke placement and drawing plane, are extremely important to understand when using this tool. If you want a more of an overview on these options, I suggest checking out the bakery tutorial I posted a few weeks back.
Set the stroke placement to Surface and offset to .012. Set the radius to around 75 px and because I’m using a tablet for this portion, I’ll keep “Use Pressure” on. Bump up strength to 1 and uncheck use pressure. Select the draw tool by selecting it from the menu on the left or by hitting shift + spacebar and selecting it from the list. Enter your camera view with Numpad 0. I’m going to draw diagonal lines on the top tier, horizontal lines on the middle tier, and ornate flourishes on the bottom tier.
I’ll start with drawing the diagonal lines on the top tier. A fun thing you can do is actually hit play and you can draw while the camera is animating. This is really helpful if you’re trying to add certain details at different angles to your scene. The reason why this works is because since we have our keyframe at 0 and don’t have auto-keying enabled, any strokes we make, regardless of where our playhead is, will be applied to that keyframe. With the top tier done, I’ll move onto our middle tier. I’m shifting the view a bit because since we have this light here and our Stroke Placement is set to surface, we might accidentally draw over it. Moving onto the bottom tier, let’s turn off use pressure for this, and decrease the radius a bit. draw these curved lines on the cake stemming from one another. Then, go into sculpt mode, and with the thickness tool selected, go over the ends of those lines to make a decorative end. The last thing is creating this icing ring around the base. In draw mode with the circle tool selected, go into top view with numpad 7 and make a circle around that base layer. Remember that because our stroke placement is set to surface, you’ll need to draw on top of this cake stand so it looks visually correct. Then, in edit mode, position it with stroke select as needed. Go into sculpt mode and use the thickness tool to give it some size variation.
Great, so now with those tiers done, I want to create an outline around them. Let’s duplicate this layer by clicking on this dropdown here and selecting “duplicate”. Let’s also check the option “Autolock inactive layers”. Move the duplicate layer to the bottom of the layers list, rename it Icing Outline, and under adjustments, increase the stroke thickness to 65 px. In edit mode, hit a to select all the strokes, then head into the material properties tab, create a new material and name it outline. It’s important to note that the materials made in the shader editor are different from the ones made in grease pencil. Also, if you enter a name that already exists in your file, it’ll add .001 at the end of it. Make it the same stroke color as our outline material. You can copy and paste it from the emissive outline material we created for our meshes or use the eyedropper tool. Leave fill unchecked and click assign. And now we have our decorative icing elements done. If some of the elements look rough or jagged, you can go into sculpt mode and use the smooth tool to smooth it out.
Let’s move on to creating our cookie & meringue elements. We’re going to create 4 new materials. The first one will be a mint green color and I’ll name it accordingly. I’m copying the stroke color from the outline material and pasting it here. Then, I’ll check fill and select a mint green color. The second will be a pink color. Copy the same stroke color and set the fill to a pink. The third will be a pale yellow color with the same stroke color. And the 4th will be a creme color with the same stroke color. Make sure your playhead is at frame 0 and create a new layer above the icing layer. The reason we move our playhead to frame zero first is because when you create a new layer, a keyframe will be created at wherever your playhead is situated. If you weren’t on frame 0, you can just shift the keyframe back to it. Name this “Middle Elements” and uncheck use lights.
Go into top view with numpad 7 and in draw mode, set the stroke placement to 3d cursor and the drawing plane to front. Let’s shift + right click somewhere in the bottom middle half of our cake to set the 3D cursor. Go into front view with Numpad 1 and select the circle tool. Set the radius to 35 and uncheck use pressure. For these elements, we’re going to keep it simple by drawing round and organic shapes and then adding details to them later but you can make whatever you’d like. I’ll pick the green material to start off, but we’ll be cycling through all of them. I’m placing them on the sides of our cake and switching to the pink material, then the cream. And now, with my draw tool, I’m going to make these meringue shapes. If you want to have strokes appear behind the ones you previously drew on that same layer, you can select this option up here Draw Strokes on Back. Once you’re done, uncheck the option “Draw Strokes on Back” and select the outline material. I’m also turning on use pressure for radius. Add some detail lines to the those shapes. I’m imagining the circles to be cookies or wafers. And for the meringues, I’m just following the curve. Feel free to add more details as needed.
Now, I want to draw some elements in the back to give it some depth. Go into top view with numpad 7 and Shift + Right click near the middle of our cake to set the 3d cursor. Make sure your playhead is at 0 and create a new layer under the icing outline layer. Name it Back elements and uncheck use lights. In camera view and with my circle tool selected, I’m going to make more circular shapes. Again, changing the color as needed. Then, those meringue shapes with the draw tool. Use your camera view to help and feel free to edit the position or rotation of those elements in edit mode and lock the necessary axis. I’m checking to see if the composition is balanced on each side. And I’m just laying more colors and shapes. If you want to change the color of any of these strokes, you just need to have the stroke selected > right click > go to assign > and select the color.
At the top of our cake, I want to create these pirouette wafers and chocolate bars sticking out. Set the material to cream and we’re going to switch to vertex color by clicking on this option up here. Pick a tan color and set the mode to fill. Let’s draw 2 rectangular cookies on the left to be our pirouettes. Then, change the color to a brown, and let’s draw a sort of rectangular bar on the right to be our chocolate. Tab into edit mode and use stroke select if you need to make any adjustments. Once you’re done, switch back to material paint mode, select the outline material and add detail lines like we did before. Hide any necessary layers if you need to.
Lastly, we’ll create some elements in the front for even more depth. Go into top view with numpad 7 and Shift + Right click near the front of our cake to set the 3D cursor. Make sure your playhead is at 0 and create a new layer at the top called “Front Elements” and uncheck use lights. In camera view, let’s add more of those circular and meringue elements. Then, add detail lines like we did before.
Now, we’ll move on to texturing.
texturing
For texturing grease pencil elements, there are a few ways you can do this, depending on the style that you’re going for. Previously, I experimented with texture brushes and varying the color to get a textured gradient look. And for this, I’m going to use a similar technique, but overlaying the texture with blending modes which is the most natural way for me coming from other design programs. To get those texture brushes, let’s install a free add-on by going to edit > preferences > add ons > and searching grease pencil tools. Check this box and exit out of it.
With your playhead at 0, create a new layer above front elements, name it front texture, and uncheck use lights. Change the blending mode of Front Texture to hard light and take down the opacity to around .45. Add the Front Elements layer as a mask to the Front Texture layer by checking this box and selecting it from the dropdown. Hide the middle and back elements layer by clicking on the eye icon. In draw mode, with the draw tool selected, go to the “active tool and workspace settings” tab and click this dropdown to “download and import texture brush pack”. Select the leaves 2 brush from the top left and set the stroke placement to stroke.
So, I’m going to go over these elements twice, one for a lighter texture and then again for a darker texture. If you have your own way of working with blending modes, feel free to experiment or you can follow along. Right click, pick a pale yellow color, and make sure you’re on the front texture layer. I’m applying that yellow towards the top of those front elements and you’ll see that the blending mode creates a sort of highlight. If you want to adjust the radius and opacity during this portion, you can just hit F to adjust the radius and Shift + F for opacity. And then, I’m selecting a blue color and applying it near the bottom. It’s important to note that depending on the material you’re texturing, varying the color yields different results. But for the sake of this tutorial, I’m only using these two.
Now with the front elements done, I’m going to do the same thing with the middle elements. Hide the front element layers and unhide middle elements and create a new layer above it. Name it middle texture and uncheck use lights. Set the blending mode to hard light and opacity to .45. Check masks and add the middle elements layer from the drop down. Like we did before, I’m selecting a pale yellow and applying it to the top of those elements. Feel free to experiment with these colors to your liking. Then, I’m selecting a blue color and applying it near the bottom.
With the middle elements done, let’s repeat this for the bottom elements. So again, hide the middle layers and create a new layer above back elements. Name it back texture, uncheck use lights, set the blending mode, adjust opacity and add the back elements mask. Then, go over these elements like we did before.
Great, now we have our texturing down. Feel free to experiment with these blending modes and different colors. I really like using add or divide, depending on the look I’m going for.
So, now with our base elements done, we’re going to move onto adding more details. With your playhead at 0, create a new layer above icing elements and name it “Icing Element Details” and uncheck use lights. In draw mode, select the pencil brush and the outline material. Set the stroke placement to surface and the offset to .012 if it’s not already. Then, draw these detail lines on the cake and the icing.
So, back to blending modes, the cool thing about using them with grease pencil is that they work on meshes as well. I use this a lot for adding atmospheric overlays or light effects to my scene. With your playhead at 0, Create a new layer above this one and name it “Icing Blending Mode” and uncheck use lights. Set the blending mode to divide and lower the opacity to .3. Right click and select the white material. I’m going over the cake just to give it some color and texture variation.
And now we have our completed cake!
For this part, I invite you to add any other details you’d like using what we learned about stroke placement, drawing planes, and blending modes. To start, I’m going to create a new layer at the bottom so I can add details to the cake stand. I’ll create another layer set to a divide blending mode for some shading and texture variation. Then, I’ll add more elements to the cake to add more to the composition adjusting the stroke placement and drawing planes as needed, creating new layers, and switching between materials. Just a quick note, if you have stroke placement set to surface and you find you cannot get consistent offset, especially when zooming in or out, try drawing in orthographic mode by clicking on this button here or using Numpad 5. You might need to adjust the offset values a bit. I won’t go over animating here. But if you wanted to, just make sure you have auto keying enabled. Then, you can create new keyframes with drawing, editing, or sculpting. The great thing is that, since we’ve separated our elements into layers, we’ve also prepared it to be animated. Then, when it’s all finished, I’m applying a noise modifier to give it a subtle shake and adding a grease pencil rim effect. You can even try to experiment with other modifiers like length or build. Lastly, if you render this out and find the grease pencil elements ignoring the meshes and Z space, go into the view layer properties tab, and under data, make sure Z is checked.
So that’s it for the Cake tutorial, thank you guys so much for watching, I really appreciate it. I hope this was helpful in understanding how to draw with Grease Pencil in relation to meshes in our scene. I am planning on putting out more tutorials and longer form resources so let me know what else you’d like to see. For other videos, you can check out the grease pencil bakery tutorial I posted a few weeks ago. If you’ve seen that one, then thank you so much for your support, it means a lot! I really enjoyed seeing everyones project that tagged on social media and they all came out great. I do have other tutorials to create this 2D/3D flower vase scene with grease pencil and this animated star scene with geometry nodes and they’re both beginner friendly. However if you do check them out, please make sure to read the pinned comments at the top since many options have changed in Blender 3.0 for grease pencil and especially geometry nodes. I am planning on updating these for the future as well.
If you guys have any questions, feel free to comment below or reach out to me on instagram @Kevandram. If you do end up doing this project, feel free to tag me. Thanks again and see you guys next time.