A lovely cup of coffee, cheers! Oh god that's cold! If only it could be kept warm… or
better yet, grow legs, make itself and walk on over to where I am! Now that would be cool! Hi, I'm Louie, one of the CG Boost
instructors, and in this video we'll be talking through some
fundamental hard surface modelling techniques that allow us to keep a
low poly controllable mesh with a high poly rendered result. We'll be using
Vanilla Blender, so although paid add -ons like Hard Ops, Box
Cutter, Mesh Machine are huge time
savers, you'll only need a copy of Blender to get started, so let's
jump in! Ok, let's start building our cup
bot, and before we jump in, let's just move our cursor up to the
very top right of our 3D viewport here and drag out a new window,
changing it from 3D viewport to Image Editor. And now we can open our concept sketch like so, and just have this
off on the side there. Now we're going to start modelling
the actual cup shape itself, but before we do, we're going to
activate an add -on that gives us a few extra objects to work with. So to do so, let's go up to Edit – Preferences, and just search under
our add -ons tab here for Extra, and here you can see Add Mesh –
Extra Objects. Let's just activate that. Now let's clear up our space here a little bit by hitting
A, and then X to delete all of the items. Now we can do SHIFT
A, and under Mesh we can move down to Round Cube, this is what we want. Now let's toggle up our options here, and the operator preset we
want is Quad Sphere, and we don't actually need that many
subdivisions here, so let's just go with 4. Now we have a sphere that is all quads which will serve us well
when subdividing for a smoother result. Now we just need to make it look a
little bit more cup like. So to achieve that shape, let's
just select it and go into edit mode, and I'm also going to go
into wireframe mode, which we can select up here, or just hit Z on
the keyboard and go to wireframe. Now we can move up to our poly
select option up here, or again 3 on the number row, and just select
the top polys like so. And here we can just hit X and
delete the faces. Now over on our edge mode, or 2 on
the number row, we can ALT and left click this loop of edges, hit
E, and then Z and move it up, and I think you can start to see the
shape we're getting here. Ok, jumping out of edit mode, and
back into solid view, it's looking a little bit faceted, a little bit
low polygon, so the first thing we can do is add a sub d modifier. Now if we jump over here to our options, you can see our modify
options are here, and we can add subdivision surface, and let's
give it viewport level 2 to match the render level. That's looking better, but we're still getting this faceted look,
so over in our 3D viewport, let's right click, and shade smooth auto. Now we can look at adding our other modifiers. Firstly, in order to give it some thickness, let's go over and add a solidify. And thickness wise, let's move it so it is an inset, something like
that looks good to me. I'm just going to toggle these
down, and lastly, we want to add a bevel. Let's just move in a little bit
closer to the top here, and start reducing the amount. Something like that looks nice, but we're not done yet, let's just
give it a few more segments, and to avoid this sort of blurred
normal look here, we can go over to our shading toggle down, and
hit harden normals which removes some of that softening. Now to continue this, we want to create a nice insert for our mug,
a smoother surface in size, and just to add a little bit more
visual detail. So in object mode, let's duplicate
our object, and right click to drop. Go into edit mode with tab, select
all on our keyboard, and then alt and s and move it in so it's flush
like so. Now deselecting with alt and a,
going into edge mode with 2
along the number row, let's alt and left click to select that loop
of edges here. Now we can hit e to extrude out
the edges, right click to drop, and then s to scale them out so we
have a nice lip here to the cup. Ok, let's left click to select,
now this lip is a little bit thick for my liking, so we can jump back
into our modifier stack here, and just reduce our solidify like so. Now the only thing that is remaining is this nice slice
through the middle here, and we can do that just by selecting our
outer shell, jumping into edit mode here, and ctrl and r to
create a loop cut, let's put it somewhere lower like here, there
looks good. And now over in poly select mode,
or 3 along the number row, we can alt and left click one of these
edges here, and this just selects that loop of polygons. And now all we need to do is tap y on the keyboard to separate that
selection from the rest of the mesh. Now we can go back out into object
mode, and we have our cup shape. So, let's move on to creating the handle. Ok, we have our nice cup shape, but it's difficult to pick up
without a handle, so let's look at remedying that. Firstly, let's select the outer shell, jump into edit mode, and
then select a vertices along the x axis here. Let's go with just that one here. And now we can snap our cursor to
it with shift and s, cursor to selected. Now back out into object mode,
we're going to create an object right here by shift and a, and
then go with cube. Let's scale it roughly down into
place like so. I'm just going to switch to
orthographic mode here, and snap it on the side by holding down alt
as well. And here we can just move it
roughly out into place, and scale it roughly the size of the handle
we want. Something like that looks good,
not forgetting to scale it down along the y axis too. And before we can continue , we need to apply the scale here
as it's all gone a bit awry, so to do so we can ctrl and a, apply
rotation and scale, so that modifiers like bevel work
proportionately on all axes. Now in edit mode with tab, we can
select our faces or polys here with 3 on the number row, and just
select the front and back. Now we can hit i to inset like so,
and then with it still selected, right click, bridge faces. You can see where we're going here. Now we can, still in poly mode,
alt and left click this loop of polys here, and then hit x and
delete faces. Now all we really need to do is
select these end bits here with 2 for edge mode, and alt click and
shift and alt click, and we can scale along the x, 0, and then hit
g and move it back a bit. Now if we were to add a sub d
modifier onto this, again we could do it by jumping over to our
modifier options. We can also over the 3D viewport,
hold down ctrl and 2, and this automatically adds a sub d modifier. But we want more of an angular shape here, so let's jump into
edit mode, and again into edge select, and we're going to alt
click this edge, shift and alt click this edge, and ctrl and b to
add a little bit of a bevel, like so. That
's looking good. Now we want a hard edge along the
side here, so we can alt and click to select these edge loops on both
sides, and then with shift and e we create a crease, like so. Ok, looks good, and let's give it the shade smooth treatment with
right click, shade auto smooth, and also add a bevel modifier
after our sub d modifier. I'm just going to reduce this
number down a little bit, add another segment,
go to shading, harder normals. Now we still get a little bit of
faceting here, so I think we can increase our sub d level just one
more time in both the viewport and the render. Ok, looks good, but we don't have it attached to our mug here. So firstly, let's just fill this gap by selecting the top and
bottom edge and hitting f, and likewise f, and then shift
selecting both of these polygons and making sure they are both
fully creased. Now in order to give ourselves a
little bit of control resolution to snap to this surface, we can
hit ctrl and r and just create a loop cut along the middle, like so. Now we can shrink wrap our handle to the cup. So in order to do so, I'm just going to collapse these down and
load in a shrink wrap modifier, and what we want to shrink wrap to
is our cup. Now it's done exactly what it says
on the tin, and it's just flattened everything against the mug. However, we only really want to snap the ends of the handle here. So jumping into edit mode, we can select these four polygons here,
go over to our vertex options and just add a group, and leave it as
group, and then just click assign. Now jumping out into object mode,
going back over to our modifiers, we can select that group, vertex
group, named group, and here now we have only those vertices
snapping, but it's not doing so in a massively elegant way, so let's
just change the nearest surface method to project, and we want it
on one axis only, and that is our x axis, so we can check that, and
that's much more elegant. Now we can jump into edit mode,
select all, and just move things a little bit closer. Excellent, that looks pretty good. Now if yours is anything like
mine, it is intersecting ever so slightly, so you may need to play
with the offset value down here, which we can tweak, holding down
shift to move it out ever so slightly. Ok, looks good, that is our handle done, let's move on. I just thought I'd let you know that the Robotic Planet course is
available now on CG Boost if you like doing this kind of stuff. Ok, let's get back to it. Ok, it's time to create our eye,
and we're going to be using a similar method to our handle here,
but instead of selecting a bit of geometry and snapping our cursor
to it, we're just going to hold shift and right click to place it
roughly where we want the eye to be. I'm going to go with something
like that, looks good. And then we can hit shift and
A , add mesh, and this time cylinder. Now we don't need this many vertices, so I'm going to turn
this down to 16, and we can scale it roughly down into place, and
then rotate it about the x, holding down the ctrl key to snap
to 5 degrees until we are at minus 90. And I'm just going to switch off
perspective into orthographic here so we can kind of line it up where
we want it, scaling a bit more as well. That looks reasonably good to me. And after we're happy, again, we can apply scale with ctrl and
A, rotation and scale . And then in edit mode, I'm just going to hit G and move it out
along the y, and scale it along the y, and move it back like so. Now we can jump into our poly mode if you haven't done so already. Select the front most polygon, hit I, inset like so, and then hit E
to extrude inwards, but not going beyond the back of our geometry here. We want to use this selection as a front element as well. So let's just shift and D, and then Y and move out the surface here. And with it still selected, we're going to hit X and delete faces only. And this affords us to select our edges with two along the number
row, alt and left click, and then ctrl F, and this time grid fill
like so. And we can just click the offset
here just to make sure that it is level with everything. Okay, then E to extrude, and then hit L over our mesh to select
everything and then G and move it back into place. And this will function as our lens. Okay, jumping back out into object
mode, let's add our subdivision surface with ctrl and 2. Now let's go into edit mode and start selecting edge loops in
order to add a crease. And a quick way to do this is
holding ctrl alt and left click, which selects a loop of edges, but
laterally in the different direction. And then we can go up to select,
select loops, edge loops. Now all we need to do is shift and
E and drag it out until we're happy, like so. Now again, we can right click, shade auto smooth, add modifier bevel. And this time we have a small bevel, which is being restricted
by our geometry clamp here. So if we uncheck clamp overlap,
and start turning down the amount, we can get to something we're a
bit more happy with. And you'll note that we're also
affecting the lens element inside. So in order to avoid that, we can
increase our angle here until we're way above 50. Okay, looks good to me. Let's add another segment and
again go down to shading and harden normals. Okay, that is our lens element. Now let's do as we did with the
handle and snap it to the back here. So to do so, we can go into poly
mode, select our back polygon, go over to a vertex options and add
like we did before a new group and just assign that poly to the group. Now again, back out into object mode, we can go to our modifiers,
collapsing these down and add a shrink wrap. This time using our vertex group, selecting our target once again as
the cup. And once again, we're going to
project using our wrap method and we only need it along the y. Still
not working, well, we need to switch it to negative like so. And again, I'm going to give this a tiny little bit of an offset. There we go and move it below our bevel. In fact, if we didn't do so here,
we can do that also now. Okay, looks good. This is protruding a little bit too much for my liking, but let's
just go into edit mode, select all and hit G and move it back. Much better. Okay, that is our eye done. Let's move on to the legs. Okay, moving on to the legs, but
before we do that, we're going to move everything up a little bit. So if we hit A on the keyboard here and then G
and Z, we can move everything up like so. And this just gives us a little bit more room to work with. Now the first element we have here is the joins. So the little cylindrical joins here, and that's pretty easy to
put together. So let's just jump into edit mode
and we want to select a vertex here on one side and snap our
cursor to it with shift and S, cursor to selected, back out into
object mode, shift A, and add a cylinder. And because the cylinder is considerably smaller, we can
reduce our vertices down even more to eight and then scale it down,
rotate it along the Y 90 degrees. So let's scale it a little bit
more and then scale it out along the X axis. Once we're happy with that, we'll apply rotation and scale. So we don't have any weird artefacts going on when we start
adding modifiers and do our sub D with control and two. And I'm going to go into isolation mode here, you can do so with
forward slash on the keyboard and then into edit mode, poly select,
select our two ends and add a crease with shift and E. Now just
for a little bit of extra detail, I'm going to create a loop cut
with control and R along the middle and then control and B to
pull out a bevel and then alt and E to extrude faces along the normals. So we can have a tiny little bit of an inset here. And once again, we want to select all of these edges and control E. Okay, that looks good. Let's go over to our modifier and
do a bevel, right click and shade auto smooth. And again, let's add one more segment, go to shading and hard normals. Now jumping out of isolation mode, we have our first section here and
we want to create the first upper leg element, and we can do so
quite easily with an add primitive tool. So if we select here and choose
add cube, you can see that we can choose the angle in which we drag
out this cube shape. So I'm going to go with something
like that and just drag out a cube, release, extrude up
a little bit and left click down to commit. Okay, that is our leg at the wireframe. So we can see what we're doing better. Also switch off perspective and snap to the front. Not too bad. Let's just scale it down along the
X and move it along the X, snap to the other orthographic view and
move it into position like so. I think the upper leg is
considerably long at this stage. So let's go into a poly select,
select the bottom poly, hit G twice to slide it back along the edges. Okay, looks reasonably good to me. And we can jump back out into
solid mode and apply our scale. And this time we don't really need
to add any sub demodifier as there is no curved surfaces whatsoever. So we can jump straight to adding a bevel
modifier. And let's just turn down the
effect here, give it two segments again, harden the normals on the
shading, but making sure to right click and shade auto smooth. Okay, that looks good. Next, I think it could be nice to
add a little bit of sci -fi detailing, almost like a cut
through like that. And to do so we can use our add
primitive tool with a boolean operation. Okay, so let's just draw out
another cube here, making sure it intersects like so, and then jump
in to edit mode, control R to create a loop cut. And this time scrolling up one. So we have two loop cuts like that. And then we can hit three on the keyboard to select our poly mode
and then G and X to move it down until we're happy with the angle. Just going to scale everything a little bit here, move it in. I'm just hitting X twice to move into our local
coordinate space. And I think that's reasonably good. Okay, now in order to create our boolean operation, we can do so
over in our modifier here, or we could take advantage of another
add -on that ships with Blender called bool tool. So in order to enable that, we'll go up to preferences here, add
-ons, and this time let's search for bool and activate the bool tool. And this just enables us to select our cutter here, select the thing
we want to cut and then control and shift and B, and then we
activate our bool tool. And this time we want to use the
brush boolean, which is the non -destructive way of doing this and
select slice. Now we have two elements to our
leg here, and you can see the bevel doesn't make it all the way around. So to fix that, we just want to make sure our bevel is below our
boolean cut. And one more time. Excellent. That's exactly what we want. Okay. Now that we have completed that,
we can take this whole assembly here. So just shift clicking everything
and I'm going to snap to the side view and hit Alt and D to
duplicate it with linked object data. So the duplicates effectively have
the same mesh and then place it like so, then shift and right
click our cursor in the middle here and make sure we are rotating
about our 3d cursor and just move it roughly into position. Okay. Looks good. Let's take our little cylindrical element here again, do Alt and D
and move it down. And you can see we are building up
our leg nicely. The only thing we really need to
do is add a foot and we can make that just a simple cube again,
using our add primitive tool like so, snapping to the side view and
moving into place. Just going to switch back to our
bounding box here. And a quick way to copy across our
modifiers is to just with our foot selected, shift and click our leg
segment and then move over to our modifiers here. And for the bevel, we want to just copy to selected like so. Okay. Let's shade auto smooth that, and
we have our leg already in place. So let's select all of these elements. I'm just going to move mine in a little bit like so, as well as up
a little bit, so it rests on the ground and we're ready to create
the second leg, which thankfully is pretty easy. All we need to do is snap our cursor into world origin with
shift and S, select all of our leg elements like so. Make sure that our transform pivot space is on 3D cursor and then ALT
and D to duplicate all of our elements, right click to drop and
then CTRL and M and then X to flip that about our X axis. Okay, cool. Looking really good. And we only have one thing remaining and that is our little
C1 decal here, which we'll look at next. Okay. This is comparatively simple, really. All we need to do is add a plane
into the scene. So shift and A, mesh plane. We're going to rotate it along the Y axis here. So R, Y, 90 degrees like so, and we'll move it up. Just going to snap into orthographic view here and to the
side like this. Now with it selected, we can jump
into edit mode, right click and subdivide. Again, down in our tool tip, down
in the bottom left here, we can give it quite a few subdivisions. Let's go with 10. And now it's just a case of
drawing out the shape we want. So for a C here, just going to
draw out a C like that. And then a one is going to be
really simple like that. And then all we need to do is
invert that selection, hit X and delete faces. Now, if you want to be fancy, you could add a little bit of corner
detailing here. I might just add some vertex
bevels by selecting these vertices, right click, bevel vertices. You can see that gives quite a cool look. Okay. Let's again jump into orthographic
mode and just scale it down and put it roughly where we want it. Just going to switch back to bounding box center here and move
everything a little bit. Okay. That looks good to me. So let's jump back out into object
mode and over in our modifiers here, let's add a subdivision
surface, but this time let's keep it at simple. This just gives us a little bit more geometry to do our next
modifier, which is shrink wrap. And again, we want to shrink wrap
to our surface here like so, but we want to project. So again, project. We want to do it on our X
coordinates and negatively, it's not working. This is because we forgot to apply our rotation and scale. So let's do that. Now it's working. Now all we need to do, just move down to the bottom here and offset
it ever so slightly. There we go. Looking good. Okay. That is our decal done. Now we can just look at surfacing,
which is going to be pretty quick. And for our materials, we're just
going to use this standard BSDF. So in order to do so, let's switch
into our rendered view here. Doesn't look particularly exciting
until we introduce an HDRI, but let's jump over to shader editor,
go world and load in an HDRI. Let's do an environment texture
and the HDRI that I'm going to use is available from Polyhaven and
called large corridor. So we can just download a 2K HDR. That should be more than fine. Then connect this to our colour input of our background and open
the newly downloaded HDR. Loading that in looks good. However, we don't want to see it in the background. So let's add a second background and a mix shader like so
connecting it up to our second input and the factor can be light
path camera ray like that. Now we have one for our
background, which I'm just going to reduce to a dark grey and one
for our HDRI, which gets picked up by the shaders. Okay, it looks good. Now we can move over to our render
options and make sure we check ambient occlusion. Just going to turn this up to one and start
building our materials. Firstly, for the cup itself, I
think we can go with something simple. So I'm just going to go cup here
and give it a sort of a beige off white colour like so, and a
roughness value quite low, I think that looks nice. It 's going to switch our world to
object here so we can see what we're doing. We want another colour here too. So let's just create a new material slot and call it
cup two and give that an orangey colour . And then we can go into edit mode and select that bottom half, just click
assign like that. I like that orange colour. So let's have that for our text here. So we can add a material slot and
just select our cup two. And again for the legs, new
material slot, cup two. And that automatically populates
because we have linked the object data when we duplicated. And for our feet, cup two looks good. Now for the joining elements here,
I think it'd be nice to have some metal. So let's create a new material and
just call this metal and crank up the metallic and crank down the
roughness a little bit like so. Our little eye here can also have
that metal material, just jumping into edit mode here, but also more
of a lens material for the front here. So let's create a new material,
call it lens, and we'll just go with a very shiny dark blue, reducing
that roughness down and then assign with it selected in our
model view. Okay, cool. Now for the handle, we can just have that as our very off white
initial colour. And for the inset part here, we
can use our cup two. Now to breathe a little bit more
life into it, we can add a bit of a pupil here. So let's just jump in and select our front element, hitting L,
shift and D and move it out, scale it down and just move it back a
little bit. So it's roughly there. Create a new material. Let's call it pupil. Okay. And we want it to be pretty much
like the lens. So we can copy that and paste it
to our pupil material, except for emission. We want that to be a really nice
blue here. So let's just assign that to our
model, to our newly created pupil mesh. Looks good. And emission strength, let's go all the way up to three, which
affords us the ability to go into our render options and switch on
bloom for this nice sort of glow effect. Okay, cool. Now we have our model here and in order to render, we can quickly
add a camera by firstly making sure our cursor is in the world origin. So shift S, cursor to world origin, and then add shift
A camera. Now, if we line up roughly where
we want our camera with just the normal 3d viewport navigation
tools, we can then go up to view, align view, align active camera to view. And this is assuming that the camera is still selected. Excellent. Now we can just adjust it by hand
a little bit. I'm just going to hit G and Z
twice to move it back along its own axis, like so. And then I'm going to make up for the framing here by increasing the
focal length to more of a portrait style lens. Okay. And now we can just hit F12. Okay, we have our cup bot done and I'm going to fill mine with some
life giving coffee. However, I urge you to make it
your own. Maybe you prefer tea or hot
chocolate and hell, it's just a receptacle. So maybe you want to fill it with
pencils or make it a plant pot or something completely different. And if you do make sure to share it with us at CGBoost, the CGBoost
community or on the various social channels. Also, if you had fun with this and want
a little bit more of a challenge, you might want to check out the
Robot Planet course, where we cover more advanced procedural
shaders, rigging, animation, and a whole lot more. Check it out in the link in the description and I hope to see you there.