Book Sliced
Book Sliced
You are relatively new to Blender, at least in its current form, but
you can find your way round the internet and your computer, install
programs, and generally manage directories and do file house-
keeping.
You wish to accumulate knowledge and skills in a systematic way
rather than wanting to jump straight in to find the answer to solve a
specific problem.
You want to read detailed instructions at your own speed, and you
are occasionally frustrated by the, often excellent, online videos
(both the ‘read’ and ‘speed’ aspects being quite variable).
You value the ‘random access’ nature of books that allows sections
in previous chapters to be quickly re-checked.
i
At the end of the day that is what you will have to do too but this book
should make your journey a little less frustrating.
At the end of the book you will have a good concept of what
Blender can do. You probably won’t be able to remember many of the
specific details of what you did but you will know how to set about
finding out. Importantly you will be unafraid to try making things on
your own, and much less confused by the wealth of help online.
ii
posing and animating characters, and unavoidably where I explain how
to download, install and enable add-ons!
Scroll back out and rotate view so you can see the whole of the
Cube then, using the object interaction mode drop-down (left, just
below the Header line), select Edit mode. Switching between Object
mode and Edit mode is such a common process that it is almost always
done by pressing the Tab key...
Now, with the top face selected subdivide it into 121 squares. You
can either use the menu option: Edge4Subdivide or the context
sensitive right click menu where Subdivide is the first option. Open the
Adjust Last Action panel and change subdivisions to 10 i.e. each
original edge has become composed of 11 edges”
From time to time you will forget exactly what you did in a
previous chapter, but because this is a book it’s easy to flick back and
check!
iii
recommended approach would be to read each exercise in the chapter
at the same time as watching the video then return to do the exercise
following the instructions, only resorting to watching the video when
you get stuck. Unless you have a powerful computer with two screens
it might be frustrating to try to watch videos at the same time as you
follow instructions in Blender.
Different versions
The change from 2.79 to 2.8 was a more significant one and,
although most of the functionality covered by this book existed in
version 2.79, the layout and styling are quite different. However not all
graphics processors are capable of running versions after 2.79 so you
might be stuck with that! It will be significantly harder to find the UI
options, though you will quite quickly discern a pattern and, generally,
the short-cut key combinations have remained the same.
You can find links to the videos along with a sequences of blend
files accompanying each chapter on the web page get-into-blender.com.
I have also included full sized color versions of all the figures in the
book as the process of printing in black and white has made some of
them less clear.
iv
Where else you can find help
There are a few youtubers that I have really enjoyed watching over
the years: Jan van den Hemel’s Blender Secrets, DECODED, Toni
Mortero and Sophie Jantak are all worth searching out. You will find
many more as you search for help or inspiration while you work your
way through this book.
v
1
O R I E N TAT I O N
1
can be and how some relatively quick and simple steps can produce
impressive results.
The alternative method, which is needed for macOS and Linux but
also works on Windows, is to download a compressed folder containing
everything you need to run Blender. For a long time Blender has
followed a policy of packaging all dependencies into one .zip, .dmg or
.tar file. The method of unzipping Blender into its own folder and
running the executable file when you want to use it is simple with
much to recommend it. It has allowed me to test the exercises used in
this book on versions 2.79, 2.83, 2.93, 3.6 and so on.
2
Blender Configuration and Setup
Before you start any of the exercises in this book, make a folder
for storing all the files you create as you work your way through. The
name and location are up to you, but I recommend adding a subfolder
for each chapter to keep everything from getting muddled.
3
You’ll be making many simple alterations to this starting cube to
get a feel for the layout of the user interface, where to find the tools
you need and how to make basic changes to objects.
Blender has a lot of help built in, so once you get used to some of
the terminology and know how to look for information, your life will
become much easier. However, there are a few features that will benefit
from a little clarification before you start.
In Figure 1-1 there are actually four distinct areas, each containing
a different editor, the main window has been divided vertically and
each half has then been divided horizontally. The four arrows point
towards the top left of each area where there is a drop-down menu that
allows you to change the editor. Figure 1-2 shows the full list of
available editors..
There are a lot of options, and some of those editors would require
many pages to explain in detail, but the following are the main ones
you will encounter in the book, roughly in order of appearance.
4
Figure 1-3 Properties Editor Tabs
5
The methods of composition are extremely sophisticated,
comparable with fully fledged image editing software, but they use
the visually intuitive nodes interface. You will use this editor in
Chapter 13.
Dope Sheet, Graph Editor, Drivers and Nonlinear Animation
editors are all used for controlling different aspects of animation
and you will encounter them in Chapter 12.
For the rest of the book, instructions will refer to the name visible
by hovering the mouse, for instance “Modifier Properties” (hover over
the blue wrench) or “Material Properties” (hover over the pink and
black sphere).
6
Figure 1-4 shows the right-click menu that appears for
Select4Select Loops4Edge Loops with relevant documentation
from the link to the online manual on the side.
Throughout this book I'll generally include the full menu path,
which is more descriptive and provides a mechanism for finding the
shortcut. In cases where the shortcut is obscure for some reason or is
significantly easier to use than the menu option, I'll reference it when I
first introduce the functionality.
Let's start with some of the basic methods available in Blender for
modifying objects and their properties. This scene has three objects:
Camera, Cube, and Light, and you can left-click each one to select
them in the 3D Viewport or Outliner Editor areas.
7
NOTE From this point on when I say “click” or “drag” without
mentioning which button, I mean left. The more specific mouse
button instructions may also be referred to as LMB, MMB, and
RMB, as shown in Blender's online documentation in Figure 1-4.
To change the size of the cube, select it then click the Scale button
in the Toolbar on the left (it’s the one highlighted in Figure 1-5). I've
indicated the four Regions in the 3D Viewport area that you will need
to use often and which don’t have a mouse-over giving their name.
8
NOTE Before Blender 2.93 the default way to access the Toolbar was via
the spacebar, but that has been changed to toggle playing or
pausing the animation in line with most other applications. You can
change shortcuts such as this one in Blender with
Edit4Preferences4Keymap.
Scale the cube using the gizmo (yes, that’s the technical term for
the pink, yellow, and blue thing in a white circle, centered on the cube
in Figure 1-5). You can drag the colored points to scale in X, Y, Z, X +
Y, X + Z, or Y + Z directions. To scale uniformly, drag from anywhere
in the white circle that isn’t colored. Do several different types of
scaling operations, and then click to expand the Adjust Last Operation
where you will see the actual values of the last scaling. You can adjust
these values specifically, so try changing to X to 2.0, Y to 2.0, and Z to
1.0, and then in the Properties Editor, select the Object Properties tab
(orange square), and in the Transform section, look at the Scale field,
which is the open tab on the right of Figure 1-5. You should see
different values because those are the total of all the scaling operations
as opposed to just the very last one you did.
Now you will scale the cube using shortcut keys. With the cube
still highlighted and the mouse somewhere over the 3D Viewport, press
S. Move the mouse backward and forward, then press and release X,
then try Y, Z, SHIFT-X, SHIFT-Y, and SHIFT-Z, moving the mouse to
see the effect. Finally, type the number 3.14159 then click anywhere in
the 3D Viewport to fix the change. When you type a number after a
sequence of shortcut keys such as this, Blender will automatically
interpret the value as a scale, rotation or displacement. The formula that
will be executed when you finally click is visible at the top of the 3D
Viewport. You should have seen that the axis or plane for scaling was
constrained by following the shortcut with other keys to modify its
behavior.
This cube scaling exercise might seem like flogging a dead horse,
but there’s one last option for tweaking properties: in the middle of the
Scale X value of the Properties tab in the Properties area (where it
shows 6.395 on the right in Figure 1-5), while holding down the LMB,
move the mouse from left to right and back again. You should see the
scale increase and decrease as you move the mouse. Finally, in the
Scale value boxes, change X to 8.0, Y to 8.0, and Z to 1.0 which will
explicitly set the scale to exact values.
9
Moving the Viewpoint
DIFFERENT VIEWS
Cameras in Blender are actual objects in the scene that are used to
“render” the final image or video. As well as being moved and animated
like a real camera, they have properties such as focal length and
aperture to control depth of field. The active camera’s view is different
from the working point of view you see on the screen but there is an
option to align the Camera to the current view and vice versa.
10
Figure 1-6 Moving the viewpoint in Edit mode using Walk Navigation
Scroll back out and rotate the view so you can see the whole of the
cube. Then, using the object interaction mode drop-down (third line
down on the left in Figure 1-6), switch from Object mode to Edit mode.
Switching to and from Edit mode is such a common process, you'll
almost always press TAB to switch. To change modes without using a
mouse, a pie menu is also available via CTRL-TAB, which is useful if
you need to swap modes frequently.
In Edit mode, you can see the mesh that forms the object—in the
case of a cube, 8 vertices, 12 edges and 6 faces. All the vertices are
11
selected initially, but when you click one of them, all become
deselected apart from that one. Holding SHIFT while clicking on a
vertex toggles the selection of that vertex; it behaves like the CTRL
button in most other applications! It might take a bit of getting used to
so have a play around at selecting and deselecting vertices.
Subdivide
To make the cube into a mount for a ring you will need to
subdivide the top face so that it can be made convex and also, so that
some of the subdivided faces in the center can be depressed to form a
slot. Subdivision is one of the simplest function in Blender to create
new vertices, edges and faces. If one face is selected then subdivided, a
number of smaller faces will be created along with the appropriate new
vertices and edges.
12
vertices and do some trial move, scale and rotate changes, undoing
each with CTRL-Z before continuing.
Use SHIFT while dragging with the mouse for fine control. This
also works when changing almost anything by moving the mouse such
as value sliders, color pickers, even snapping to grid increments.
One button in the Header that is much used when editing meshes is
Proportional Editing (near the middle of the second line in Figure 1-6
under the word Shading). This allows graded movement of large
numbers of vertices. The size of the field that Proportional Editing
effects is shown as a circle, and you can adjust the diameter using the
mouse wheel. You can revise the proportional editing values in Adjust
Last Action as well as the actual amount of the change.
To make the top of the mount cushion convex you need displace
vertices downwards by increasing amounts, the nearer each is to a
corner, if Figure 1-9 you can see the curve that I achieved. Change
back to Vertex select, if it is still set to face select, and turn on
Proportional Editing. Now select all four corner vertices of the top face
and move them down using shortcut G then Z then LMB, in a similar
way to the scaling you applied to the cube earlier. The three
transformations; scale, move and rotate are so ubiquitous while
modeling that I will refer to them throughout the book by their
shortcuts rather than their menu path. You are aiming to form a nice
13
convex surface, but you may get a better shape if you do this in several
steps with different sizes or profiles for the Proportional Editing. I
found that the Sharp profile was nearest to what I had in mind.
Extrude
Once the top of the mount cushion is rounded, select five adjacent
faces in the middle to extrude downward to create a “slot” to hold the
ring., To do this, change back to face select, press the LMB to select
the first, and then press SHIFT-LMB to add four more to the selection.
1. To create the band of the ring, switch back to Object mode and
select Add4Mesh4Torus. This torus will become the vertical
band in the cushion so select that object and rotate it through 90
degrees using R, Y, 90 then LMB and scale it to match the slot
in the cushion.
14
3. Copy the emerald to form a basis for four diamonds. With the
emerald selected copy it using CTRL-C and paste it with
CTRL-V. So long as the cursor is over the 3D Viewport the
copied object will appear in exactly the same location as the
object it was copied from.
4. Scale down the copied icosphere then copy it three more times.
These smaller icospheres will be diamonds set into the ring
(look ahead to Figure 1-10 to see the sizes I used, but design it
to your own tastes—after all, these carats cost nothing). Press
G, Y, then LMB to move the copy to one side along the Y axis.
Scale it down then repeat the copy, paste, and move to one side
step three times.
To make the torus look more like a ring, you'll change its cross
section from circular to oval. Your objective is to select a circle of
vertices on the inside of the ring and scale them up, then select a circle
of vertices on the outside and scale them down as shown in Figure 1-7.
Select the ring object then switch to Edit mode to allow you to
move vertices. However before you attempt to do this you need to learn
a little more about selecting vertices in Blender.
15
methods for selection but, initially, you will find that much can be done
using the default select box on the Toolbar and shortcut C to circle
select for fine-tuning.
With circle selection the size of the circle is controlled with the
mouse wheel and vertices are added by LMB and “painting”, removed
by MMB and the selection process ended by RMB or pressing the enter
key.
NOTE The shortcuts for changing to orthographic or camera view use the
numpad. If you are using a laptop or a keyboard without a numpad
it is still possible to emulate one by selecting from the main menu
Edit4Preferences4Input4Keyboard4Emulate Numpad. In
my opinion the numbers for changing the view are less intuitive to
use when they are laid out in a line instead of a grid and the view
rotation gizmo is quick and easy to use. However CTRL-PLUS
and CTRL-MINUS are very useful shortcuts for the unwieldy
Select4Select More/Less4More (or Less) so I strongly suggest
you enable the Emulate Numpad option. From this point on when I
refer to PLUS or MINUS I mean the keys on the numpad or
emulated numpad.
6. Now try to get the inside curve of the ring more oval. Scale the
innermost vertices up with proportional editing toggled on and
the diameter adjusted to an appropriate amount. This is a good
example of a time when it’s useful to open the Adjust Last
Operation pane and tweak the Proportional Size value while
watching how the mesh changes.
7. To select the outermost ring of vertices you will use by far the
most efficient method for selecting loops of vertices. Select a
representative edge, then Select4Select Loops4Edge Loops.
16
NOTE Edge Loop selection is such a useful feature that you will quickly
prefer the shortcut ALT-LMB rather than the menu route, which is
much slower. This shortcut also happens to be one that doesn’t get
a hint in the menu see (Figure1-4) because there is an alternative
shortcut to avoid conflict with 3 Button Mouse Emulation.
10. The icosphere with fewer sides will become the mount so you
will transform it into more of a conical shape. Select the
icosphere, switch to Edit mode and move the top vertex
downwards with G, Z then LMB, then select the five vertices
nearer to the bottom and scale them inwards. You could
constrain the scaling to the XY plane with S then SHIFT-Z, but
as all the vertices are in the same plane it will have no effect so
you can just use S.
11. In reality the ring and the mount will all be one piece of gold
and you can join them in a similar way in Blender. Switch back
to Object mode and using SHIFT-LMB, select the ring as well
as the mount object then, with the ring and mount both selected,
join them to form a single object using Object4Join.
17
Adding a material to an object
For the rest of this exercise I’m going to guide you through aspects
of Blender that you will only cover in detail later in the book:
materials, shaders, nodes, textures, particles and rendering are all things
that you will definitely need to understand eventually, but not at this
stage. Your objective while following these instructions is just to
become more comfortable finding your way round the user interface.
1. To see what your gold and gem materials look like you need to
select Material Preview from the four buttons that control the
Viewport Shading at the top right of the 3D Viewport (to the
right of the X-Ray button).
The options are: Wireframe, Solid, Material Preview and
Rendered. They are all useful for different purposes but increase in
computational requirements from left to right. Rendered can be slow if
Blender has to simulate all the light paths being reflected, refracted and
scattered by many objects in the scene. Material Preview uses some
clever algorithms to give a good approximation to the final product.
3. The new material will have Surface set to the default Principled
BSDF Shader which is very flexible. To make it look like gold
you just need to scroll down and change the Base Color to
yellow, increase the Metallic component and decrease the
Roughness.
Using Nodes
18
4. To work with material nodes you need to set one of the areas to
use the Shader Editor. You can do this by clicking on the
Shading tab at the very top of the window which will change
the Active workspace. You can modify the type and size of the
different editor areas quite easily but the Active workspace tabs
are a convenient way to switch between tried and tested default
layouts (see Figure 1-8). The bottom of the screen will now
contain a Shader Editor area and you can zoom in on this with
the mouse wheel, pan the view with the MMB and select and
drag the nodes with the LMB.
5. The first node to add is one that will produce a random, beaten
pattern which can be used to change the reflection from the
surface of the gold. Using the menu at the top of the Shader
Editor area Add4Texture4Noise Texture, un-check the
Normalize option, then connect its output (Fac) to the Base
Color of the Principled Shader by dragging and dropping the
dot to create a connector line. This is just a temporary setup to
check what the texture looks like. Now increase the Scale to
about 18 so the pattern looks proportionate to the size of the
ring then drag the output connection from Base Color to
Roughness. Older versions of Blender had a dedicated node for
this called Musgrave texture.
6. To tone down the strength of the pattern you can feed the output
through a node to multiply it by a small value. Use the menu
Add4Converter4Math to create a new node and drop it onto
the connection between the Noise Texture and the Principled
Shader nodes, which should automatically insert the node into
the connecting “pipe”. If you miss then you can reconnect the
inputs and outputs so they match Figure 1-8.
7. To distort the surface of the metal further you can also use the
noise pattern as a displacement. Change the type to Multiply
and the value to 0.01 then drag a second connection from the
output Value to the Displacement input of the Material Output
node. You can adjust the multiplication value to vary the
unevenness in the final render.
19
Figure 1-8 Shading workspace
10. Select one of the diamonds and add a new material to that
object changing to the Glass BSDF shader as well, but with
Color white and IOR 2.4. For the other three diamonds select
the same diamond material from the drop-down list in the
Material Properties tab. You can see the drop-down half way up
Figure 1-8, just above the Preview section.
11. Finally arrange all the objects so they look to be part of one
ring. Move the ring down so it nestles in its slot then move the
emerald and diamonds to their positions on the ring, this will be
easier to do using the orthographic view.
20
1. Select the cushion object which started life as the default cube.
It will already have a white material called “Material”. In the
Material Properties tab change the Surface shader from
Principled BSDF to Velvet BSDF and the color to dark red.
3. “Quick Fur” sounds hopeful but you will find that it is applied
unevenly unless you apply the scaling. First click
Object4Apply4All Transforms then Object4Quick
Effects4Quick Fur then In the Adjust Last Operation panel
un-tick the three check-boxes; Apply Hair Guides, Noise and
Frizz. Reduce the View Percentage to 0.1 and change the
Density to High.
4. If you expand the Cube object in the Outliner Editor you will
see that a new object has been added called Curves, as a child of
Cube, as visible on the right of Figure 1-9. This has now
become the selected object. Click on the Modifier Properties tab
(blue wrench) and in the modifier called Generate Hair Curves,
reduce the Control Points to 2. In Set Hair Curve Profile,
increase Radius to 0.005 and in Interpolate Hair Curves,
increase the Density to 750.
QUICK EFFECTS
5. You need to set the fur fibers to a similar red to the base cushion
but you can also add some some variety to that material using a
different texture node. With the Curves object still selected, in
the Material Properties tab a new Fur Material will have
appeared, change its color to dark red. Select the Cube object
(it should still have the original material called “Material”) and
in the Shader Editor area add three new Nodes
Add4Texture4Voronoi Texture then Add4Input4RGB
then Add4Color4Mix Color mix the Voronoi and RGB and
21
feed the result into the Velvet shader, adjusting the controls until
you get an interesting result, the node arrangement is shown in
Figure 1-9.
In Blender version 3.5 the method for generating hair changed to
use geometry nodes. If you are using an older version then the original
version of these instructions can be found in Appendix A.
To compose the final image you need to position the camera and
run a few test renders to finalize all the settings.
1. For the exercise in this chapter you will use the cycles render
engine. In the Render Properties tab of the Properties editor (the
icon like the back of a camera) change the Render Engine drop-
down from Eevee to Cycles. You will learn more about the
differences later but, at a simplistic level, eevee is quick but
cycles is more realistic.
22
2. Position the Camera by clicking on the camera button on the
right of the 3D Viewport. If you scroll out with the mouse wheel
you will see a rectangle surrounded by a dotted line to indicate
the image frame. Use SHIFT-` and WASD game style controls
to “fly” with Walk Navigation so the scene is well composed
within the camera’s field of view.
3. To start the render, select from the menu right at the top of the
window Render4Render Image. While fine-tuning the
material settings you can stop the render early by pressing ESC,
the first time will stop the render and pressing ESC again will
close the window. In subsequent chapters you will see how to
set a small render region so you can quickly check whether the
settings are correct.
A synthetic window
You will have probably noticed that the reflections from the gold
ring are much more interesting and produce a more realistic result
when the Viewport Shading is set to Material Preview compared with
the render. We will see later how to set this up properly but for the time
being you can improve the scene by adding a big square “light” behind
the camera with a vertical and horizontal bar in front of it. This will add
highlights and illumination as if from a window.
2. Now put a vertical and horizontal bar in front of the light. Add
an additional plane then scale, rotate and move it to form a bar
in front of the window. Finally copy, paste and rotate the bar to
make a cross.
The finished render (Figure 1-10) will probably take a few minutes
but when it’s finished you can save the image to your working folder
with Image4Save As
23
Figure 1-10 Final render
Conclusion
The main purpose of this chapter was for you to get used to
navigating the user interface. You saw that the default layout
workspace is divided into four editor areas each with its own special
features and functionality. As well as moving, rotating and scaling
objects and manipulating vertices you used two other methods for
creating new vertices in a mesh: subdivide and extrude. As the book
unfolds you will learn how to use the many other mesh editing tools
from the Toolbar and lots of ways to generate mesh real estate.
24
2
MODIFIERS
25
modifiers, bearing in mind that this chapter presents only
a tiny sample of that capability.
Modifiers (also called non-destructive modifiers) allow you to
apply a process or function to an object to produce the appearance of a
new object, but they leave the original object intact. In addition, you
can apply successive modifiers to the same object, each taking the
output of the previous one and modifying it further. In this chapter,
we'll start using modifiers to create three increasingly complex projects
so you can grasp their potential power. Files and videos for this chapter
are on get-into-blender.com 2.MODIFIERS
26
3. Select the larger cone, click the Modifier Properties tab on the
Properties Editor area (blue spanner icon) and Add
Modifier4Boolean (Figure 2-1). Keep the combination type as
Difference, select the smaller cone (Cone.001) as the object to
operate on.
4. To see what the resultant shape looks like, click the eye icon in
the Outliner Editor to toggle the visibility of the smaller cone.
8. Select the larger cone object and add another boolean modifier,
but change the type to Union with the torus object as the target.
You should be able to see that something is wrong here: because
the torus is being added after the cone has been hollowed out, it
27
protrudes inside the cup. To fix it, drag the boolean difference
modifier down below the union modifier using the area to the
right of the cross (it contains eight white dots; see Figure 2-3).
An option in the drop-down menu also allows you to change the
order of modifiers.
NOTE Watch out for the little downward pointing chevron indicating a
drop-down menu. In later chapters, when working with vertex
groups and shape keys, you will find crucial functions hidden
beneath a tiny button like this.
28
Figure 2-4 Join on the left, union modifier on the right
Join also doesn’t integrate the two meshes. In Figure 2-4 the faces
of the two cubes on the left pass through each other without forming
edges and vertices at the intersection.
Subdivision
Subdivision is the process of creating a smoother, higher polygon
mesh from a coarser one. When modeling with Blender, you should
always try to create simple meshes with as few vertices as possible that
generate smooth, detailed objects when a Subdivision modifier is
added. Easier said than done!
2. Add a second cube, scale it down slightly, then use the Boolean
modifier to add the smaller cuboid shape to the initial cube three
times, applying the modifier each time. Add the cubes on the
side facing the negative Y direction (so the description below is
29
easier to follow when I refer to X and Y; see Figure 2-5). Delete
the smaller cube when you have finished adding it.
Bevel
Bevel adds additional faces along edges to make them chamfered
or rounded. Obviously this is useful when an object's design requires
beveled edges, however, the modifier is often used to add definition to
edges that separate fairly flat surfaces, which turns out to be difficult to
do well in 3D modeling.
30
Mirror
The Mirror modifier is another way to create more vertices quickly
by duplicating a mesh across planes of symmetry. If you are making an
object that will be symmetrical, it is much better to make only a half or
a quarter of it and then mirror it.
7. Select then delete the face with these four vertices at its corners.
When you press DELETE, you will get an additional menu to
clarify which combination of faces, edges, and vertices you
want to delete (in this case delete only the face, leaving the
vertices and edges intact). If you use the RMB menu delete
option, the choice will be more specific depending whether you
are working with vertex, edge, or face select.
31
Experiment with Other Modifiers
Try adding a few other modifiers to the stack. Most will have no
visible effect because they need other components for them to work;
however, the following exercise should yield interesting results. For
each modifier, move it up the stack to see how the final result changes.
32
you add it! Use the buttons in the Timeline Editor at the bottom
of the window (Figure 2-8) to play the animation, which will
create the object one face at a time.
15. In the Object Data Properties tab (the icon is three tiny green
squares connected in a triangle, third from the bottom in Figure
2-5), open Normals and tick the Auto Smooth checkbox. For
many purposes this option will do the trick, but it leaves
perfectly sharp edges that never exist in the real world. In later
chapters, you'll use alternative methods that lead to greater
realism.
33
Constructing a Complex Scene Using Modifiers
You will make the terrain and some habitat domes, but your first
job will be to create simple manikins to populate them.
34
Figure 2-10 The completed manikin
1. Clear the scene and start a new one. Select the default cube, and
then in Edit mode, delete seven of the vertices.
35
a hip and leg. You'll apply a mirror modifier, so you need to do
only one side. Although Blender can mirror in all three
directions, the default direction is –X to +X, so extruding
sideways in the X direction will make your life easier later on.
4. Return to Edit mode and select all the vertices (toggle XRay to
be able to see them through the skin), then select
Mesh4Transform4Skin Resize to make it a reasonable
diameter. Selecting a few vertices at a time, adjust with Skin
Resize to form head, shoulders, knees, and toes (you will find it
much more convenient to use the shortcut CTRL-A at this
stage). When the manikin looks reasonably proportioned, move
it out of the way for later.
36
editing influence and move the pixel down to create the crater.
Remember to turn proportional editing off again.
Extruding a Cylinder
The habitat is made from geometric shapes “sunk” into the terrain
to form domes with an arched corridor linking them. The lower domes
have been glazed and pressurized with air but the top dome and
corridor are still under construction.
3. Switch to Edit mode with face select enabled, select the end of
the cylinder, and extrude it into a series of short sections
following the slope of the hill (Figure 2-12).
4. “Steer” the corridor by rotating and moving the end face when
viewing from above and follow the contours of the hill by
viewing from the side.
37
Combining a Collection of Objects
For the lower domes, you'll start by using a Boolean modifier to
join together four cubes, but rather than re-using a single extra cube,
you'll move the four cubes into a Collection and combine them in one
step. Sometimes assembling more than two objects at once is useful,
and this is a flexible way of doing that.
1. Add four cubes near the lower end of the corridor, scaling and
moving each one so they overlap each other corner to corner.
Select all four cubes then select Object4Collection4Move to
Collection4New Collection. Select just one of them (to
become the combined object), then Add Modifier4Boolean
(Union), and finally switch Operand Type to Collection and
select the one you just created (Figure 2-13).
38
The Wireframe Modifier
The Wireframe modifier works in a similar way to the skin
modifier you used for the manikin, but it's more suitable for surface
meshes. It converts the edges of objects into 3D “wires” and removes
the faces. The resulting object is a cage resembling the framework of a
glass-house prior to any glass being fitted..
3. Select the upper domes, then the Material Properties tab, then +
New to add a material, increasing metallic value and reducing
roughness.
4. To check what this material will look like in the final render,
change the Render Engine from Eevee to Cycles in the Render
Properties tab (white back-of-camera icon).
5. Change the light from a point source to a “Sun.” Select the light
object either in the 3D Viewport or the Outliner Editor area. The
default light is named “Light” and its type is Point, so click the
Object Data Properties tab (the green lightbulb in Figure 2-14).
Under Light, select Sun and change the power to 4.0 W/m^2.
Rotate the direction of the sun to be more horizontal using R in
the 3D Viewport.
6. With the viewport shading set to render, select the upper domes
object, tweak the material settings, and see the result.
39
7. Select the terrain, add a material, and change its Base Color to
a suitably Martian orange.
1. Select then move the manikin you created earlier down to stand
on the terrain in the lower domes
40
USE MEANINGFUL NAMES
1. Select the lower domes object, then the Modifiers tab, and look
down at the options on the Wireframe modifier you added
previously (Figure 2-15). One checkbox defaults to Replace
Original object when the wireframe is created, so un-check that.
Another option, Material Offset, allows one material to be used
for the wireframe and a different one for the original object.
This enables you to set a volume shader to give the effect of
light scattering from an atmosphere but still keep the frame as a
solid surface, so set this to 1.
41
Figure 2-15 Wireframe modifier
Figure 2-16 Change Material Surface shader to None and the Volume shader to Scatter.
42
Adjust the color and density of the atmosphere material in the
Material properties tab, and if you need to further refine the frame's
Base Color, Metallic, Roughness, or other inputs, select the material in
the second slot to adjust those settings. To speed up the process of fine-
tuning the shader settings, you can define a small render region.
When working with materials, keep in mind that objects have a list
of “slots,” each capable of holding a material, but the materials
themselves are held centrally so multiple objects can use them. The
pool of available materials is accessed from the little drop-down below
the list of slots (Figure 2-16). In the next chapter, you will see how
different materials can be applied to different groups of vertices or
faces.
43
Conclusion
You now should have an inkling of how useful modifiers can be.
You should know where to find them and understand what at least a
few of them can do. In the remaining chapters of this book, you'll use
modifiers to do a host of jobs, and it’s no exaggeration to say that their
mastery is crucial to becoming a competent Blender user.
In the next chapter, you will use some Blender objects that are not
meshes. Instead of being constructed from vertices, edges, and faces,
you will use curves and surfaces that have been defined by curves.
44
3
NON-MESH OBJECTS
45
In this chapter you will add curves and text to your repertoire and
find alternative, better, ways to create some of the objects you worked
on in the first two chapters
Curves
46
Figure 3-1 Editing Curves
2. If you zoom in, you will begin to see that the curve is
constructed from straight edges which would seem to contradict
my earlier explanation. However in Blender, rather than the
resolution changing automatically with the view, it can be
adjusted to suit the needs of the user. See how it changes as you
increase and decrease the Resolution in the Object Data
Properties tab. When you subsequently convert a curve into a
mesh this value will control how many vertices are generated
between the control points.
Control Points
47
Beveling Curves
You will need two curves to define the ring. One for the axis of the
shape, which will be a simple circular curve, and one for the profile, or
section, to be extruded around the circle.
1. Start a new file and add two curves to define the ring. Select
File4New4General (there is no need to save your work),
delete the default cube then select Add4Curve4Circle for the
ring and Add4Curve4Bezier for the profile.
2. Modify the profile curve to suit your ring design. With the
Bézier curve selected switch to Edit mode and set the view to
orthographic from above, the Z direction. Now create an
interesting profile for the ring. I decided that it would be a token
of love given to a steam engine enthusiast so I made it in the
shape of train track but you can choose anything you like,
presumably the inside should be smooth against the wearer’s
finger. Use E to extrude the end control point then G, R and S to
48
form the shape. My rail section is visible in the center of
Figure 3-3.
3. In order to make the ring solid you need to join the ends up
using Curve4Toggle Cyclic. When you are happy with the
profile, still in Edit mode, position and rotate the curve so the
outside half of the profile is to the left of the Y axis and the
inside half to the right, as in Figure 3-3.
Figure 3-3 Profile along the length of a Curve using an Object for the Bevel
Making 3D Text
6. You can make the text bend round a curve using a modifier.
Back in Object mode open the Modifier Properties tab and Add
Modifier4Curve choosing the Bézier circle as the Object.
7. Now give the text some depth. In the Object Data Properties tab
(green “a” icon) under Geometry, increase the extrude amount.
49
8. In order to orientate the text correctly open the Object
Properties tab (yellow square, just above the wrench) and set X
rotation to 90 and Z rotation to 180 and tweak the Z and Y
Location and the Scale so that the text protrudes on the outside
but not on the inside.
The problem of ugly lines running across faces that should be flat,
or very gently curved, is a perennial issue with 3D modeling, especially
with hard surfaces such as needed for modeling machinery, furniture or
jewelry. The general solution is to add extra vertices next to sharp
edges to confine the effect of the curving surface normals to the part of
the mesh near the edge, often by adding a bevel.
50
NORMSLS
The normal represents the direction that the surface is facing at any any given
point which effects shadows and reflections. When Shading Flat is selected then the
normal direction is the same for the whole of each face and there is a sharp change
at the edge. Shading Smooth, on the other hand, makes the normal change gradually
across each face so that there is no sudden change at the edge.
One thing to note here is that when you extrude a 2D curve then
convert it into a mesh, as you just did with the text, Blender creates
separate meshes for the front, back and sides. The benefit of this is that
it solves the problem of the normals softening the edges when using
smooth shading but, as I mentioned in the last chapter, it produces
unrealistic looking sharp edges.
11. In order to see the effect of the following changes, set shading
to smooth. In Object mode select Object4Shading Smooth.
13. Back in Object mode add a Bevel Modifier and increase the
Segments to 3. Figure 3-5 shows the three stages moving from
split edges to continuous mesh to a beveled edge.
As it stands the text and ring are not joined together which makes
it inconvenient to move and rotate them in the scene. But there is a
problem; in order to join them as you did with the ring and the mount
in Chapter 1, or to use a boolean modifier as you did in Chapter 2, you
would have to convert the Bézier circle into a mesh.
51
Parenting Objects
The method you will use here to effectively combine the two
objects is to make the Bézier circle into the parent of the Text object.
14. Select both objects, but in the right order. In Object mode select
the text then select the Bézier circle as well using SHIFT-LMB.
The order of selection is important here: the Text should be
highlighted in a slightly more orange color than the Bézier
circle object.
16. Add a gold material following the same steps you used in
Chapter 1. Because the ring and the text are two different
objects you will have to specify the material for both of them
but as you can select the same material for multiple objects you
only need to set up the material properties once.
To construct the mask you will make a mold in the rough shape of
a face then draw Bézier curves onto the surface.
1. Create the mold object. Move the ring to one side for the
moment and select Add4Mesh4Ico Sphere, scale it into a
flat oval shape then, in Edit mode, move vertices to form a ridge
for the nose, brow and lips and indents for the eyes. It only
needs to be very approximate.
2. Add a new curve object and set it up ready for drawing wires.
Create a new Bézier curve object with Add4Cuéérve4Bezier
52
Curve and in the Object Data Properties tab under Geometry
and Bevel (the right hand part of Figure 3-6) select Round for
the Bevel geometry with Depth set to 0.4 and Fill Caps on.
3. Each time you draw will create a new length of wire so you
don’t need the original three control points and can delete them.
Switch to Edit mode, delete all the existing vertices then select
the Draw tool from the Toolbar. To make the lines draw onto the
surface of the icosphere you need to open the Sidebar and in the
Tool tab set the Depth to Surface. Draw by LMB and dragging
the mouse as in Figure 3-6.
53
5. To change the thickness of several wires you need to select one
control point on each wire you want to change then expand the
selection to all the control points on each wire by pressing
CTRL-PLUS several times, or better, Select4Select Linked .
This process is sufficiently repetitive that you will quickly start
using the shortcuts CTRL-L for selecting and ALT-S for scaling
the radius.
NOTE On occasion there can be too many buttons and options to fit into
the header, for instance if you move the divider of the 3D Viewport
to the right, or when using Sculpting mode or Texture Paint mode.
When this happens hold the mouse pointer over the header and
scroll using the mouse wheel.
7. Set the Material to the same gold you used for the ring.
Environment Lighting
The final touch, which you can also see in Figure 3-2 is to use an
Environment Texture for the background and set this to provide the
illumination and reflections for the scene. As a rule, using the
background texture as illumination gives a much more realistic effect
than even complicated lighting arrangements, and it’s easy to set up.
54
10. Now you need to use the Open button to find a suitable image
file. If you are on Windows and used the installer then browse
to C:\Program Files\Blender Foundation\Blender 3.03\,
otherwise to the location where you unzipped the Blender
download. Inside that folder browse further to
3.03/datafiles/studiolights/world/interior.exr where the first
directory will the same as the version of Blender that you
downloaded, in this example 3.03. There are a few textures
included with Blender but you will be able to find many online
by searching for “HDRI environment”. Software is also
available that will allow you to create a bespoke background by
stitching together your own photos.
The simplest way to get the full effect of the the shadows and
reflections is to use Cycles rendering but you will probably find that,
even with denoising switched on, you need to increase the Sampling in
the Render Properties tab to get rid of the “fireflies”. When you are
happy with the overall effect, render the scene and save the blend file.
Surfaces
1. First of all add a profile curve to use as the bevel object. Save
your last work and start a new blend, delete the default cube and
add a Bézier curve, renaming it “rib”.
2. Shape the rib so it looks like half of a boat section, one end
needs to be exactly on the origin. Switch to Edit mode and view
in orthographic mode looking from the Z direction. Move one
55
control point to the origin with X and Y both zero using grid
snap absolute. Remember you can use CTRL while moving to
do this very easily when you need to position a single vertex to
a grid point.
3. Move the other point so it is above and left of the origin then
rotate and scale the points so the line forms a smooth curve. You
can see the rib curve at the top left of Figure 3-8.
5. With the keel selected, in the Object Data Properties tab, set the
Bevel to use the rib object.
6. Now you need to modify the size and rotation of the bevel to
make it look like a boat. In Edit mode select all the control
points and Segments4Subdivide so you have four or five in
total. Try to tweak each point to form a boat shape by adjusting
the Radius, Tilt, Z position, X rotation and Scale.
Figure 3-8 shows my attempt. You will probably find that this
method, though good for some shapes, doesn’t provide the flexibility
required for a boat’s hull.
56
Don’t struggle on for long, the next method will give you more
flexibility to design surfaces of this type.
Nurbs Surface
For the second attempt at forming a boat hull you will use a nurbs
surface. This can be very powerful, but getting the shape you want
takes a bit of practice.
1. Delete the rib and keel objects then add a nurbs surface with
Add4Surface4Nurbs Surface. Switch to Edit mode and you
will see a relatively small surface suspended inside a frame of
sixteen points.
2. It will be easier to construct a shape for half the hull (you will
add a mirror modifier) if you make the surface reach right to the
outer control points. Open the Object Data Properties tab (green
surface icon near the bottom of Figure 3-9) and under Active
Spline tick the Endpoint U and V options.
3. Now move all the points to one side of the origin by selecting
all the points and moving them to position one edge of the
surface along the X = 0 plane. Move them approximately first,
then select just the points on the mirror plane and set their X
value using grid snap absolute then move along the Y axis while
pressing CTRL.
4. It’s a good idea to add the mirror modifier now before you start
moving the control points so can see the finished shape as you
work.
57
Figure 3-9 Boat shape using Nurbs Surface
7. To form the cabin structure, in Edit mode select the edge loop at
the inside edge of the side-decks using SHIFT-ALT-LMB. In
orthographic view with X-Ray on deselect the rear half of the
vertices by pressing CTRL while box selecting them. Extrude
upwards, scale inwards and rotate slightly about the X axis. You
can see in Figure 3-12 the proportions I used.
8. Create a new face for the cabin roof by selecting all the vertices
that define the edges (which should already be selected after the
previous step) then select Vertex4New Edge/Face from
Vertices. This is such a common action that you will almost
always use the shortcut F. This will create a single face which is
often fine, you will look more closely at the different tools for
building mesh topology in Chapter 7 but for the moment keep it
simple – the boat will be too far away to see much detail in the
final render.
58
Bridging Edge Loops
For the mast and sail you will convert a series of Bézier curves to
meshes then join them using Bridge Edge Loops. At this point you can
probably see that it would be very efficient and easy to make a curved
and tapering mast from a Bézier curve with a round bevel and a
realistic sail from a nurbs surface. However the technique of bridging a
series of edges can be useful in many different places, in fact it would
have allowed a method of construction similar to the “lofting”
drawings of sailing boat hulls that you found online. You could have
constructed a series of ribs, each with a different shape but the same
number of vertices, with equal spacing between each rib, then built a
surface joining them all together.
10. In Object mode add a new Bézier curve and rename it “sail”.
11. One end of the sail curve will become the section of the mast.
Use the orthographic view from the Z direction and switch to
Edit mode then extrude the end control point twice so you can
form the mast.
12. Change the control point where the sail meets the mast so the
curve can bend sharply using Control Points4Set Handle
Type4Free as shown in the detail of Figure 3-10.
13. Duplicate the curve twice, and move the copies up to the mid-
point and the top of the sail. Scale, rotate and flatten the sail
profile appropriately: the top of the sail will be narrower, flatter,
and twisted more relative to the bottom. You will need to keep
swapping the view between the Z and Y direction as you do
this.
Figure 3-10 Sharp bend between sail and mast using Free Handle type
59
14. The curves need to be converted into three one dimensional
meshes, essentially edge loops, before they can be bridged to
form a surface. In Object mode run Object4Convert4Mesh
then back in Edit mode select all the vertices then use
Edge4Bridge Edge Loops.
15. In the Adjust Last Operation pane you can increase the Number
of Cuts so the generated surface is a bit smoother.
16. Finally scale and rotate the sail then position it on the boat,
setting the boat as the parent of the sail as you did for the text
on the ring earlier in this chapter.
17. With the boat selected switch to Edit mode and select just the
vertices for the side-decks - this is a good instance where
selecting Edge Loops would be very quick and efficient.
60
19. Adjust the Base Color, Roughness and other shader parameters
to suit the scrubbed teak look of the deck Material.
22. Go through the same process to allocate Materials for the sail
and mast.
Ocean Modifier
2. Add a Material for the ocean, change the Base Color to a dark
blue-green, reduce the roughness and increase the Transmission
to 1.0
3. Check the view from the Camera and move the ocean so no
edges are visible. Pose the boat so it looks suitably dynamic and
rests on the surface. Alternating rotation using R and RR is a
useful technique for this.
61
Rendering with Eevee
Because the scene lacks a lot of detail such as rigging on the boat
or surface foam on the sea, this is a good example to try using the
Eevee render engine, which is less photo-realistic but much faster. You
can also add some atmosphere using environment lighting, haze and
camera depth of field.
5. To add a slight haze as the waves recede into the distance, while
you have the World Properties tab open, set a Volume Shader to
Volume Scatter with Density at 0.02.
62
Using Eevee can often produce good results with only a slight
reduction of realism and taking a fraction of the time of a Cycles
render. For some projects, such as animations, that’s exactly what’s
wanted. There are several other optional features to improve render
quality: Screen Space Reflection, Ambient Occlusion and Bloom can
be turned on in the Render Properties tab.
Try opening the blend file for the ring and mask that you saved
earlier and change the render engine to Eevee, then experiment with the
optional features in Render Properties to see which ones make a
difference and how near you can get to the Cycles result.
Conclusion
When you converted the lettering to a mesh you saw some of the
problems that can arise when trying to make large smooth surfaces with
realistic edges and you used some of the techniques available in
Blender to improve them.
Finally, when you added the Ocean Modifier to the plane you will
have noticed that there are still a lot more Modifiers I haven’t
mentioned yet. In the next chapter you will use two of these, the Array
and the Curve Modifiers, to great effect. You will also encounter
“empty” objects and, for the first time, use photographic images to
texture the surfaces of the models you construct.
63
4
A R R AY S , M AT E R I A L S A N D
TEXTURES
64
skipped over the first one in the list; Array. The reason for delaying its
introduction till now isn’t because the array modifier is less useful than
the others, but there are some subtleties to its use that deserve more
explanation.
65
discontinuity at the joins. Of course you could just take your own photo
and make it seamless with almost any image editing software. Save the
image file in the folder system where you intend to store the blend file
for this chapter’s exercise.
8. Start Blender, leave the default Cube selected and change the
workspace to Shading using the tab right at the top of Figure 4-
2.
66
them to the Base Color and Normal of the default Principled BSDF
Shader as I have in Figure 4-2
11. The brightness of the of the texture will be a stand-in for the
height of the bumps, this can be extracted using a different
node. Use Add4Converter4Separate HSV and connect the
Color output of the image texture node to the input.
67
The Mix Shader
13. Once you’re happy with the basic rust, add another Principled
BSDF Shader which will become the non-rusted part of the
material. Also add a Mix Shader to combine them.
If you add the mix shader first you can “drop” it onto the pipe
connecting your existing shader to the Material Output node, and this
will automatically rearrange the nodes for you. Make sure, when you
add the second Principled BSDF Shader that you land in a space not
overlapping any existing pipes, then connect its output to the first input
of the Mix Shader. You will see that the connection from the first
Shader automatically swaps over to the second input. The three shaders
are the nodes with green tops on the right of Figure 4-3
14. On the mix shader slide the Fac to 0.0 you should see a plain
white cube and when you slide to 1.0 it should be fully rusty. If
you see the opposite to this, drag the dots on the ends of the
input pipes to the Mix Shader to swap them as described above
Figure 4-3 shows the full layout of the nodes so you could use that
to position elements as you add them to save constantly moving things
round. But I advise you to add the components one by one, following
the steps below, so you see the effect of each - and the potential pitfalls.
Pointiness
15. You are going to control the mixing factor using the sharpness
of edges, which can be obtained from the geometry node. Select
Add4Input4Geometry then connect the Pointiness output to
the Base Color of the plain white Principled BSDF Shader and
set the mix Fac to 0.0.
You’re using the pointiness as the base color just to check what’s
going on - when you get the worn edge effect showing in black and
white you can connect the output to the Fac input of the Mix Shader. At
this stage there will be no visible edge effect for three reasons.
68
Figure 4-3 Full node tree for the rusty_fridge Material
The first is that the pointiness scale goes from 0.0 for a vertex that
is at the bottom of an acute hole to 1.0 for a vertex on the tip of a pin
point. For a vertex on a flat area the pointiness is 0.5 but for normal
edges and creases the pointiness will be very close to 0.5. So you need
to magnify the scale in the region around 0.5 and this is one of the uses
of the very versatile color ramp node.
16. You need to add a color ramp node then move the stops so that
all of the variation in output take place over a narrow band of
input near to 0.5. You want the output to be maximum either
side and only drop to 0.0 where the vertices are flat. Select
Add4Converter4ColorRamp and drop the node onto the
pipe coming out of the Geometry node, use the + button to add
a third stop then slide the stops so one is on 0.5 and the others
are on either side, then change the colors using the color picker
at the bottom of the node so the sequence is white, black, white,
as you can just about make out in Figure 4-3.
This still won’t solve the problem because of the second reason; all
eight vertices on a cube have the same sharpness.
69
Frustratingly you still won’t see the desired effect for the third
reason: the Geometry node Pointiness is only available when using the
Cycles render engine.
18. In the Render Properties tab set the Render Engine to Cycles
and, at the top of the 3D Viewport, set the Viewport Shading to
Rendered. At last you should be able to see black sides and
white edges and corners.
19. At last you can connect the output of the color ramp node to the
Fac input of the Mix Shader.
20. To complete the Material you need to add some noise and
sharpen the cut-off between the original finish and the rusty
areas. Use Add4Converter4Math and drop the node onto
the pipe from the color ramp to the Mix Shader, it will default to
Add mode.
22. A color ramp can again be used here to control the division
between rust and smooth surface. Select
Add4Converter4ColorRamp, drop the node onto the pipe
between the Add node and the Mix Shader then adjust the
sliders. The nearer together they are, the sharper the change
from white to rust and their position between black and white
will determine the amount of rust.
23. Change the parameters in the Noise Texture until you are happy
with the result, but you will probably need to make further
tweaks after the cube has been converted into a refrigerator.
With the material sorted out you can now move on to modeling the
refrigerator. The first modification will be lines of studs and
indentations on the refrigerator door, for which you will use an array
modifier.
70
Array with Linear Offset
2. You will use an array of cylinders to make the indents and studs
but, as they will be small, you should reduce the resolution from
the default 32. Select Add4Mesh4Cylinder then, in the
Adjust Last Operation pane, reduce the number of Vertices to
12, the Radius to 0.01m and the depth to 0.02m.
3. At this point the cylinder will be inside the cube so now would
be a good time to rename “Cube” to “fridge0” in the Outliner
Editor and, for the moment, click on the little eye icon to hide it.
71
boolean modifier with type Union. Delete the cylinder object
after applying it for the last time.
Figure 4-4 shows how I arranged the indents and studs but
obviously you can use your artistic sensibilities to create whatever
pattern you like the look of: lines of rivets round all the panels or, if
you had reduced the number of vertices in the cylinder to 6 instead of
12, you could have made an even more steam-punk refrigerator with
lines of bolts.
10. To make the groove running round the object to represent the
door seam use the Loop Cut tool in Edit mode. The way this
tool works is that it forms a highlighted edge loop at right
angles to whichever edge is nearest to the cursor. When you
hold down LMB you can slide the position of the edge loop
until you release LMB which fixes it. Position the new edge
loop a small distance from the first loop in from the front face
as shown in Figure 4-4.
11. You need three edge loops near to each other running around
the refrigerator so add one more using the Loop Cut tool just
next to the other two.
12. To form a notch running round the door, select the central edge
loop using SHIFT-ALT-LMB then scale it down a little bit.
72
13. To form the main straight section, in Object mode select
Add4Mesh4Cylinder then scale and move it so it is a small
distance from the back.
15. To make the silencer and final tube section extrude and scale the
top surface of the cylinder a number of times.
16. In Object mode create a new Material for the exhaust stack and
rename it “chrome”, setting Metallic to 1.0 and Roughness to
0.0.
You need to use smooth shading for the exhaust stack to make it
look cylindrical but when you do that you will see that the edges at
either end of the silencer become indistinct and unrealistic. This is the
same problem that happened with the Text object in the last chapter
which you solved by simply adding a Bevel Modifier. However,
because you will produce arrays in different ways using this
refrigerator prototype, you cannot Parent the exhaust stack to the
refrigerator, you must Join them together into a single object.
17. In Edit mode, select the four edge loops at either end of the
silencer and bevel them using Edge4Bevel followed by LMB
then in the Adjust Last Operation pane set Offset to 0.05m and
Segments to 2.
18. If you now Join the exhaust stack and refrigerator into a single
object, the materials assigned to different vertices will be
73
preserved. In Object mode select first the exhaust stack, then the
fridge0 object and use Object4Join.
19. Save the prototype refrigerator as a blend file for a later chapter
when we will return to the topic of smooth shading, flat faces
and beveled edges.
Circular Array
For the first tier of the henge, you will use the third mechanism for
Offset positioning with the Array Modifier; Object Offset.
Empty Objects
Although they sound slightly mysterious, empty objects are simply
a convenient way to hold information about location, rotation and
scale, for positioning other elements in the scene say, without the need
for an actual object.
2. You will see that this offset mode requires another object for
reference, so add an empty object to use to define the relative
offset. With the cursor over the 3D Viewport, select
Add4Empty4Arrows. As you can see there are a variety of
appearances for empty objects, they all do the same thing but
some shapes will make their use clearer later.
3. Now set the array offset object. Re-select the fridge0 object and
in the Object field select the empty object. You should see
something odd but to make it a bit clearer increase the Count to
8 and move the empty object a small distance in the Y direction
(see Figure 4-5)
74
Figure 4-5 Object Offset scaling issue
The reason this happened is because the Object Offset array uses
the difference between the Object properties of the fridge0 and the
empty. If you want the array to stay the same size you need to return
the scale of the fridge0 object to 1.0
6. Now try selecting and rotating the refrigerator so the door faces
a different direction.
Because the Offset is based on the differences between the
rotations and positions of the two objects, the whole circle will change
as soon as you rotate the refrigerator!
75
Arrays Along Curves
Now you will make a linear array of refrigerators then bend them
using a Bézier curve, but first, create three copies of the prototype
refrigerator to use for each of the higher tiers.
1. Duplicate the fridge0 object and move the copy up so it’s clear
of the first circular array.
3. For the second tier add a Bézier curve object which the array of
refrigerators will follow.
4. To make the curve form about one and a half full turns, at a
similar diameter to the first tier circle, switch to Edit mode then
extrude one more control point. Move, scale and rotate each
point using different orthographic views. It won’t be possible to
make a very regular circle with only a few control points but it
doesn’t matter too much so long as the length of curve between
each point is about the same.
76
8. To get the array to start and end on the curve adjust the Z
location of the refrigerator object in the Object Properties tab
and the Z spacing and Count in the array modifier.
Instancing Objects
You will accomplish the third tier of the sculpture using instancing.
The method used here creates instances at each vertex of a parent
object.
2. Scale the circle up and move it above the second tier. Move the
third refrigerator approximately to its center.
4. Select the circle object then in the Object Properties tab (orange
square icon) under Instancing select Vertices and tick Align to
Vertices.
5. Move and rotate the circle object to rest the five refrigerators on
top of the second tier.
6. Rotate all the outside instances by selecting the central one and
rotating that about the Z axis. Note that, as with the array
modifiers, you will have issues if you rotate the object rather
than rotating the vertices while in Edit mode. The original,
77
central refrigerator will be visible in the 3D Viewport but will
not show in the render.
Spinning Vertices
For the top tier of the sculpture you will utilize the Spin Tool in
Edit mode. On occasion this is a very convenient shortcut but it is less
flexible than the non-destructive array or instance methods you just
used. The result will be a single mesh so any tweaks you might need
later will have to be repeated on each of the refrigerators.
There are two different ways that the Spin Tool operates. If the
selected vertices form a mesh with no unconnected edges (you will see
this referred to as a manifold), it will create duplicate meshes at
intervals around a given angle. If there are unconnected edges it will
extrude the edges in a number of steps around a circumference.
78
Figure 4-6 Spinning a ring from a mesh
4. To get the refrigerators orientated the way you want change the
Center X and Y values.
The setting for your sculpture will be a grassy mound with early
morning mist against a suitably rural background using an Environment
Texture. The grass will be scattered over the mound using a particle
system.
79
NOTE From Blender version 3, the standard way to scatter instances of
one object over another surface is Geometry Nodes which will be
covered in Chapter 14. However old versions of Blender can get
the same effect using particles.
Collections
Before you start adding the components, this would be a good
opportunity to introduce collections as an excellent way to tidy up your
project and help your workflow.
For the exercise of this chapter you will simply use collections to
tidy up your workflow.
3. Drag and drop each of the refrigerator related objects into the
fridges collection. The five sided Circle, the empty and the
BezierCurve all belong inside, leaving only the Light and the
Camera where they are.
80
the sculpture in a pleasing way. You can see in Figure 4-1 that I
changed Resolution X in the Output Properties tab (printer icon) so that
I rendered a square image. That resulted in only a small amount of hill
being visible in the final render – there’s no point adding polygons to
the scene if they will never be seen.
5. Rename the plane to “hill” then scale and subdivide it and form
a mound in the middle by moving a vertex upward with
Proportional Editing on.
The mound will be covered with grass so it doesn’t need to be very
high resolution or carefully crafted.
Before you add the Particle system to the hill object you need to
make a tuft to be scattered over the surface.
8. When it looks OK select all the vertices and duplicate the blade.
When the tuft is duplicated by the particle instance the Y
direction will be vertically upwards so you need to rotate it
around the Y axis so the tuft is later visible from all directions.
Scale and move the duplicate to form a second blade.
9. Repeat six or seven times until you have a little tuft, as shown
in Figure 4-7. You will need to move some blades up and down
in the Z direction too to spread them out in two dimensions.
81
Figure 4-7 The Tuft object
10. To add a particle system to the hill switch back to Object mode,
select the hill object and open the Particle Properties tab (the
icon is a blue dot connected to three other blue dots). Choose
Add Particle System by clicking on the + button.
12. The default particle is a glowing dot, so, to change that to tufts
of grass, you need to open the Render section then change
Render As from Halo to Object, make the Scale 1.0 and the
Scale Randomness 0.5. In the Object section below select the
tuft as the Instance Object.
13. You can generate more tufts by adding children. Open the
Children section and select Simple and increase the Radius
value to around 0.8 or until the Children objects spread
naturally into the spaces on the hill.
82
16. In Edit mode extend one of the blades so it is significantly taller
than the others.
17. Back in Object mode select the hill object again and add an
additional Particle System, renaming the two System slots and
associated Settings with an appropriate “tufts” or “stalks” name.
Note that the Particle System works a little like the Materials
setup, there are slots each of which can hold a Setting item, and
different objects can share the same settings.
18. With the stalks System selected go through the settings and
change the Render, Children and Rotation as you did for the
tufts but using the stalks as the Instance Object.
21. Add three Materials, one to the hill and one to each of the grass
objects, with different shades of green and brown. If the hill
becomes invisible once you add the particle systems to it then
you need to tick the checkbox Show Emitter in the Viewport
Display section of the Particle Properties tab.
22. Use the Render Region option in the Output Properties tab to
check the overall effect when rendered using Cycles. Adjust the
colors and Particle System settings until you get good looking
grass.
Background
In the World Properties tab choose a suitable outdoor Environment
Texture to use as the Color in the Surface section. I used the sunrise
image again and turned the Strength down to 0.2 but you can try
different options until you find something that shows off your sculpture
and grass to good effect.
83
shader in the World Properties, as you did in the last chapter, it is too
opaque, even on the lowest possible setting. The shader attenuates the
light coming from the environment texture into the scene rather than
the light being scattered from objects back to the camera, but the result
is the same; a black cat in a coal cellar!
Conclusion
84
experiment with all of them and gain a feeling for each one’s
idiosyncrasies.
In the next chapter you will learn to use brushes in Blender, for
sculpting 3D models but also for Texture Painting. This latter, along
with Vertex Painting, allows extra flexibility to be added to the
emission of objects by particle systems. You can paint areas to control
the Density and Size (as well as many other properties) of generated
particles. You could also have used the same method to paint the
corners and areas of the refrigerator where you wanted more wear and
rust to show through, which would have avoided some of the
restrictions caused by using the Geometry node Pointiness.
There is a lot to cover in the next chapter, but at the end I will
quickly revisit the Martian terrain as well as the rusty refrigerator
material to show you how they could be improved.
85
5
S C U L P T I N G A N D PA I N T I N G
86
the exercises in this chapter are at get-into-blender.com 5.SCULPTING
AND PAINTING.
Reusing assets from earlier work makes lots of sense and it’s very
easy to do in Blender.
3. To make the object stand at the origin, select the object (It will
probably be highlighted in red-orange showing that it is active,
rather than yellow-orange showing that it is selected) and, in the
Object Properties tab, change Location X and Y to 0.0 and
adjust Z so the bottom of the feet are on the ground.
In Chapter 2 I suggested using the X axis for the symmetry of your
figure, which is the default and makes life easier, but if the mirror
modifier on your figure uses the Y axis then you can fix that now by
rotating the object about the Z axis by -90°. If you did swap the axis of
symmetry from Y to X you will need to go into the Modifier Properties
tab and, under the mirror modifier change the Axis from Y to X.
87
Figure 5-1 Manikin Appended Prior to Applying Transforms
NOTE The difference between object position, rotation and scale, and the
resulting vertex locations is often a source of problems for people
getting to grips with Blender. Part of the trouble might be that the
origin of each object is an inconspicuous orange dot, similar in
appearance to a selected vertex. Also, most of the time it isn’t
important: The figure would look to be standing on the ground if
its origin was in its head which was positioned a distance above
the ground or under its feet and positioned on the ground.
Sometimes, such as when using the array modifier in the last
chapter, the positions of vertices relative to the origin of the object
is critical. When things don’t work the way you expect this area is
always a good place to check, and applying all the transformations
to the object often fixes it.
If you had applied a scale factor to the object in the blend file from
Chapter 2 then the proportions might be wrong but even if that’s not the
case, now is a good time to adjust the mesh size.
5. Switch to Edit mode and with the relevant vertices selected run
Mesh4Transform4Skin Resize
88
6. Move the mirror modifier to the top of the stack if it isn’t there
already and fix any gaps or overlaps in the skin. In my version I
could see that there were some overlapping skins caused by the
vertices on the spine and head not all having X value zero. You
can fix that by selecting the vertices and setting the X value to
0.0 or by increasing the tolerance of the Merge Distance in the
mirror modifier.
10. Select the hips vertex then click the Mark Root button in the
skin modifier.
11. Click Create Armature again and the extra bone will be
sticking out of the hips.
89
Sculpting the Main Features
It’s time to start creating a face. Begin by forming the eye line.
11. Mark a horizontal indent across the middle of the face using
CTRL Draw or Crease with a small brush size.
12. Enlarge two eye sockets just below the horizontal indent by
increasing the brush size and using CTRL Blob.
13. Shape the nose and brow using Clay Strips to build up or
scrape. Smooth from time to time as you go along with SHIFT
and whatever brush you are using at the time.
14. Rotate the view point as you work and use the Grab brush to
move the surface in and out where needed. Sometimes you can
use a large brush to move whole areas of the face such as the
chin but sometimes it is better to use a smaller brush size and
lower strength to move a series of points in small increments.
There are three different Grab brushes which behave in slightly
different ways, all are useful at times so try each of them.
15. Shape the outsides of the nostrils possibly using Draw Sharp or
Crease for where it meets the cheek.
At this point it is a good idea to add some eye balls. Although you
might be tempted to try sculpting them, it’s better to just use two UV
Spheres. This will allow you to rotate the eyes and move the eyelids
independently.
18. Move the sphere so it’s in the correct position in the right
socket.
94
The reason why you can’t now see two eyes is because the sphere
is being mirrored about its center point then the combined double
sphere is being moved to the right eye socket (re-read the NOTE earlier
in this chapter about object positions and vertex positions).
21. When the eyes look to be in the correct position select the
Person01 object again.
22. Switch back to Sculpt mode and start to build up the eyelids
using Clay Strips.
As you try to create a square edge to the lid (where the lashes
would grow, see Figure 5-3) you will find that it is hard to make the
corner clean, even using Stroke4Stroke Method4Curve, as the
faces are arranged in a jumble rather than neatly along the contours of
the shape you are sculpting.
This same problem will crop up with the lips and other areas and
the solution is the subject of Chapter 7, for the time being don’t worry
about these few rough edges.
95
23. In order to allow a smooth curve to form for the crease around
the ear, use a brush in smooth mode first to subdivide the large
faces.
24. Build up the area of the ear slightly using Clay Strips while
zoomed in to get a reasonable number of small faces.
25. To prevent the head around the ear being distorted, draw using
the Mask brush then, with the Grab brush, stretch the edge of
the ear out into, well, an ear shape, shown on the left of Figure
5-4.
The Mask can be fine tuned using options from the menu. As well
as clearing it when no longer needed you can invert, grow, shrink,
smooth, sharpen and alter contrast.
96
MASKING
An even better method is to use the Draw Face Sets brush to define areas you
want to keep separate. Each time you draw with the brush it produces a different
color and a new face set, if you want to spread an existing set press CTRL as you
start to draw. Once face sets are defined you can hide everything apart from the color
under the cursor by pressing H which allows very fast and efficient workflow.
However you cannot use face sets at the same time as dyntopo so, at th e stage of
the sculpting process where you need to subdivide faces, it is better to stick to Mask,
or hide vertices in Edit mode.
26. Sculpt the ear further with Clay Strips, adding and scraping
away and finally making an indentation for the ear hole with the
Draw or Blob brush. Have a look at a photograph of an actual
ear before you go too far with this.
27. To define the mouth, build up a flat dome using Clay Strips mid
way between the nose and chin, smooth it then add the upper
and lower lips, fattening then smoothing to achieve the correct
shape. For the sharp crease between the upper and lower lips
you will again improve your work flow using masking as you
did for the ears. Also don’t forget that switching to Edit mode
often allows you to make selections or move vertices in a more
precise way than in Sculpt mode.
28. Finally add the shape of the jaw, cheek and chin along with the
typical creases running from the edges of eyes, nose and mouth.
29. Make adjustments to the overall shape of the face using the
Grab brush with a large diameter.
When you’re happy with your sculpt save the blend file. As I
mentioned at the start, don’t expect to create a work of art, or even
anything very realistic. The sculpting process will have scrambled the
way the armature controls the mesh so this will need to corrected.
97
1. To check the damage, switch to Object mode, select the
Armature then enter Pose mode.
2. Select the head bone and rotate it and you will see a horrible
mess. Most of the vertices don’t move, including the eyes,
which we know are still a completely different object. That will
be the first thing to fix by joining the two objects.
3. Select all the bones and clear all the transforms for the pose.
4. Back to Object mode select the eyes and apply the mirror
modifier. Then with the eyes still selected SHIFT-LMB on the
Person01 object so both are selected, then Object4Join.
The Sphere object should have disappeared from the Outliner
Editor and if you go to Edit mode you will see that you can select
vertices of the eyes and skin at the same time, it’s all one object now.
7. In the Vertex Groups list select a few bones and watch how the
coloring changes in the 3D Viewport.
Blue means no effect and red means full effect. You will see that
limb bones are affecting both sides of the manikin, and most of the face
remains blue when the head bone is selected. There are menu options
available in Weight Paint mode to help fix this but it is actually much
easier to just re-parent the armature and skin objects. For all practical
purposes armature objects should be the parent of the mesh objects they
deform, that way you can move the armature around the scene and the
model will follow it. The skin modifier doesn’t automatically set the
generated armature as the parent of the skin mesh, so this is an
operation that has to be done anyway.
98
cured by merging vertices by distance, however you need to make sure
you only select vertices in the head mesh excluding the eyes, so they
don’t get accidentally fused together.
9. In Edit mode select one vertex on the body then expanded the
selection to the whole mesh but excluding the eyes
Select4Select Linked4Linked
11. Check that the armature now poses the Person01 object as
expected. Clear all the transforms from the pose when you’ve
finished.
One thing you might find when you use automatic weight
assigning, especially for complicated or unconnected bits of mesh such
as the eyes, is that large movements of the bones produce unwanted
distortions: vertices get “left behind”. Sometimes you can fix this in
Weight Paint but often it is hard to find which bone is having an
unwanted influence. A useful way to solve this problem is to use Edit
mode as shown in Figure 5-5
99
12. In Edit mode open the Sidebar on the right of the 3D Viewport
and select the Item tab
14. Select all the problem vertices then, in the Object Data
Properties tab under Vertex Groups (on the right of Figure 5-5)
select each bone and either Remove it using the button below or
change the Weight value and Assign it so that the Vertex
Weights match the correct vertex.
As you can see, using an armature to pose a sculpted mesh has
many problems, and a much better approach is to create a new, simpler,
mesh over the top of the sculpted mesh and parent the armature to that.
You will use this technique in Chapter 7 after reworking this Person01
mesh and in Chapter 12 when you learn more sophisticated rigging
techniques.
Texture Painting
There are two prerequisites for Texture Painting: The first job is to
generate the map that controls how the colors on the texture are
positioned on the 3D surface. This is referred to as a UV map and you
will look in more detail at this in Chapter 8. For now you will keep it
as simple as possible so these are the basic steps needed to set
everything up ready for painting..
100
2. The second prerequisite for Texture Painting is to have an image
texture available for painting onto. Select the Material
Properties tab in the Properties Editor, create a new material and
rename it to “person_base”. Change the Timeline Editor panel
at the bottom to Shader Editor, make it larger, then add a texture
node to the material with Add4Texture4Image Texture and
connect the Color output to the Base Color input of the shader.
6. Change the color of the paint either using the tool controls in
the header at the top of the editor, or in the Active Tool and
Workspace settings tab. Most of the options are duplicated in
the two places and many are the same as for sculpt brushes.
However, before Blender 4 it was possible to specify Material
or Single Image in the properties tab, but now this must be done
in the header, see the top of Figure 5-7.
7. Change the Falloff to the square edged profile and draw two
contrasting colors next to each other.
101
Sometimes it is still hard to paint different colors next to each with
a sharp edge between, though a higher resolution image would
obviously help. In those cases it can be useful to mask the mesh as you
did in sculpting.
Vertex Groups
In order to swap from one set of faces to another set, then back
again, for instance to paint eyes, hair, skin, shirt, pants and shoes it
would good to be able to save the selections for re-use. This is exactly
what vertex groups do, although their use extends far beyond; almost
all modifiers can use vertex groups and some, for instance the armature
modifier, depend on vertex groups entirely.
10. To add a new group, in the Object Data Properties tab, under
Vertex Groups click the + button on the right. Double click to
rename it from Group to shirt. With the shirt group selected,
Assign the selected vertices using the button below.
11. Repeat the above process to create groups for hair, eyes, pants,
shoes. Because the eyes are unconnected meshes you can select
a single face on each eye then click Select4Select
Linked4Linked
12. Finally use the Select button beneath the list of vertex groups to
cumulatively select the faces for all the groups, Select4Invert
102
then create a group for the skin. This is why you needed to
change to face select mode, if you had defined the vertex groups
in vertex select mode there would be gap when you inverted the
selection.
13. Switch between Edit and Texture Paint mode using the different
groups as masks, painting with a suitable color.
The result is probably rather uninspiring - everything looks like it’s
made from plastic! Adding a Texture to the brush might improve that:
14. In Texture Paint mode open the Active Tool and Workspace
setting tab and scroll down to Texture and add New. The texture
will be called “Texture” and will show as solid black which will
prevent the brush from adding any color.
16. Paint the shirt, pants and shoes using different textures and
colors.
17. Change the Texture to Type Wood with Pattern set to Band
Noise and paint the hair.
One thing you might find, when over-painting with a different
texture brush, is that the black color “blots out” the design that you
have already done, even if you turn the brush strength down with
SHIFT-F. Often you want the black part of the texture to be transparent,
in which case you need to:
18. In the Texture Properties tab, under Color, tick the check-box
against Color Ramp. The positions of the sliders can also be
used to make the pattern sharper or softer, as well as the color
and alpha value at each stop.
103
Displacement texture
Once you have some interesting base color textures drawn onto
your model it would be fun to add a displacement texture as well.
19. Switch the Active workspace preset back to Layout using the
menu at the top. In the Shader Editor at the bottom add a second
Image Texture node and create a new texture renaming it to
“person_displacement” with a black default color (back is 0.0
displacement, white is 1.0 displacement and, if the scale of the
object is small, even low values can look extreme). Connect the
Color output to the Displacement input of Material Output
node. You might get a better result, with finer control, if you
add a math multiplication node between the displacement
texture and the material output.
20. Change back to the Texture Paint preset using the menu at the
top then click on the texture selector in the header, visible at the
top of Figure 5-7. This should display the name of the new
image texture you just created but sometimes Blender doesn’t
refresh this straight away. Change the Mode from Material to
Single Image and make sure person_displacement is selected.
Draw with a fairly dark gray in the hair area.
21. Draw displacement onto the jacket area as well using the same
wood texture but with reduced turbulence. In Active Tool,
Texture settings you can adjust the angle and scale of the pattern
to create the effect of horizontal bands on a quilt.
If there are multiple textures involved with a .blend file, then you
need to tell Blender which one to paint over by either selecting it in the
Image Editor drop-down, clicking on the node in the material Shader
Editor or, much more reliably, specifying it in the Texture Paint header
When you draw the iris and pupil on the eyes you will find that
there is a shortage of pixels to give anything like a sharp edge, even if
you draw directly onto the 2D image texture in the area on the left. In
Chapter 8 you will see how to solve this problem by using different UV
unwrapping and a different material for highly detailed areas such as
eyes.
104
Pack your textures or save them
After you have finished creating the base color and displacement
textures for your character you would be forgiven for assuming that
they would be included in the blend file when you save it. However,
this is not the default behavior of Blender. You must either save
textures as image files or pack them into the blend, though, if you try to
exit the blend file, you will be warned and given an opportunity to save
any unsaved images.
22. The Save All Images button is now hidden inside the material
or texture selector in the header, visible at the top of Figure 5-7.
Click on that button now.
This is the most straightforward way to avoid losing painted
textures and the data is packed into the blend file. Frequently you need
to save a texture as a separate file, for instance if you want to use it in
different blend files later or edit it with an external application. To save
an image as a separate file:
23. In the Image Editor area select each image with the drop-down
then from the menu Image4Save
To pack textures, that were previously saved separately, into a
blend file:
NOTE At some stage you will find that an object in one of your scenes has
turned to a strange pink or purple color. This is a sign that there is
a missing image file referenced from a material in the blend file.
There are options under File4External Data to help find and link
missing image files, as well as options for packing and unpacking
images in different ways. In general, problems with external images
only become apparent with larger projects, blends imported from other
application and online resources or where images need to be processed
externally.
105
Improving the end result
There are many deficiencies with attempting to paint skin this way,
not least is the fact that photographic images are readily available and
can be incorporated into skin materials quite easily. However there are
two things you can do to improve things a little. Firstly, subsurface
scattering better represents the fact that skin is actually a rather
yellowish gray color but the blood underneath makes the overall effect
pink. However the default BSDF shader produces a rather “plastic”
look that needs to be toned down in many areas. Secondly, eyes are
highly reflective and need to have a much lower roughness than the rest
of the skin:
1. Change back to the Layout workspace using the tab at the top of
the screen. Set the Viewport Shading to Material Preview.
2. Select the Person01 object and open the Material Properties tab.
3. You can copy and paste one material to another using the tiny
drop-down menu button to the right of the material slots list,
just visible in Figure 5-6. However there is a quicker way, using
the button, just to the right of the current material name, with an
icon of two overlapping squares. First rename the material from
Material.001 (or whatever default name was created) to skin.
Figure 5-6 Copy the skin material settings to the eyes material
4. Add a new material slot using the + button to the right then
select the skin material from the drop-down below.
106
5. Click on the the little New Material button to the right of the
drop-down then rename the new material from skin.001 to eyes.
Both the skin and the eyes material now use the same texture
file you just painted, so you can add a subsurface color to the
skin one and increase the reflection for the eyes.
8. All the vertices not in the eyes already use the skin material so
you don’t need to assign those.
In reality the amount of subsurface scattering varies from lips to
cheeks to chin so this would be a good instance where it would be
useful to be able to paint a texture which can then used in a more
general way. This is the technique I referred to in the previous chapter
for controlling the worn areas of the refrigerator rather than relying on
the Geometry node pointiness. You can see the screen layout for the
following instructions in Figure 5-7.
9. Change back to the Texture Paint workspace using the tab at the
top of the window then swap the panel on the left from Image
Editor to Shader Editor.
11. Connect the Color output to the Subsurface Scale input of the
shader as shown in Figure 5-7.
107
Figure 5-7 Painting a subsurface map texture
108
Figure 5-8 Painting areas of wear
109
Figure 5-9 Improved Martial landscape
1. Open the blend file from Chapter 2. Create and rename the
boulder object then duplicate and scale it down as a pebble
object. Append the tuft object from the blend file for Chapter 4.
2. With the Terrain object selected switch to Edit mode, select all
the vertices then UV4Smart UV Project then switch back to
Object mode
110
5. Back in the Particle Properties tab, for each of the three system,
scroll down to the Texture section and create a texture for each
renaming them “pebbles_tex”, “boulders_tex” and “grass_tex”.
This is the non-obvious step as these textures are rather
different from textures you have encountered so far.
10. Draw onto the terrain where you want each of you particle
systems to appear. In the Texture Paint header you need to
change which texture is selected to ensure that you are painting;
pebbles, boulders and grass. Occasionally I find that I have to
switch to and from Object mode to refresh the relevant particle
system.
Conclusion
111
edges of different materials and in order to allow the mesh to be
deformed when it is rigged.
112
6
I M P O R T, E X P O R T A N D A D D - O N S
113
Blender is used by many game creators to make 3D assets as well
as by artists as a render engine for models made with other 3D
modeling software. As a result there are many built-in import and
export functions, and when they're missing there's a good chance
someone has written an add-on that can help.
In this chapter you will enable some add-ons that are already built
into Blender waiting to be used. In addition you will download and
install some add-ons as well as some 3D models in various formats.
OBJ Files
The first format to try is Wavefront .obj which is an older
specification and holds only information about the mesh and associated
materials, so no armatures for rigging characters and no animations.
For this exercise you can search for “download free 3d obj angel” and
you should get many results. I will use the model in Chapter 12 on
rigging and animation so it would be ideal if you download the same
one as shown in Figure 6-2. It seems to be available on free3d.com and
114
open3dmodel.com, probably more, but any character model with arms
and fingers, described as low or medium poly and in .obj format would
do. The majority of websites offering free downloads require you to
register but many do not. Links to the files and videos for the exercises
in this chapter are at get-into-blender.com 6.IMPORT, EXPORT AND
ADD-ONS.
1. Download the .ZIP file from wherever you find it and unzip into
the folder you created for the exercises of Chapter 6.
You will see that it contains an .obj file, a .mtl and several .jpg
files. The .obj and .mtl files are plain text and very simply formatted so
you can open them with a text editor and see the values of vertices,
normals and texture coordinates.
Figure 6-1 Imported .obj objects can be too large to see the distant parts
115
lines, if you’re not sure if the lines are for 1, 10 or 100m you
can see the overall dimension in the Sidebar.
FBX Files
To follow the steps in this chapter and Chapter 12 you will need to
sign up with mixamo.com - it’s owned by Adobe so it’s reasonably
reputable and I certainly haven’t been bombarded with spam since
116
joining. Mixamo has a selection of different characters and animations
that you can select in combination. As an example of a low resolution
mesh character select the Peasant Man and Salsa Dancing as the
animation, download it with the default settings (Binary FBX, with
skin). Then, as an example of a slightly higher polygon count mesh
download character Lola with animation Climbing Up Wall.
NOTE If you use an .fbx file from Mixamo downloaded prior to 2022 you
need to do a couple of steps before you click on the Import FBX
button. In the import options on the right, under Transform un-tick
the Use Pre/Post Rotation check-box. Then, Under Armature tick
the Automatic Bone Orientation check-box. Without these settings
the bones would all be at ninety degrees and, although the
animation would work, it would be hard to pose the armature later
The character should be about the right size and the right way up!
The armature is obviously present as the bones protrude in various
places..
117
Figure 6-3 Surface detail using a normal map
4. In order to see the polygon count, open the Overlays again tick
the Statistics check-box.
6. Run the animation again for each level of subdivision and you
should see a noticeable slow-down and, hopefully, appreciate
the need for lower resolution meshes for animations, especially
in games.
7. Start a new scene and repeat the process for Lola Climbing Up
Wall.
This model has more than twice as many polygons as the Peasant
Man and if you add a Subdivision surface you will slow the animation
even more dramatically. Although the subdivision makes little
118
improvement from a distance, when viewed close up it is quite
noticeable, especially where edges are viewed in profile. This is the
reason there are two settings for the level of subdivision: rendering a
scene can take quite a while so the marginal cost of calculating two
levels of subdivision is negligible, but when modeling in the viewport
it can be very frustrating.
By doing this, and by keeping all the polygons as quads, the mesh
can be subdivided predictably and can be deformed without causing
glitches. In the next chapter you will learn methods for creating clean
topology like this.
Export an Asset
Being able to create assets with Blender, then use them in other
applications is very useful, but there are obviously limits to the
functionality that can be directly transferred. Much of the mesh,
armature and animation information is common to many different
systems but physics, particles and much of the material nodes is not. A
good common denominator format is the .fbx file so try exporting the
119
sculpted manikin you made in the last chapter, then re-import it to see
what fell through the cracks.
8. Start a new scene and delete the default cube then append the
Person01 object from the blend file you saved at the end of the
sculpting and texture painting exercise in Chapter 5.
10. In order for the textures that are packed into the blend file to be
embedded in the .fbx file you need to set Path Mode to Copy
and click the inconspicuous button beside it Embed Textures
11. Under the Include section, Limit to, tick the Selected Objects
check-box.
13. Check over the imported object. You should find that the
armature, mesh, material base color, roughness, specular and so
on are OK but the displacement and specular textures have not
survived the transfer.
Often the information in the .fbx file is sufficient for your
requirements, where you are constructing 3D assets for a video game,
for instance. If you need to have more than this, you will have to export
all the texture files manually by unpacking them, then reconstruct the
material or physics in the destination application by hand.
Add-ons
120
The choice of which add-ons you should use depends entirely on
the problems you encounter so I will try to avoid coloring your
judgment by giving you advice in this book. My approach would
always be to get as far as I could without resorting to an add-on in
order to understand the issues as thoroughly as possible. Then I would
research forums and videos online and use that information to make my
choice.
The add-ons you will enable or install as part of this exercise are
intended to be “a bit of fun” rather than useful but they should give you
a good idea of the general process.
2. You can use search to find add-on. Leave the default filter using
the Official and Community options at the top then in the search
box type “extra” which should find two add-ons, Add Curve:
Extra Objects and Add Mesh: Extra Objects. Tick the check-box
on both in order to enable them, then close the Preferences
window.
121
4. As an example try using the Celtic Links curve. Start a new
scene, delete the default cube and add an icosphere, switch to
Edit mode then squash it to about 20% of its original height.
As you can see this would have been a very efficient way to
generate the gold wire mask you constructed in Chapter 3. I am going
to make a quick detour here to show you a slick way to add some dirt
in all those cracks formed where the wires cross each other. You will
use an input node to the material called Ambient Occlusion which is a
way to add realism to computer generated scenes without having to
crunch through the the full ray tracing work that is undertaken by the
cycles render engine. Ambient Occlusion basically finds, from the
perspective of a given point on a surface, how much of the sky is being
obscured.
7. To give the knot some context add a plane, scale it up, move it
just below the Celtic knot and create a shiny dark gray material
for it.
122
9. As you did in Chapter 3, change the background lighting to use
an environment texture and check what this looks like by setting
Viewport Shading to Rendered.
10. In the Render Properties tab on the right leave the render engine
set to Eevee but tick the check-box for Ambient Occlusion and
Screen Space Reflections.
11. Now you can start to modify the material to use ambient
occlusion. Switch the Active workspace using the Shading tab
at the top of the window, then add an Ambient Occlusion node
using Add4Input 4Ambient Occlusion.
Now see if you can figure out a way to use the AO output of this
node to change the color and roughness of the wires where they cross
over each other. Try to think through the logic before looking at Figure
6-6. As a hint the AO output will go from 0 where the point is at the
bottom of a deep crack to 1 when there is nothing around the surface,
you can use two color ramp nodes to map this value to a range for the
Base Color from dirty to clean gold and for Roughness from 1 to 0.
Remember white is 1 and black is 0.
By this stage I’m sure you appreciate that you could have used the
AO output to combine two different shaders just like you did for the
rusty fridge material to get a much better grungy look in the nooks and
corners. Also, see what it looks like using the cycles render engine, it is
a little bit more realistic but eevee is pretty good. In Figure 6-7 the left
123
half was rendered using cycles, taking five minutes, and the right half
was rendered using eevee in five seconds. It’s quite hard to see the
difference.
Spend a little time experimenting with all the extra meshes and
curves. There is so much and I couldn’t hope to do the add-ons justice
here, however you will use the wall factory in Chapter 12 to provide
Lola with something to climb up.
124
1. Download from the link and save the .zip file in your
downloads directory without unpacking it.
3. Click Install at the top and navigate to the .zip file you just
saved then click Install Add-on
5. You might be forgiven for expecting to find all the controls for
BookGen under the menu option to add other mesh objects,
after all that’s where the mesh extras appeared. However this
add-on follows the normal convention of putting all its controls
in a tab in the Sidebar. The functionality is fairly simple so
using it should be intuitive but there is a good video on Oliver’s
website if you get stuck. Figure 6-8 was very quick to set up
using the wall factory and this book generator. Each book is a
separate object so it is quite simple to create random colors for
each cover, using the object info node random output and a
color ramp, as you can see in the material nodes at the bottom.
125
Conclusion
Seeing how other artists have gone about making things is also a
good way to learn. You saw the difference between the low poly model
Peasant Man and the medium poly model Lola and how they both
added surface detail using a normal map. In Chapter 9 you will learn
how to transfer the detail from a jumbled, high poly mesh, such as the
one you created by sculpting a face in the last chapter, onto a normal
map matching a clean, low poly mesh. However, before that, you will
need to make that low poly mesh, and that is the subject of the next
chapter.
126
7
M O R E T H A N O N E WAY T O S K I N A
C AT
127
Over the course of this chapter I will demonstrate the value of
making objects comprised from quadrilateral faces as opposed to
triangular or higher sided polygons. I will then show different methods
for making and fitting clothes to your manikin from Chapter 2 before
starting to apply the re-topology process to the sculpted face. As I
mentioned when you did the sculpting, there are many excellent, ready-
made face meshes available free on the internet, so your objective here
is not to reproduce the work of expert modelers and anatomists. Doing
re-topology on a complex mesh can be rather slow, and there are
several add-ons that could make your life much easier, so you will
simply be getting an appreciation of what’s involved and learning skills
you can transfer to other modeling you do in the future.
After the re-topology exercise you will learn two useful features of
Blender that allow you to change the shape of an object by moving a
slider, Shape Keys and Drivers. In some ways both of these
complement the use of armatures to deform meshes and they would
have fitted logically with the work on animation in Chapter 12. Links
to files and videos used in this chapter are at get-into-blender.com
7.MORE THAN ONE WAY TO SKIN A CAT
1. Start a new scene and, with the default Cube, switch to Edit
mode and extrude one of the faces five or six times so each
extrusion is about the same size as the original Cube.
128
Figure 7-1 Subdivision of quads
129
1. Start a new scene and delete the default cube, you don’t need to
save the banana! Append the Person01 object from the blend
file you saved at the end of Chapter 5.
4. Blender can try to convert triangles to quads for you. Select all
the mesh with A then click Face4Tris to Quads, deselect all
the vertices then retry selecting an edge loop round an arm. This
time you will find it works, but note that tris to quads didn’t
convert all of the quads as you can see on the right of Figure 7-
3.
Figure 7-3 Loop Select and Loop Cut only work with quads
The reason that the loop selection didn’t work with triangles is
because the algorithm works from vertex to vertex by finding the
opposite edge from the one joining the previous vertex. This only
works reliably for vertices with four, or at the very least, an even
number of edges.
130
Separating a Selection
You will now duplicate part of the body mesh and use it to create a
new shirt object that you can further refine.
7. You can create a new object from the mesh. The duplicated
mesh is still part of the Person01 object but the vertices will still
be selected, so use Mesh4Separate4Selection
9. Add a mirror modifier to create a full shirt. If you try posing the
armature now you will find that the mirrored vertices move too,
which is not what’s required. You will need to regenerate the
armature modifier later so, in the Modifier Properties tab, delete
the existing one. At this point your shirt should just have a
mirror modifier, if the object has inherited any others you added
to Person01 experimentally then delete those as well.
10. In the Material Properties tab delete the two existing materials
skin and eyes then create a new material, rename it shirt and set
the Base Color to a strong color different from the existing skin
material. Change the Viewport Shading to Material Preview
and, hopefully, you won’t see your new shirt in all its glory,
though you might see some of it with strange banding. The
faces of both objects are in the same location so you need to
make sure that the shirt is outside the body.
131
The Shrinkwrap Modifier
11. To ensure the shirt is visible above the surface of the Person01
mesh as in Figure 7-4, add a shrinkwrap modifier to the Shirt
object. Set the Snap Mode to Outside, the Target to the
Person01 object and the Offset to 0.001m.
The shrinkwrap modifier can be a very useful aid when making
clothes like this, but it can also be used in many other situations where
you need one mesh to line up with the surface of another one.
The two settings, Wrap Method and Snap Mode are a little hard to
understand at first.
Snap Mode controls the way the vertices stick to the surface they
are wrapping. The name of each option gives a good description of how
each behaves but Inside and Outside need a little clarification. If
Outside is chosen then, where a vertex is already outside the target
object by more than the Offset amount, it won’t be moved, only
vertices that are inside the target object (plus Offset) will be moved
outwards. This is useful where garments have pleats, pockets or collars
that you don’t want to get “sucked” in against the target body.
You will now add some features to the shirt creating a collar and a
breast pocket.
132
Extrude and Tweak
12. Switch to Edit mode and using front and side orthographic
views move the vertex at the neck away from the center line to
form an open collar as in Figure 7-4 on the left.
13. Select the vertices around the collar, extrude them in the Z
direction then, by rotating the view often and moving each
vertex a little at a time, create a folded over collar. For this kind
of adjustment it’s often handy to switch the select mode to
Tweak by long pressing the top entry in the Toolbar. In tweak
mode you can select and drag a vertex with one mouse click.
The result should look something like Figure 7-4
133
14. First of all apply the mirror modifier, then add a subdivision
modifier and move it to the top of the stack. If the shrinkwrap is
applied after the subdivision it will cover the bumps better.
15. Several issues will now be apparent, the most obvious of which
is the skin poking through the shirt. Although you will solve
that problem with a mask, which you will use later in this
chapter, you should see what the effect is of changing the
shrinkwrap modifier Wrap Method to Target Normal Project
and increasing the Offset to 0.003m.
Bevel
The second issue is that the collar has smoothed out the sharp bend
and reduced its width. This will also be a problem when you add the
shirt pocket, as you will see later. The solution is either to add some
edges near to the sharp corner to help define the subdivision process or
alternatively, add a bevel modifier before the subdivision. There is
actually a third options that applies to the subdivision modifier and that
is to increase the edges’ crease value. For this exercise all three
approaches will produce similar results and have similar drawbacks,
but you will use the one that creates new edges in the mesh. Being able
to see the edges will help you understand and solve the problems
caused by non-quad faces later in this exercise.
16. Bevel the mesh by switching to Edit mode and selecting the
vertices along the inside edge of the collar. Then select
Edge4Bevel Edges, move the mouse to create the bevel then
LMB to fix the it. Don’t worry about getting the right amount
for the bevel as you will now open the Adjust Last Operation
pane and alter the Width to 0.01 and Segments to 3. You will
have to adjust these values to suit your model, in my case I
found that the shrinkwrap modifier was pushing the the
underlying mesh through the layer above. Even then I needed to
tweak the vertices in a similar way to moving the control points
to define the nurbs surface in Chapter 3. Figure 7-5 shows the
before and after screenshots.
134
Figure 7-5 Tweaking vertices to fix the bevel for subdividing
17. Still in Edit mode select the Knife tool from the Toolbar and
draw a rectangle where the breast pocket will go. See Figure 7-6
stage 1. You will find this easier if you toggle the shrinkwrap
and subdivision modifier Realtime option off so they don’t
distort or hide the mesh in the 3D Viewport. Vertices will be
created where you LMB or where the red line crosses another
edge. There is automatic snapping to edges or vertices so this
tool is very easy to use. When the shape has been defined, press
ENTER to fix it.
18. To make the patch shape into a pocket, extrude the rectangle
you have created by a small amount as in Figure 7-6 stage 2, but
note that when you enable the subdivision modifier it distorts
the pocket drastically, as seen in stage 3.
19. The simplest way to stop the edges being smoothed like this is
to add a bevel. Select the pocket edges, but excluding the ones
crossing the center of the rectangle and bevel them, in Adjust
Last Operation set Segments to 1 and an Offset of 0.001. Now
the subdivision and shrinkwrap should look much better, see
Figure 7-6 stages 4 and 5. However the faces around the pocket
135
look distorted because they are no-longer quads. That’s what
you should tackle next, it’s the hard part of re-topology, but it’s
also the most satisfying.
136
20. Select each edge that needs to be removed then
DELETE4Dissolve Edges you can probably find some edges
that will immediately turn two triangles into a single quad.
21. With the knife tool divide up polygons with more than four
sides. Your objective is to make quads with corner angles
neither to acute or too obtuse. If Figure 7-7 stage 2 you can see
that the quad above and to the left of the pocket has three
vertices nearly in a line which will limit the ways it can bend,
and should be avoided.
22. In Figure 7-7 stage 3 I have used Edge4Loop Cut and Slide
to reduce the gap between the bottom of the pocket and the
horizontal edge below it. By Figure 7-7 stage 5 the strange
distortions around the pocket have become much improved.
Before you start constructing the mesh for the face it’s worth
spending a little time reviewing methods to avoid triangles and also
how to cope with bits of skin poking through clothing, which can
happen even with the optimum shrinkwrap settings.
Avoiding Triangles
If you look at my mesh in Figure 7-8 stage 1 you can see that,
although there are lines of edges looping around the shoulder and under
the arm, there are areas where it seems impossible to get rid of all the
triangles. The problem is that if a polygon has an odd number of sides
it can’t be divided up into quads, even if extra vertices are added in the
middle. And, if an extra vertex is added on one side to make the
number of sides even, then the polygon sharing that side gains an extra
side. Figure 7-8 stage 1 shows my shirt mesh to start with, then stage 2
shows it with all the obvious triangles removed, leaving a problem
polygon with seven edges.
There are different ways to solve this problem but they all boil
down to converting polygons to even sided ones. Sometimes there are
two polygons near to each other that allow edges to be moved so one
gains an edge and the other loses one. In this case there is no obvious
way to do that, so the simplest solution is to add a loop cut as in Figure
7-8 stage 3 or, better, stage 4.
137
Figure 7-8 Converting polygons to quads
When making the better shaped quads in Figure 7-8 stage 3 and 4 I
moved the vertices along edges using Vertex4SlideVertices to keep
the mesh shape as close to the body shape as possible. Though the
shortcut in the menu for sliding vertices or edges is SHIFT-V you can
also press G twice, which is more like the normal move shortcut so
might be easier to remember.
You may have noticed, while working on the shirt, that bits of the
Person01 mesh poke through, however much you adjust the shrinkwrap
settings. The classic solution to this problem is to add a mask.
138
For such a coarse mesh as the body of Person01 you will find it
difficult to get the balance of vertices to include in the under_shirt
vertex group. You will probably have to add and remove them in a
process of trial and error.
Re-Topology
For the second half of this chapter you will create a new, clean
mesh for the face that you sculpted in Chapter 5. Take a quick look
back at Lola’s face in Figure 6-4. You can see that the quads form
loops around the eyes, mouth, nostrils and ears. Also the edges of quads
run along natural ridges or grooves on the face. Something to bear in
mind when creating a mesh like this is that it is very easy to subdivide
later by adding loop cuts or bevels, so keep everything as coarse as
possible to start with. There is a bit of setting up required:
1. You will start your new head topology from the simplest
possible mesh, so add a new plane to the scene and immediately
switch to Edit mode. All the vertices will already be selected so
scale the whole thing down to about the size of an eye and move
the plane up and to one side so it is half in and half out of a
cheek.
139
6. Set the select tool to Tweak mode and the selection mode to
vertex and edge. It is possible to use more than one selection
mode at once by pressing SHIFT when you click on the buttons.
There are natural ridges and creases around the eye and you should
aim to make the edges of the new topology coincide with these.
140
Figure 7-9 Extruding edges and bridging edge loops
9. First make the edge on the inside of the eyelid by selecting the
edge loop around the inside of the ring of quads you just
created, then duplicating it and scaling it down a little. For this
stage of your work it is worth toggling the Auto Merge off in
the Active Tool and workspace tab, as you want vertices to stay
where you put them.
10. Move each vertex of the new ring to lie at the junction of
eyeball and the inside of the eyelids as in Figure 7-9 stage 2.
11. Repeat the process for the ridge on the edge of the eyelid and
for the crease above and below the eyelid as in Figure 7-9 stage
3
141
you bridge loops without any references faces around the edge.
You can fix this by selecting all the vertices facing the wrong
way, then select Mesh4Normals4Flip. However to avoided
this problem in the first place you should always extrude out
from an edge so that at least one part of the edge loop can be
correctly orientated when you start filling in quads.
142
Figure 7-11 Filling in the ear
14. Figure 7-11 stage 1 shows the stage where two loops have been
duplicated and scaled down but not yet bridged because they
have started to overlap the ear hole.
15. To create a single quad select four vertices or, more easily, two
unconnected edges opposite each other, and press F. You can
see the new quad formed in Figure 7-11 stage 2.
16. Select one of the sides of the newly created quad which is
facing down a “track” of unconnected edges. In Figure 7-11
stage 2 you can see the edge I have selected. Now press F and,
not only will a new quad appear, but the next edge down the
track is automatically selected so you can press F repeatedly to
fill in a strip of quads. This is actually a very fast and
controllable way to build the mesh.
17. In Figure 7-11 stage 3 the circumferential quads are being filled
as far as the awkward area in the bottom right. In stage 4 the flat
area on the left was chosen to have an even number of edges
around it, which are now filled in. The hole on the right, also
has an even number of edges.
143
worry if this happens. You can detach the miscreant by selecting
the vertex and hitting Vertex4Rip Vertices.
You can see in Figure 7-12 that the mesh at the top of the mouth
could be joined to the nose and eye relatively easily continuing with
this extrusion technique but, instead, I will introduce you to a useful
alternative.
144
Poly Build
When you were using the method of bridging edge loops you
probably noticed that, after you duplicated a loop, the new vertices
didn’t snap to the surface until you had tweaked each of them in turn.
Even if they were in approximately the correct position when viewed
face-on, you had to move them around a bit to force the snap to work.
So, in some ways it might have been just as efficient to create each
quad individually if that could be done as succinctly as extrusion. Well,
in many ways, it can, using the Poly Build tool.
1. Select the Poly Build tool from the Toolbar, then move the
mouse around noting when vertices or edges turn blue. Press
and hold CTRL and move the mouse around noting when
triangles or quads appear. Now hold SHIFT and see when
vertices or faces become highlighted red for deletion.
Hopefully you found some difficulty in a couple of locations. This
is the reason, in my opinion, that the Poly Build tool isn’t the perfect
way to do all re-topology. It’s often quite difficult to make it select the
right edge, vertex or face for extrusion or deletion. However sometimes
it’s very efficient so it’s worth knowing how to use it.
145
Figure 7-13 Using the Poly Build T ool
Use the poly build system to fill the areas joining together the
mouth, nose, eye, ear and neck. Try to figure out how to divide up the
shrinking spaces as you expand the areas towards each other.
To start with, the purple area was surrounded by eight edges which
could have been divided up into quads, but that would have left a very
long edge along the center line, which actually needs a slight curve. To
keep an even number of edges around the area to be filled, I had to
divide the long edge into either three, as in Figure 7-14 stage 2, or five
as in Figure 7-14 stage 3.
146
This section on using poly build would not be complete without a
mention of two other add-ons that are included in Blender, but not
enabled by default. The first is F2 which changes the behavior of the
shortcut F such that if a corner vertex is selected, in a similar position
to the the blue highlighted one in Figure 7-13 stage 1, you can create a
new quad in a very similar way to poly building. The second add-on is
Bsurfaces which allows you to draw lines onto a surface using the
annotation tool, and then create additional mesh surface by converting
the lines to edge loops and filling between them, in a similar way to the
edge bridging you used earlier. Bsurfaces can give a massive increase
in productivity, especially if you have facilities to draw with a graphics
tablet rather than the mouse, however you should learn the basic,
manual methods first, in order to derive the most benefit from any add-
ons that you decide to use.
Grid Fill
Grid Fill is a method for instantly filling areas with mesh, very
similar to bridging edge loops. Try using it to complete the mesh for
the cranium. In Figure 7-15 you can see the approach I took to create a
rectangular area to fill.
147
1. Start by building a line of quads over the top of the head then
mark out a rectangle so each side has the same number of
vertices as the opposite side as shown in Figure 7-15 stage 3.
2. Fill the triangular areas at the front and back of the head with
quads. You might need to add or remove edge cuts in order to
make the number of edges around the perimeter of each triangle
an even number. Don’t worry if the sizes of quads are uneven,
that will make the next section, where you use the relax tool,
more impressive.
4. Select Face4Grid Fill and the area should be tiled with quads
correctly. If the result is arranged diagonally or has triangles in
places check that the edge numbers are correct and that a corner
vertex is showing yellow. It is also possible to tweak the
arrangement in the Adjust Last Operation pane.
148
5. Switch to Sculpt mode, select the Slide Relax brush and adjust
the size and strength so it doesn’t accidentally move edges that
you have carefully placed on ridges or groves.
7. You can also move edges towards areas where you want a
higher concentration using the same brush without SHIFT.
Shrinkwrapping
Both grid filling and edge bridging, as I mentioned earlier, do not
snap the vertices they create to the underlying mesh. If you
subsequently relax the mesh in Sculpt mode, rather than moving each
vertex individually, the vertices still won’t be snapped to the mesh.
However shrinkwrapping gives you a quick way to fix this.
149
vertices without changing the overall shape of the mesh when you have
toggle snapping off or don’t have a model to snap to.
11. Switch back to object mode, select the Person01 object and
select all the vertices apart from the eye meshes by selecting a
single vertex then hitting Select4Select Linked4Linked then
deselect everything below the neck with CTRL and box select.
13. Back in Object mode select first the new_head object then the
Person01 object and Object4Join
14. The new_head and old body are all one mesh now but there is a
gap between them that needs to be filled. Switch back again to
Edit mode and join up the vertices from the top and bottom of
the neck. You will have an even number on both sides of the
gap so it will be possible to do it entirely with quads.
Figure 7-17 shows my attempt.
150
16. Finally, to recreate the armature modifier and bone weights for
the new vertices, in Object mode select the Person01 object first
then the armature and select Object4Parent4With
Automatic Weights.
2. In the list select the smile shape key then switch to Edit mode.
Now, when you move the vertices they will represent the shape
of the mesh when the smile shape key is set to 1.0. This means
that at a later stage, in order to see, or edit, the basis mesh you
must re-select Basis from the list of shape keys. For the moment
leave it on smile.
4. Now tweak the edges of the mouth, indent the bottoms of the
cheeks and crinkle the eyes. When you’re happy switch back to
Object mode.
151
5. Try the slider on the smile shape key as shown in Figure 7-18.
You can add other shape keys, and when you edit the mesh with
each shape key selected you will create the positions of vertices
equivalent to that specific shape key being set to 1.0. However
in Object mode you can position several shape keys to different
values and the results will all be combined.
Conclusion
This chapter has packed in a lot of material. I hope you found the
process of re-topology to be an enjoyable challenge rather than a
frustrating chore, but either way you need to understand the problems,
and how to solve them.
152
You used many mesh editing tools, some new ones and some
familiar ones being used in a new way or with some additional subtlety.
Many of the techniques you used here to make a “soft” mesh that could
be deformed cleanly, are actually identical to those needed to make
good “hard surface” meshes. Dividing areas into quads, and placing
edges in strategic positions is a requirement running through the whole
of 3D modeling. Your appreciation of the problems involved, and their
solutions has moved incrementally forward and it will help you in
many ways over the rest of this book and thereafter.
153
8
F L AT PA C K F U R N I T U R E
154
chapter progressed I pointed out problems caused by this imperfect
method of unwrapping. In this chapter we will revisit the same model
but use the mesh that you created in Chapter 7 and apply some more
sophistication. You will see that it is not only possible to make the scale
of the UV mapping correspond with the level of detail you want to
paint, but it is possible to use different UV maps for different parts of
the model and use them to apply different resolution textures to
different materials.
1. Open the blend file you saved at the end of Chapter 7 with your
completed, re-skinned, Person01 object. Save it now with a
different name in the folder for this chapter so you don’t
accidentally overwrite it.
2. Select the Material Properties tab. You might still have two
materials left from Chapter 5, if so rename them and add a third
one. You want a head, eyes and body material.
3. For this exercise you will need materials set up as in Figure 8-1
for the head and body, and one without the subsurface texture,
bump texture and normal input for the eyes. You will probably
have a similar setup from before called skin and eyes so modify
the skin one and save it as head then use the New Material
button, with the overlapping squares icon to the right of the
Name field, to duplicate that and rename the duplicate as body
and use eyes as it is.
155
Figure 8-1 Material Nodes for head
4. There are probably existing images from the old file which you
can rename. Add some new ones so, in total, you have;
head_base_color, head_subsurface, head_bump,
body_base_color, body_subsurface, body_bump and
eyes_base_color. To get the detail for a realistic face you should
make the textures at least 2048 by 2048 pixels, they won’t need
the Alpha option. You can create images in the node in the
Shader Editor panel, using the menu options to the right of the
image name. You can increase the resolution of existing images
if you reuse some by opening an Image Editor in a work area
and using Image 4Resize.
Once the materials are set up ready you need to create the UV
maps for the textures to use. The first job is to draw seams where you
want the skin to be “peeled” back. The standard locations are round the
neck, up the back of the head, down the back of the body, down the
back of each arm and down the inside of each leg. The eyes can be
sliced around their circumference. See Figure 8-2 for the seams and
unwrapping on the head.
5. Switch to Edit mode and select the edges that will be seams.
You can do them one seam at a time rather than trying to select
them all in one go.
156
6. Select Edge4Mark Seam and the selected edges will be
marked red.
7. Select the head vertices down to the neck seam, but excluding
the eyes. Use Select4Select Linked4Linked then deselect
with CTRL box select from the neck seam down, with X-Ray
on.
9. Change the bottom area back to Shader Editor and make sure
you have the head material selected. In the node providing the
texture input head_base_color click the button to create a new
image then select from the Generated Type drop-down UV
157
Grid and click OK. Your head should now look like Figure 8-2
stage 2.
11. You need to keep the squares as regular as possible but make
them smaller in the middle of the face. Toggle proportional
editing on with linear falloff, then select a vertex on the tip of
the nose in the UV Editor. Scale the vertices up, adjusting the
radius of the proportional effect so no overlaps or serious
distortion occurs. You can see my attempt in Figure 8-2 stage 3.
12. Repeat the unwrapping process for the body and the eyes as
shown in Figure 8-3. There is no need to swap the texture to use
the UV grid image for these two.
13. Change back to the Shader Editor in the bottom area and in the
drop-down for the base color texture for the head, select the
head_base_color again. Ensure that this node is selected and is
outlined with a white line.
You should be set up correctly now for texture painting. In the past
I have saved the blend file at this point and, when I opened it later, all
158
the image files I had created vanished. So I always use the Save All
Images button in the texture paint settings before I save, just to be on
the safe side.
159
access to some basic photo-editing software such as GIMP or
Photoshop you will be able to improve your results even more.
You will need some photos of a willing subject to use for the
head_base_color texture. Take a profile and a frontal image as a
minimum but ideally use other pictures as well. You can see the set of
mugshots I used in Figure 8-4. Give them distinct, meaningful names
such as “full_face”, “face_slight_left”, “right_side” and so on.
160
can change the current selection here as well as in the Object
Data Properties tab.
3. You can now make a UV map to match the view of the head in
the image you just loaded. To do this you must adjust the
camera position in the 3D Viewport until the model looks as
close as possible to the image showing in the UV Editor. It is
much better to do this using the camera view, positioned using
walk navigation, because it allows you to change the Focal
Length value in the camera Object Data Properties tab. Mobile
phone cameras have very short focal lengths so you probably
need to reduce the default 50mm setting. Using the camera view
also allows you to return to the exact same position you used to
generate the unwrapping if you change the view part way
through for some reason. Figure 8-9 stage 1 shows my attempt.
When it’s as good as you can get it, in Edit mode with select
mode set to faces and all the head faces selected, run
UV4Project from View.
5. You should aim to use only the part of each image and
associated UV map, to paint the areas that are clear and
undistorted on that image, so concentrate on getting those bits
more accurate. Now you can gradually reduce the radius of the
proportional editing and line up edges precisely, as in Figure 8-5
stage 2.
161
Figure 8-5 UV Projected from View
6. Work your way through each image you intend to use. A critical
thing you need to make sure of before generating each new UV
projection is that you have selected a new map. If you
accidentally leave the UV map set to a previous one, when you
hit project from view, it will overwrite all your careful work.
7. You can reuse images taken from the left, say, for painting the
right by selecting Image4Flip4Horizontally in the UV
Editor and using the UV projected from the opposite view.
162
Single Image Mode in the panel header. Each time you start
cloning double check these settings are correct as well as the
ones listed in the previous paragraph.
10. The first image you clone can be done using full strength for the
brush and you don’t need to be too careful where you paint but
subsequent cloning must be done carefully. Use a low strength
and build the texture with multiple brush strokes so you get
smooth transitions between the different areas.
11. You will probably find some small areas that are inadequately
referenced on any one of the mugshots, and leave streaks or
sharp changes in color on the head_base_color texture. You can
patch these areas by toggling off Clone from Paint Slot so the
cloning copies from one location on the object to another, very
much like cloning in a normal image editor program. To set the
location to clone from use CTRL-LMB. The rather disturbing
hybrid of my selfies cloned onto the Person01 head are shown
below in Figure 8-6.
163
good lighting, there were shadows and differences in tone when
cloning from different photos.
Images as References
While making the UV maps, it may have occurred to you that the
result would have been much better if the Person01 mesh had been
modified to match the shape of the head in the photos. That is
definitely the case, however leave the mesh unaltered for the moment
as you will use it in Chapter 9 to bake the normal map from the
sculpted head. Instead, you will make a an item of simple furniture
from your home using photos as references.
Reference images typically show the subject in profile and face on,
and can be used in Blender to help construct a 3D model. Ideally the
photographs should have as little perspective as possible, which
normally requires them to be taken from a reasonable distance.
However, the further the subject of the photo is from the camera, the
lower the resolution, so it’s a compromise. For my sofa the two
references are Figure 8-7 image 1 and 2.
For this exercise you are going to apply a photo of a small area of
the sofa as a material for the whole thing and, in order to make the
texture seamless when it’s tiled, the illumination should be as uniform
as possible. Figure 8-7 image 3 shows my image. If you have image
editing software available you can use that to make your image
164
seamless, alternatively there are websites that offer a conversion
facility for free. Failing that, it is quite possible to make textures
reasonably seamless using Blender either with the compositor or
texture paint cloning and baking.
1. Start a new scene, you need to save the work on the Person01
UV unwrapping and cloning if you didn’t do earlier.
165
4. Rename the cube to sofa and add a mirror and a subdivision
modifier.
Loop Cut
7. When you extrude the seat down, you will create some
unwanted edges and faces so it will help if you add a horizontal
edge loop to match the depth of the seat.
166
Figure 8-8 Start cube with Edge loops inserted
9. Select the two faces on the top of the backrest and extrude them
upwards. Extrude the seat of the chair downwards. Now you
will see the extra vertex, edges and face so delete these and fill
in the gaps using the shortcut F. Use Mesh4Merge to get rid of
the gap or overlap at the front of the seat. Figure 8-9 shows the
sequence and final result. Extruding the back will also insert an
unseen, unwanted face and edge, temporarily disable the mirror
modifier to see these and delete them. In orthographic view
from the side line up the backrest to match the shape in the
photo.
167
Figure 8-10 The Sofa after adding edge loops.
12. Define the seams for the UV unwrapping. Most of these can be
tucked into creases or on edges at the back or bottom, however
you will need one or two in visible places on the arms to
prevent distortion of the UV mesh when it is unwrapped. You
will be able to get a better layout if your seams cut the surface
into islands so you can move and scale each one separately. The
seams in Figure 8-11 produce islands for each arm, the seat, the
back and the bottom. As the bottom will not normally be visible,
it can be shrunk, after unwrapping, to leave more room on the
image for the rest of the sofa.
13. Unwrap the UV mesh and adjust it to make the most use of the
area. Use the tab right at the top of the window to change to the
UV Editing preset for the active workspace, then in the 3D
Viewport area hit UV4Unwrap. You should get a result
similar to Figure 8-11 stage 1.
168
Figure 8-11 Unwrapping the main UV map
14. To scale an island such as the bottom of the sofa and to be able
to move all the islands around to optimize the space, there is a
useful fourth selection mode, island, which has an icon with a
solid and outline rectangle, visible at the top of Figure 8-8. To
select the island for the bottom of the sofa, in the 3D Viewport
deselect everything then select one face on the bottom. In the
UV Editor switch to island selection mode and select the single
face that you can see there. Now, back in the 3D Viewport,
select all the faces so you can see them in the UV Editor. Click
again on the single face from the bottom, which is still selected,
and you will select the whole island.
In Figure 8-8 stage 2 you can see my re-arranged UV layout and
there are a few things worth noting. Not only have I have shrunk the
bottom, I have also shrunk the back slightly, as that will also be less
carefully scrutinized than the rest of the sofa. More importantly, the
layout for the sofa arms look to point in opposite directions, which
might be a problem if the fabric was a print, say, where the design
needed to be the right way up. However if you look carefully you will
see that the UV unwrapping has oriented all the islands so that the
bottom of each area of fabric is on the right of the map. If you use an
image for the material texture covered in arrows pointing from right to
left, on the 3D object, they would go upwards in most locations, see
Figure 8-12.
169
Figure 8-12 Orientation of Panels
Scaling UV Maps
There are two ways to achieve this. The most obvious, is to scale
the UV map up until the image is the right size to match. This what has
been done in Figure 8-13.
This works fine so long as the UV map is only being used for a
single purpose. But in this exercise it would be nice to also feed a
normal map into the shader so that surface details, such as the piping
along the edges, or minor creases, can be represented. The UV map that
the normal texture uses must match the area of a single image
otherwise the creases will be repeated all over the sofa in arbitrary
locations. It would be possible to create a second UV map and feed that
into the input of the texture node, but actually it’s even easier to just
170
use the default map but scale it up in the shader when it is being used
by the base color texture. Figure 8-14 shows the node layout on the left
and using the brush Stroke set to Curve for drawing piping on the
normal image on the right. I mentioned using curve strokes in
Chapter 5 when I introduced the basic workflow for sculpting.
15. First of all set up the material. Open the Material Properties tab
and there should already be the default material that came with
the cube, rename it to sofa_material. Change the area on the left
from UV Editor to Shader Editor. Add a new image texture
node to feed into the Base Color input of the shader then click
on the Open button to import the seamless fabric image. Add a
subdivision modifier back to the sofa object to smooth out some
of the angles.
171
could set different UV maps to be used by different textures in a
material.
17. Now you need to multiply the values being fed into the texture
node. Select Add4Vector4Mapping and drop the node onto
the connection between the UV node and the texture node, then
change the X and Y scales to 5.0. This node is also where you
could rotate the texture or offset it, if needed.
NOTE For simplicity I have not suggested switching the Type field from
the default Point, and normally this is fine. However, especially
when you want to rotate the UV map about a specific position, you
will normally find it easier to use the Texture option. If you do that
you will need to change your frame of reference for the
translations. i.e. scale of 5.0 with Point mapping becomes 0.2 with
Texture mapping.
18. To draw details onto a bump map you need to a new image
textures, and click + NEW to create a new image. Call the
image “sofa_bump” and increase the resolution to 2048x2048,
again you don’t need the Alpha channel. Add a new bump node
to go between the sofa_bump texture node and the normal input
of the shader, with the texture setting the Height input. You will
probably need to fine tune the Distance and Strength of this
node once you’ve done some texture paining.
19. Ensure that the sofa_bump image texture node is selected then
change back to texture painting. If the sofa_bump texture was
not selected as the target you will draw onto the wrong image.
As I mentioned above, drawing using the brush stroke set to
Curve will help with smooth curves like the piping on the
seams. Also, switch to orthographic view using the button under
the camera view button, visible on the right of Figure 8-14. This
will prevent long lines drawn on the 3D object being distorted
by perspective and resulting in tapered lines on the 2D texture.
172
Conclusion
You will now see that there are endless possibilities. You could add
areas of wear or dirt by altering the roughness or you could mix in a
different texture, adding a print design with a different repeat spacing
from the basic fabric with yet another sample using a higher repeat as a
bump map for the weave, and so on and so on.
173
9
NORMALS, BUMPS AND
DISPLACEMENT
174
will then take you through two ways to generate a normal map from a
more detailed mesh and discuss some of the ways to combine these
normal maps with other detail such as painted or procedural textures.
The normal direction is the way the surface faces at any point and
is used to calculate the way light bounces from the surface.
Superficially each vertex would have a normal so that every point
between them could be calculated by interpolation. However it quickly
becomes apparent that there must be multiple normal directions at each
vertex, one for each face corner, because otherwise it isn’t possible to
represent a change in direction from one side of an edge to the other,
which is needed for flat shading.
Figure 9-1 Low poly shapes without and with normal maps.
175
Baking a Normal Map
1. Open the blend file from the end of Chapter 8; the head painted
using selfies. Make sure that the armature has all the pose
transforms reset and that, in the Object Properties tab, neither
armature or mesh have moved, rotated or scaled. To avoid
accidentally overwriting your previous work, save the file now
with a different name in the folder you will use for this chapter.
176
down set to Non Color and click on each node so it is selected.
The selected node is indicated by a white outline.
5. Baking can only be done using the cycles ray tracing engine so,
in the Render Properties tab set the Render Engine to Cycles
then, lower down, expand the Bake section and set the Bake
Type to Normal and tick the Selected to Active check-box.
Expand the Selected to Active section and set the Extrusion
distance to 0.1. The extrusion distance is the amount to expand
the selected surface that you are projecting onto, in this case the
Person01 object. The extrusion distance needs to be more than
the size of any bumps on the high resolution surface.
6. Select first the sculpted object then the Person01 object, the
order is crucial here, then click Bake in the Render Properties.
So long as no error message pops up this should work, but it
will take a while as images are baked for each of the materials.
7. When the baking has ended switch the Shader Editor area to
Image Editor and look at each of the three image textures set to
capture the normal map. They should all have produce a
generally light blue result with parts tending to purple-red and
parts tending to yellow-green. The results for the body and the
eyes can be ignored as we haven’t really set the system up for
those materials. If your baking has resulted in parts of the
head_bump image having significant patches of orange then
that probably means that the Extrusion distance wasn’t enough.
This is a tedious process on a low powered computer but you
just have to incrementally increase the distance until the amount
of orange drops. I explain why this happens in the next section.
177
the sculpted object in the Outliner Editor and change the Image
Editor back to the Shader Editor then, with the head material
selected, use Add4Vector4Normal Map to create a new
node, and connect the the output of the head_bump image
texture to the input of the normal map node, and the output of
the normal map node to the normal input of the shader.
At this point I should point out that the texture image names used
in the materials, such as head_bump are misleading for this exercise.
Bump maps vary from black to white to represent the amount that the
surface detail varies from the flat plane of the mesh. Where you drew
on details such as the piping on the sofa in the last chapter that was
appropriate. However normal maps are different shades of blue because
they represent something else.
178
arrow points from side to side, Y is up and down and Z is outwards.
These three components can be stored in an image file by allocating X
to the red value of the pixel, Y to the green value and Z to the blue
value. The range of values available for each color on a standard image
file is 0 to 255, so a red value of 0 is interpreted as facing completely to
the left and 255 as facing completely to the right, and similarly with the
green value ranging from straight down to straight up.
The blue value is always adjusted to keep the length of the arrow
the same, with 0 interpreted as straight inwards and 255 as straight
outwards. However, because it only makes sense for the surface to be
pointing outwards, rather than inwards, the values of blue component
should always vary from 128 to 255. If there is an error in the
calculation of the normal directions, such as where a bump on the high
resolution mesh is sticking through the low resolution mesh onto which
it is being projected, then the blue component switches to a value lower
than 128 and the normal map texture has patches of orange. This is a
frequent problem when baking normal map textures and the solution is
usually to increase the separation between the low and high resolution
meshes by increasing the Extrusion distance.
179
1. Save the blend file you worked on earlier, in the folder for this
chapter. Don’t overwrite the version you opened at the
beginning of the exercise because you now need to open that
again.
5. Switch the area on the left to a Shader Editor and ensure each
material has a non-color image texture node, such as the
head_bump texture you created earlier, and that it is the selected
node. Baking from multires doesn’t have a problem if the image
textures are connected to the shader but I often disconnect them
before baking, just in case!
180
only be reduce to 1 when baking and, to prevent the blend file
being very large, you should click Delete Higher with the
viewport level set to the highest you want to keep. This will
permanently lose the finer detail from the sculpting so make
sure you have baked the normal map before doing this.
1. The first thing needed is a series of nodes that will give the right
kind of surface when fed into the normal input of the shader. In
the Shader Editor click Add4Input4UV Map and position
the node to the left. To scale the output of the UV map select
Add4Vector4Mapping then set X and Y Scale to 300.0. The
mapping output feeds in turn to the texture node created using
Add4Texture4Noise Texture with Normalize un-checked,
then add a bump node by selecting Add4Vector4Bump with
Strength set to 0.6 and feed the output into the shader normal
input, replacing the input from the head_bump image texture.
Adjust the settings to give the right level of detail.
181
Figure 9-2 Nodes Combining Normal Map and Bump
The render on the left of Figure 9-3 shows a material with the
normal disconnected, but with a multiresolution modifier still in place,
set to level 1. The middle render has the normal image texture baked
from sculpted multiresolution level 3. The right hand render has both
the image and the noise texture pores using the shader shown in Figure
9-2.
Figure 9-3 Render showing the addition of baked normal and bump map
182
Displacement
1. Make sure you have saved your last work, again using a
different name from the one you opened, then load the blend
file from Chapter 8 once more.
183
and white extreme expansion. Turn the Strength down to 0.05
and the Midlevel down to 0.0 you can come back and fine tune
these later.
6. Now draw some scales onto the face. Select the Texture Paint
tab from the workspace default configurations, at the top of the
screen then, in the Active Tool and Workspace settings tab
change Mode to Single Image with the head_bump as the
linked image and the UVMap as the specified map.
7. When you draw on the face you might find, as with painting the
particle density in Chapter 5, that the effect isn’t actually visible
until you switch from Texture Paint mode to Edit mode or
Object mode, then back again. For this reason it’s probably best
to draw with viewport shading as Solid and the Color option in
the drop-down as Texture, so you can see where you’ve just
painted. To make the scales tilt, I used a texture for the brush
with Type Blend and set the brush Falloff to Constant. To get a
graduated circle with a single click you will need to set the
Brush Settings, Texture, Mapping to View Plane and to control
the size and direction of the scales set Stroke, Stroke Method to
Anchored.
8. Because the eyes and body are also influenced by any modifiers
added to the Person01 object you will find that they also
become scaly in a haphazard way. You can fix this by confining
the modifier to a vertex group. With Person01 still selected
switch to Edit mode, deselect everything, then in the Material
Properties tab click on the head material then use the Select
button to select just the faces on the head, but excluding the
eyes. Open the Object Data Properties tab and, under the Vertex
Groups section create a new group with + New, change its name
to “scaly_skin” and click the Assign button. In the displacement
modifier setting set the Vertex Group optional field to
scaly_skin.
You should be able to create quite large scales using a
displacement modifier in this way. One additional advantage over
simply sculpting the mesh, is that the texture can be used in the
material to modify the appearance. In Figure 9-4 you can see that the
higher the displacement value, the more reptilian the coloring.
184
Figure 9-4 Increasing scaliness
You will remember how to use a factor to blend two shaders from
Chapter 4, but wouldn’t it be really cool to have one “slider” you could
adjust, or animate, that would alter both the strength of the
displacement modifier and the factor for blending the shaders in the
material. Well this can be done using custom properties and drivers,
both very powerful, but less frequently used features of Blender.
9. First add the nodes to create the reptilian effect on the tops of
the scales. You might like to try figuring this out for yourself,
referring back to the rusty refrigerator material to refresh
yourself.
My node layout is shown in Figure 9-5, if you get stuck. There you
can see that I use a noise texture with a color ramp for the scale color
and and two voronoi textures for the normal. A quick search online will
provide suggestions for excellent lizard skins.
The Color output from the head_bump texture is the factor for
blending the shaders, but it is modified by passing through a multiply
node which has its text input box colored purple. The purple indicates
that the value is being changed by a driver and cannot be altered
manually.
185
Figure 9-5 Scaliness controlling the blend of two shaders
10. Add a math multiply node and use it to multiply the output of
the head_bump image texture before feeding into the Fac input
of the mix shader.
11. With the Person01 object still selected, open the Object
Properties tab, scroll down to the bottom and expand the
Custom Properties section. Click Add and then Edit and change
the name of the new custom property to “scaliness”. The other
defaults are probably fine but you can see it is possible to set
max, min, default and tooltip. Click OK to save the edit.
12. Right click on the value of the scaliness custom property and
select Copy as New Driver, then right click on the value field of
the math multiply node you just added to the material and select
Paste Driver. Open the Modifier Properties tab then right click
and paste the driver into the value field of the displacement
modifier Strength field as well.
13. The chances are that the displacement strength and material
adjustment will need different scales. I’m sure you can already
see how you could adjust the value using an additional node in
the material but it is also possible to perform quite complicated
calculations as part of the driver. Right click on the purple
Strength field and, in the menu options, select Edit Driver and
change the Type to Scripted Expression. In the Expression text
box below change the entry from scaliness to scaliness * 0.05.
Change the multiplication value in the material node in a similar
186
way to give the desired effect as you move the slider, I
multiplied the scaliness by 4.0 in my example. There is also a
graphical method of achieving the same effect using the Show
in Drivers Editor button at the bottom of the pop-up window.
There isn’t room in this book to explore this in real detail.
In some circumstances drivers are extremely useful, they can link
almost any value in an object to any other value in the same or any
other object. In the exercise you have just completed, you could
actually have made the value in the material node drive the modifier
strength field directly, or visa versa, and skipped the custom property
completely. However it is much better to keep clever mechanisms like
this as clear as possible with all the components visible and explicit and
nothing hidden away. Even when you are comfortable that you know
exactly how everything works, in only a few weeks time you will
struggle to remember where the value with the purple background is
coming from. When that happens you must right click and edit the
driver to rediscover the source.
Conclusion
In this chapter you used two different ways to bake a normal map
from a high resolution mesh to a coarser one. Both techniques have
their applications and which one you opt to use will depend on both the
workflow you are most comfortable with, the resources available for
your modeling and the final destination of the finished product. If you
are making a low poly asset for use in a game engine you will probably
take a different route from the one you would follow for an animation
rendered in Blender.
In the next chapter you will delve further into volume shaders,
using them to investigate four dimensional textures, monsters of the
deep and glowing writing.
187
10
F O G A N D S E AW E E D
188
Volume Shading Under Water
1. First delete the start cube and add a plane, then in edit mode
delete two of the vertices then move the remaining two onto the
Y axis by setting snap to absolute grid. Extrude each end
forward and backwards then outwards for the tail and fins. Add
a mirror and a skin modifier then, finally, use CTRL-A to adjust
the size of the skin at each vertex. The left of Figure 10-1 shows
the rough shape I created.
2. When you have the proportions about right you need to apply
the mirror and then the skin modifiers. This is unfortunate as
you really want to keep the mirror modifier while you work on
the mesh but there isn’t a way to do that while applying the skin
189
The reason why the purple scatter produces a green hue is related
to the reason that sun-sets are red. The atmosphere scatters blue light
much more than red, which is why it looks blue during the day. In the
evening, when the sun is low and there is enough atmosphere in the
way that you can look towards it, so much blue light is scattered to the
side that the majority of the light reaching your eyes is red.
21. Check out how the absorption shader works by swapping it for
the scatter shader in your material. Select
Add4Shader4Volume Absorption and connect it into the
place of the existing shader. Set the Color HSV to 0.772, 1.0,
1.0 which produced a good green color in the scatter shader.
You will probably need to the the Value field of the Multiply
node down to 5.0 to allow any light to reach the camera.
22. It will be apparent that the Color value in this shader specifies
the color that isn’t absorbed by the volume. Change the H of the
color to 0.25 then reduce V to 0.9. This should produce a
reasonable green seaweed effect which is rather dull compared
with the scatter shader but significantly faster for the cycles
render engine to calculate. One deficiency of this shader is that
beams of light passing through the volume are not visible at all.
The third shader is the volume version of the default principled
shader. Although this doesn’t scatter light in quite the same way as the
scatter shader, it can represent the passage of a beam of light through
the volume as well as having setting for absorption, emission and
black-body radiation. It is a very flexible shader and can be used to
model most scenarios, however it is the slowest of the three.
194
0.9, 0.56, the Absorptions Color HSV to 0.5, 0.4, 0.75, the
Emission Color HSV to 0.6, 1.0, 1.0, the Emission Strength to
0.001 and Anisotropy to 0.4. Again you will need the Value of
the Multiply node to be reduced to 5.0 to compensate for the
absorption.
You will probably have to adjust all the settings to get a good
result as the amount of attenuation of the light will need to match the
size of the scene you made and how far away you position the camera.
24. First add one spotlight and set it up, you can duplicate it once
you’ve got it to your liking. Select Add4Light4Spot and
rename it beam1, then position it just outside the field of view
and rotate it so it’s shining near to the shark and from the side.
25. Now increase the power and narrow the cone by opening the
Object Data Properties tab. Set Power to 2000 and, in the Spot
Shape section, set Size to 10.
26. It’s easier to position the spotlight with Viewport Shading set to
Material Preview but you won’t be able to see the result until
you view in Rendered. If you look closely at my render you will
see that I used the cycles render engine without denoising, as
195
the slightly grainy effect looked more watery than the smoothed
or eevee version. To rotate the beam, use R to rotate
perpendicular to the view plane, and R, R to rotate using
trackball control.
Anisotropy
Anisotropy is the reason that you can often see beams when you
look towards the sun when it is hidden behind a cloud but you rarely
see them when the sun is behind you. Following this logic you may
achieve better sunbeams by shining the spotlights towards the camera
and setting the anisotropy to scatter forwards. Some trial and error will
be required to get the best result.
3D Textures
196
dimensions when using the noise texture to pattern the shark’s skin or
create the dappled sunlight effect? It turns out that this is a very
convenient way to represent time and can be used to animate textures.
Keyframes
You will learn about animation in Chapter 12 but, as there is so
much to cover, the following exercise is a good opportunity to
introduce one of the most important aspects of animation; keyframes.
Keyframes are a feature of Blender that pervades virtually everything
and, in an astonishingly simple way, allows you to breathe life into
your static scenes. Essentially by holding the mouse cursor over any
variable field and pressing I on the keyboard you can specify a value
for the field to take at the current frame, where frame is a proxy for
time. Blender is clever enough to understand that if you press I when
certain bones of an armature are selected, and the cursor is over the 3D
Viewport in Pose mode, that keyframes should be set for the relevant
bones. You can animate object locations, camera properties, modifier
fields and material settings. There is scarcely anything in Blender that
cannot be animated. For this exercise you will animate the material
used by the screen to cast shadows on the sea bed.
197
Figure 10-5 Node Layout and Timeline for Animated Shadows
3. Now you are in a position to set a keyframe, but before you do,
you should check that the current time is set to frame 1. Swap
the editor area to the Timeline and ensure that the vertical blue
line is in the right place. At this point the only reason it might
have moved is if you accidentally pressed the spacebar which
will start the animation playing. You can move the play position
to the start point by pressing the Jump to Endpoint button on
the play controls.
4. Switch back to Shader Editor and, with the mouse over the
mapping node Location X, Y or Z field press I. It doesn’t matter
which of the three location components is under the cursor as all
three will be set at this keyframe. All the location values should
change to a yellow color.
6. Change the Location Z to 1.0 and you will see that the field
turns orange to indicate a field that has been changed from an
198
interpolated value but not yet fixed as a keyframe, it will be
forgotten as soon as you change frame. With the mouse over the
Location fields press I, and you will see them all change to
yellow to indicate that they have been saved as keyframe
values.
8. The first issue you might notice is that the speed of animation is
much slower just after and just before the keyframes. This is
because the default interpolation uses easing to avoid jerkiness
and sharp discontinuities of movement. To fix this, go back to
the Timeline and select both of the keyframes then, from the
RMB menu select Interpolation Mode4Linear.
10. Play the animation to verify that it does what you expect.
199
different then when you copy and paste the keyframes they should
produce a more random looking effect. Figure 10-6 shows the Timeline
with one repeat of keyframes selected.
1. First of all, on the Timeline move the play head back to frame 1
3. Now you can see that the fourth dimension is available in the
texture node as a field W. With the mouse over the field add a
keyframe by pressing I, then move to frame 48 on the Timeline
and, back in the Shader Editor change the W value to 0.01 and
fix the keyframe. The default animation speed is 24 frames per
second so you are aiming to get a slow change to go with the
physical swaying movement. On the Timeline move the frame
to 96 then add a keyframe with W set to 0.03.
200
current frame marker to around 120 then paste with CTRL-V.
Select just the keyframe on frame 1 then copy and paste it to
frame 250 to make the animation loop smoothly.
201
Figure 10-7The Alchemist at Home in his Study
1. Start a new Blender scene but leave the default cube in place
and rename it to rays. Scale it in the Y direction by a factor of
0.1 then, in the Material Properties tab, in Surface select
Remove and in Volume select Principled Volume.
202
out the angle with Add4Converter4Math. Change the type
of function for the math node to Arctan2 then connect the
Position output of the geometry node to the Vector input of the
separator, then the Z output to the first Value input of the
arctan2 node and the X output to the second Value input.
Connect the output from the arctan2 node to the Vector input of
the noise texture node. Your node setup and result should be
similar to Figure 10-8
4. You have only done the first part of the exercise, calculating the
radial angle of each point, however there is a problem you
should sort out now. Try moving the rays object and you will
see that the center of the pattern is fixed to the global origin of
the scene. This is because the geometry position is in the global
frame of reference so, to get the position within the volume you
must subtract the location of the center of the object. To do this
use Add4Converter4Vector Math, and drop the node onto
the pipe between the existing geometry position and the
separate XYZ node, then change its mode to Subtract. Create a
node with a Location output by selecting Add4Input4Object
Info, and feed that into the other Vector input of the subtract
node. The node arrangement should look like the left part of
Figure 10-9 and now, if you move the rays object, you should
find that the radial pattern moves too.
203
Figure 10-9 Completed Material Nodes for Radial Rays
NOTE To improve your workflow you should get into the habit of
duplicating nodes using SHIFT-D rather than creating them with
the menu, especially the common ones like math, vector math and
color ramp.
204
with depth, away from the camera, and adds more complexity to the
pattern.
Conclusion
This chapter used volume shaders as the focus of two ideas that
have uses in other areas of Blender; First you saw how higher
dimensional textures can evolve through time and allow you to add life
and subtlety to many animated scenes. Next you used the modification
of UV maps to generate new patterns from procedural textures, and this
method also creates enormous potential for stunning procedural
textures. Before you move on to the next chapter try experimenting
with materials nodes using different procedural texture to scale or
rotate the UV map of another. Checkout some examples on
eldwick.org.uk/get_into_blender 9.NORMALS, BUMPS AND
DISPLACEMENT.
The occasions when you need to use a volume shader with varying
density might not be many, but when you do, the techniques covered
here can provide unique functionality.
205
11
E A R T H , WAT E R , A I R , F I R E A N D
HAIR
206
guide you through the remaining quick effects; explosion, smoke and
liquid. Each one has its own quirks and there are different methods
required to get them to interact with other objects or to render
satisfactorily.
Explosion
1. Start a new Blender scene and add the explode quick effect to
the default cube. In Object mode, with the cube selected run
Object4Quick Effects4Quick Explode. Press spacebar to
run the animation, and again to stop it. Use SHIFT-LEFT to
return to the first frame, or alternatively, you can navigate using
the Timeline controls in the editor area at the bottom of the
screen. Note that, to see the unexploded cube, you need to move
to the “zeroth” frame by pressing the left arrow again.
2. There are several issues with the explosion; there’s not enough
shrapnel, it’s not moving fast enough, the pieces aren’t spinning
at all and there isn’t anything bouncing off walls or the floor.
The first thing to do is break the cube into smaller pieces and
the best way is to add a subdivision modifier to the stack. In
order for that to work you must move the subdivision above the
207
explode modifier, set the type of subdivision to be Simple, and
the number of subdivisions in the viewport to 2.
3. To increase the particle speed and make them spin, open the
Particle Properties tab and under Velocity, increase Normal to
10, Tangent to 5 and Randomize to 5. Tick the Rotation check-
box then expand that section and set that Randomize to 1 and
tick the Dynamic check-box. Now when you run the animation
it should look more spectacular but you will find that at the start
of the animation the cube is already starting to explode. In the
Particle Properties tab change the Emission Frame Start and
End to 5. Also, to stop all the pieces disappearing after 50
frames increase Lifetime to 250.
208
empty or change the Strength value. As I mentioned in the last
chapter it’s possible to add keyframes to almost everything in
Blender so you could make the black hole start after the initial
explosion. Try setting the force strength to 0.0 and insert a
keyframe at frame 30 then add another keyframe at frame 50
changing the strength to -15.0.
Smoke
1. Start a new scene, save your explosion so you can make a video
using it when you cover how to do that in Chapter 12. With the
start cube selected run Object4Quick Effects4Quick
Smoke. This should produce some reasonably realistic smoke
when you play the animation, even with the viewport set to the
default solid shading.
A new object has appeared named “Smoke Domain” which defines
the volume in which the fluid simulation will be calculated. When you
run the animation the smoke might appear to be deflected from the
edges of the domain as if by invisible walls and ceiling but that is an
effect caused by the simulation having a sharp cut-off at the edge of the
domain. The fluid domain is divided up into a number of resolution
divisions which defaults to 32, so if you make the domain larger it will
make the fluid simulation coarser. However if you increase the number
of divisions you will slow down the simulation and use much more
memory. So your objective should be to make the domain as small as
you can get away with and only increase the number of divisions once
you have run the simulation and can see, for instance, that the droplet
size is too large.
If you are using an older version of Blender, prior to 3.3, you will
run into a problem getting the simulation to re-run and bake in any
changes you have made. Run the simulation right through to the end
then stop it and return the play head to frame 1. With the Smoke
209
Domain object selected open the Physics Properties tab then scroll
down and expand the Cache section. You will see that the Type is set to
Replay, which, in theory, will bake the cache as the animation is
playing; the first time through might be slow but subsequent runs will
be fast. The problem is that the fluid domain doesn’t always “know”
when it needs to re-bake the simulation. If you have an old version of
Blender you will see what this means by selecting and scaling the
domain object by a factor of 2. The cube of smoke should have grown
in proportion to the domain, and when you run the animation you will
simply see a scaled up version of the original animation. To force a re-
bake you need to change one of various settings in the domain, so in
the Cache section Type select Modular then re-select Replay. You
should see the box of smoke shrink back to match the start cube, and
when you play the animation the simulation will be re-calculated.
2. In order to deflect the smoke you need to add a mesh object and
define it as an Effector. Add a new cube object to the scene,
scale it up so it is the same width as the fluid domain then scale
it down in the Z direction so it’s about half the height of the
start cube. Move the new slab object up so it’s about a third of
the way between the start cube and the top of the domain. In
Figure 11-1 you can see the size and location I used.
210
run the animation and you should see the smoke hit the new
baffle.
4. Now make a hole in the slab about a quarter of its overall width
and over to one side, again, you can see the proportions I used
in Figure 11-1 and Figure 11-2. The simplest way to make the
hole is to add a cylinder to the scene, reduce the Vertices to 8 in
the Adjust Last Operation panel then, when it is suitably scaled
and positioned, apply it as a boolean difference modifier to the
slab. In order to see the smoke flowing around the baffle add a
new material to it, change the shader to Glass BSDF and reduce
the IOR to 1.01. Duplicate the slab, move it up and rotate it 90
degrees about the Z axis. You may once again have to force a
re-bake of the fluid simulation to see the effect of these double
baffles.
6. Finally, see what happens when you tick the Border Collisions
check-boxes in the domain object and try adding an empty to
the scene with a force field set to Wind, Vortex or Magnetic
Liquid
1. First of all save the blend file so you can use it to make a video
later, then delete the empty with the force field as this will be an
211
unnecessary confusion to start with. It would be a good idea to
save the blend file now with a different name so you don’t
accidentally overwrite the smoke version at the end of this
exercise.
3. The start cube still needs to have Type set to Flow but the Flow
Type should be changed to Liquid. Keep the Flow Behavior as
Geometry for the moment.
212
6. Once the animation has run and the cache has been re-baked,
you need to do a few more things to make the liquid look like
water. First, in the Object Properties tab for the domain change
the Display As setting back to Solid, it only needed to be wire
to allow you to see the blue particle simulation stage. Next open
the Material Properties tab and change the surface shader to
Glass BSDF, giving it an IOR of 1.33. When you view this as a
render preview, with the cycles render engine, it should look a
little bit more watery but rather lacking in reflections and
somewhat turbid. That’s because the quick smoke effect added a
volume shader to the material, so remove that. You should also
set the object shading to smooth and, to provide some more
interesting reflections, change the world background color to an
environment texture. The right side of Figure 11-2 shows the
final render.
These two fluid simulations give you an idea of how to start
setting up your own projects, and the kinds of problems you might
encounter, however they barely scratch the surface of the potential
available. Viscosity, surface tension, foam, spray and bubbles are
possible and allow all manner of effects from molten metal to tidal
waves.
In the next sections you will move onto a form of simulation mid-
way between fluids and rigid body physics; cloth and soft bodies.
Coth
This basically does what it says on the tin. You make a mesh,
define it to be made from cloth by adding a modifier and when you run
the animation it crumples and deforms like cloth. OK, so there are a
few details that you need to set up as well.
1. Save the liquid project and start a new scene, then with the start
cube selected, add a cloth modifier to it. When you start the
animation playing the cube will fall and disappear off the
bottom of the screen.
213
3. In order for a mesh to deform like cloth it needs to be
subdivided to a relatively fine level of detail. So add a
subdivision modifier to the cube, select Simple and increase the
subdivisions to 4. The animation still won’t work yet because
the subdivision is happening after the cloth, but when you move
the modifier up you should see a crumpling cube.
4. Now you can have some fun by adding internal pressure to the
cube. Tick the check-box for the optional Pressure section in the
Physics Properties tab then increase the value of Pressure to 5.0.
Now when you run the animation the cube will inflate and
bounce realistically on the plane. Duplicate the cube twice and
move the duplicates above and slightly to one side. If you try
running this you will see that you need to add a collision
modifier to two of the cubes as you did for the plane in order to
make them interact with each other.
6. When you run the animation you should see the curtain drape
and then deform realistically as it is hit by the cubes. As with
the fluid simulations there are many setting to adjust and create
anything from a rubber blanket to silken gauze. Mix up some
materials as well to create an interesting scene as in Figure 11-3.
Note that this render was done using the eevee engine with
ambient occlusion, bloom, screen space reflections and motion
blur all turned on. Also I added a solidify modifier to the
214
curtain, after the cloth modifier. Sometimes the Blender physics
simulation system may struggle with multiple different collision
objects and not produce the expected distortions on the cloth.
For the example shown in Figure 11-3 I had to make sure that a
cube with a collision modifier hit the curtain and that the curtain
did not have a collision modifier.
Soft Bodies
Unsurprisingly soft bodies lie part way between cloth objects and
rigid bodies and one of their most useful applications is to animate
parts of a character automatically. Details such as hair, jowls, bellies,
loose clothing or antennae should all be animated in time with the
movements of the character and this would be very time consuming to
do convincingly by hand.
You will apply a method using a soft body to animate the belly of
the peasant man salsa dancing FBX model you downloaded in Chapter
6.
1. Start a new scene, saving the cloth simulation for later, don’t
delete the start cube, this will become the soft body, then import
the salsa dancing FBX file following the instructions in Chapter
6. Select the armature then open the Object Data Properties,
which has changed to a green stick-man icon, and under
Skeleton select Rest Position.
215
2. The peasant man will be submerged inside the cube so select the
cube that will become the soft body, and scale it down so it’s
about the size of the belly area then move it in the Y and Z
directions so one side is just inside the man’s body as on the left
of Figure 11-4, this is most easily done in orthographic view.
Just to preempt any confusing behavior later, select
Object4Apply4All Transforms.
Figure 11-4 Making a Soft Body to Deform the Peasant Man’s Belly
3. In Edit mode add an edge loop then scale and move the vertices
to more closely match the shape of the belly as in the middle of
Figure 11-4.
4. You need to define a vertex group to use for attaching the soft
body to the armature, in a very similar way to creating the pins
for the cloth curtain simulation. Still in Edit mode select the
four vertices nearest to the man, create a vertex group, rename it
pins and assign the selected vertices.
5. To attach the the soft body to the armature you will need to
parent it and add an armature modifier. The quick way of doing
that, which you used before, was to use the parent with
automatic weights option, however that would add a vertex
group for every bone in the armature and would try to guess
what weight to use for each. In this case you want to just use
one bone, the Spine, so the easiest route is, still in Edit mode,
select all the vertices then create a new vertex group and rename
it Spine. Note that it has to match the name of bone exactly,
then assign all the vertices to that group. Switch back to Object
mode and SHIFT select the armature as well, the soft body
should be highlighted in orange and the armature in yellow, then
select Object4Parent4Object. The final step is to add an
216
armature modifier to the soft body and specify the armature in
the Object field.
217
8. To make the vertices move with the gyrations of the soft body
you need to switch back to Object mode and add a Surface
Deform modifier. Set the soft body, still named Cube, as the
Target and, in the Vertex Group field select belly. Change the
Strength to 0.3 then click Bind. In the outliner hide the soft
body object in the viewport and the render. The right hand
image in Figure 11-5 shows the two views superimposed; with
and without the modifier.
Using soft bodies to animate parts of characters can be very useful
but sometimes they behave a little too like jelly and it can be hard to
reduce the amount of wobbling. For things like hair, which are
relatively light and floppy, it is normally better to follow almost the
same procedure as that outlined above, but use a cloth modifier instead
of the soft body. One additional problem for dangling features, such as
pony tails, purses or sporrans, is that they need to be prevented from
swinging inside the character’s body. Rather than add a collision
modifier to the whole of the character mesh, which will have thousands
of polygons and a complicated geometry, it is much more efficient to
put the modifier on a simple mesh with only a few vertices and parent
that mesh to the armature as a deflector.
Rigid Bodies
In some ways rigid bodies are the simplest concept in the range of
Blender physics processes. Rigid bodies collide with each other in a
realistic way and can be connected together using different types of
links. However the construction of the rigid body constraints is not
very intuitive and takes a little practice to get the hang of. More
importantly, there can be conflicts in Blender’s internal machinery for
applying modifiers and other physics systems at the same time as rigid
body simulation. For instance, it is much harder, and less reliable, to
construct a system of rigid bodies connected by damped springs to
simulate the swaying belly of the peasant man than to use a soft body
or cloth simulation.
To finish off this chapter you will do one more exercise modeling
six spheres rolling into a bowl. This simulation will be used for an
animation in Chapter 13 in which the spheres turn into bugs that uncurl
and start crawling out of the saucer. There will be five bug spheres
which will be joined together into a kind of train using rigid body
constraints and there will be a heavier sphere that will be launched
around the bowl to jostle them.
218
A problem you will encounter with rigid bodies, sooner or later, is
their tendency to pass through each other. Apart from forgetting to
define them as rigid bodies, the most frequent cause of this behavior is
due to scaling meshes and not applying the transform to the vertex
locations.
2. To make the bowl interact with the balls when they’re added
you must make it into a rigid body. With the bowl selected open
the Physics Properties tab and click on Rigid Body. There are
several things you need to correct with this setup but you will
pick them off one by one, that way you can see the symptoms
and, if they occur later, you will know how to fix them.
219
4. When you play the animation you will see that the bowl and the
ball both fall under the effect of gravity. In order to stop the
bowl falling you need to tick the Animated check-box in the
Settings section of the rigid body. The bowl should stay where it
is now but the ball will stop abruptly just above the bowl, level
with the top edge. That’s because the collider shape defaults to
Convex Hull, but the bowl is, by its very nature, concave. If you
position the ball below the rim of the bowl it will be ejected
dramatically by the simulation.
5. To make the ball bounce off the actual surface of the mesh
change the Collisions Shape to Mesh, for the bowl, but for the
ball set it to Sphere. Now when you run the animation the ball
will very likely drop through the mesh, if it doesn’t, try moving
the start point around, the majority of locations should cause the
ball to fall through.
7. There is one other change you should make now, before you
start carefully positioning the balls to create an interesting
animation. The smooth or flat shading option changes the
normal directions that are used by rigid body physics, as well as
for light reflection, so you should set the option to smooth
shading now.
8. The ball you just made will be the heavy ball to knock into the
bugs so keep its weight at 1.0, but to keep it rolling round and
round the bowl you should reduce the friction. In the rigid body
properties, under Surface Response reduce Friction to 0.1 and
Bounciness to 0.5, under Dynamics reduce the Damping
Translation to 0.0 and Rotation to 0.0.
9. To create the bugs, duplicate the ball and change its mass to 0.1
then duplicate the lighter ball four more times. Position these
five balls on the flat edge of the bowl so they are just above the
surface and separated by about one diameter. The idea is that
220
the bugs will slowly fall into the bowl and the heavier ball will
be fired horizontally so it hits them. You can see the locations in
Figure 11-6. Make sure that the balls are not intersecting the
surface of the bowl otherwise they will experience a strong
repulsive force in the first frame of the animation!
10. To join the bug spheres into a train you need to add four
constraints. In Blender each constraint is expected to be added
to a new empty object and the constraint specifies the two other
objects to be linked as well as all the physical properties of that
link. For most rigid body constraints the location of the empty
object relative to the two linked objects is critical to its behavior
and behaves most reliable if placed mid way between them.
Fortunately there is a menu option to automate much of this.
Select the first and second bug then use Object4Rigid
Body4Connect, then select the empty object that has been
generated and in the settings for the rigid body constraint
change the Type from Fixed to Point. Repeat the process until
all five balls are joined together.
11. When you run the animation you should see the first ball slowly
roll away from the flat edge area and drag the other four with it.
You might need to adjust the balls’ positions or tweak the mesh
of the bowl, but if you do move a ball you should move the
empty object that holds the constraint so it’s approximately mid
way between each of the balls. Notice that the empties do not
move with the balls but the constraints are constantly re-
calculated as if they had done.
12. To give the heavier ball some starting velocity you will animate
its position for the first few frames and then switch back to
simulation. Select the heavier ball and, in the rigid body settings
tick the Animated check-box under Settings. Make sure that the
animation position in the Timeline is set to frame 1 then, with
the cursor over the check-box press I to insert a keyframe. With
the cursor over the 3D Viewport press I again and select
Location. Now move the position on the Timeline to frame 5
and move the ball in the 3D Viewport in the direction you want
to fire it so it will hit the five bug balls. Insert a keyframe here
by pressing I and again selecting Location. In the rigid body
un-tick the Animated check-box and insert a keyframe for that
by pressing I with the cursor over it. If that was all done
correctly then, when you play the animation you should see the
ball set off circumferentially round the bowl.
221
13. It is very unlikely that you will hit the bug balls first try. Often,
if you do hit them, either the heavy ball or the bug balls fall out
of the bowl. I found the easiest way to get the right direction
and speed was to view the bowl from straight above and keep
moving the first frame location of the heavy ball, remembering
to reset the keyframe each time by pressing I. Because you have
a keyframe to turn animation off on frame five you will not be
able to move the location of the ball at that point unless you
temporarily tick the Animated check-box. To increase the initial
speed increase the distance between the first frame position and
the fifth frame position. I also had to move all five bug balls a
small amount, along with their constraint objects, to get the
timing right.
14. In the end I managed to get two collisions within 250 frames. If
you want to run your animation longer then you can change the
End field in the Timeline, however there is a separate location
where the end of the simulation is set, and this defaults to 250
frames. To change this, open the Scene Properties tab, which
has a cone and sphere icon, expand the Rigid Body World
section and then the Cache section where you can set the
Simulation End field to match the end of your animation.
NOTE The Scene Properties tab also contains settings that allow you to fix
problems with physics in the rigid body world. Increasing the
accuracy of the simulation can prevent fast moving objects
“tunneling” through other objects and similar effects, but at the
cost of slowing down the calculations. There are similar controls
available for fluids, cloth and soft bodies in the Physics Properties
tab.
You will use this scene in Chapter 13 as the basis for a short video
using cartoon style shading so there’s no point working on the materials
and other details now, just save the project along with the other blend
files for this chapter.
Conclusion
You have glimpsed each part of the wide range of physics engines
built into Blender. You should have an appreciation for the potential
traps, and how to avoid them but you probably feel there are several
222
different mechanisms all nearly doing the same thing, so it might be
worth taking a step back and reviewing how they fit together.
For cloth and soft body physics the distinction between the two
systems becomes much less distinct. It is possible to create bouncing
cubes using rigid bodies, cloth or soft bodies and your choice will
depend on how important it is to see realistic deformation of the mesh,
the complexity of the scene and the requirements for other constraints
on objects’ movement.
223
12
A N I M AT I O N A N D R I G G I N G
224
familiar with the process of adding keyframes to a property, such as
when you applied an initial velocity to the ball in the last chapter. This
chapter will provide some depth to your understanding of keyframes
and introduce alternative editors that can make editing scenes simpler.
However, before that, you will learn some basics of rigging by making
an armature to control your own model and then by adding a standard
armature to a previously un-rigged figure.
The armatures that you have used so far have all been controlling
soft surfaces. The manikin you made in Chapter 4 and the peasant man
and lola that you imported as animated .fbx models in Chapter 6 all
deformed smoothly at the joints as you rotated the different bones.
2. You will now add five more meshes while in Edit mode so they
will be part of the robot_arm object but the vertices will not be
connected. First make the two arm sections by selecting
Add4Mesh4Cube then scaling the mesh down in the X and
Y direction with S then SHIFT-Z then 0.2. Move the new cube
in the Z direction so it’s above the platform then duplicate it and
move the duplicate in the Y direction. Now create the cylinders
for the joints, after adding the mesh open the Adjust Last
Operation panel and change the Vertices to 16, Radius to 0.2
and Depth to 0.4 then move the cylinder in the Z direction until
it is almost completely protruding from the top surface of the
platform. Duplicate the cylinder, rotate it about the Y axis by 90
degrees, move it in the Z direction so the axis is about level
with the top surface of the original cylinder then duplicate the
225
second cylinder and move it in the Z direction so it’s clear of the
other components.
3. Now you should arrange all your components into a robot arm
shape using the orthographic view along the X axis as shown on
the left of Figure 12-1. So long as you specified the Z or Y
directions when you did the movements in the last paragraph,
everything should lie in the plane X = 0, but check this by
viewing along the Z or Y axis. You can select all the vertices in
each of the meshes by first selecting one vertex then running
Select4Select Linked4Linked. But note that you will need to
do that selection many times during this exercise so you might
want to adopt the shortcut CTRL-L.
4. You will now add an armature to control the robot arm. Switch
back to Object mode and select Add4Armature4Single
Bone. Keep in orthographic view from the side and switch back
to Edit mode. The starting single bone of the armature will be
the “root” bone for positioning the whole robot arm assembly
and you are now going to extrude three more bones for the
remaining moving parts. The first bone will be for rotating the
arm about the vertical axis, the second will be for rotating the
first stage of the arm about a horizontal axis and the third bone
will be for rotating the last part of the arm. The cylindrical
hinges represent the mode in which the robot arm is intended to
bend.
226
NOTE Armature bones are directional, in that each has a root, about which
they will rotate when posed, and a tip. In Edit mode it is possible
to select either the tip of a bone, in which case extrusion will cause
a new bone to branch from that tip, or the whole bone can be
selected, in which case a new bone will also be created from the tip
of the previous bone in the chain, if one exists.
5. Select the top end of the initial bone and extrude in the Z
direction until the tip of the new bone is at the center of the
horizontal cylinder. Extrude the next bone and guide its tip to
the center of the next hinge cylinder. Finally extrude the last
bone so its end is at the end of the robot arm. On the left of
Figure 12-2 you can see the positions of the bones.
7. You will find that there are two problems as shown in the
middle of Figure 12-1. The first is that the joints all behave like
ball and socket with no restriction of how far, and about which
axis, rotation takes place. The second issue is that the cylinders
become distorted as the arm is posed, and move relative to the
cuboid section of the arm. Switch back to Object mode, select
the robot_arm object and switch to Weight Paint mode. In the
Object Data Properties select each of the vertex groups and see
how the color varies. On the right of Figure 12-1 the weights
are being shown for vertex group Bone.002, some vertices are
being affected by more than one bone and, for any given bone,
some vertices are being affected more than others. This isn’t
what you want for a supposedly solid component.
227
Resetting Vertex Groups
8. First remove all the vertices from all the groups. Switch to Edit
mode and select all the vertices, then, in the Object Data
Properties tab select each bone in turn and click Remove. Now,
select a vertex on the platform mesh and extend the selection to
all linked vertices, then select the Bone vertex group in the
Object Data Properties tab and click Assign. Repeat this process
with the vertical axis cylinder and Bone.001. For Bone.002
select a vertex on the next cylinder as well as the first part of the
arm before selecting linked vertices and assigning them. Finally
select the last cylinder along with the last part of the arm to
assign to Bone.003.
Bone Constraints
9. Now when you pose the armature there is no distortion but the
hinges still have too many degrees of freedom. You need to fix
that by setting bone constraints. With the armature selected and
in Pose mode select Bone.001, the one that should only rotate
about a vertical axis, then open the Bone Constraints Properties
tab and select Limit Rotation. It might seem logical to set the
X and Y limits to 0 for Max and Min then limit Z to -45 to 45.
And this would appear to work, but only so long as the platform
wasn’t tilted at all. That’s because the default frame of reference
for the rotation limits is World Space and you want your bones
to rotate relative to the position of the previous bone, which is
Local Space, so you must change that for each bone. However
before you start trying to set the limits for each of the bones you
should open the Object Data Properties tab, and in the Viewport
Display section tick the check-box next to Axes. Now you can
see that Bone.001 should only be allowed to rotate about its
local Y axis and the next two joints should only rotate about
their local X axes. The actual values of the Max and Min will
depend on the starting rest pose and the configuration of the
joints so you will need to figure those out by a process of trial
and error.
10. The robot arm is now behaving like a piece of machinery and
can be posed by rotating each bone. However it’s quite a long-
winded process if you wanted, say, to make the tip of the robot
arm follow the outline of a square on the floor. To do tasks like
that, very quickly and easily, Blender has an inverse kinematics
solver available as a bone constraint, which you will now add to
228
your robot arm. Inverse kinematics, or IK, is widely used in
game engines and other posing software to attach a hand or foot
to a given location, notoriously to prevent feet sliding over the
ground as a character walks. To act as a target for the inverse
kinematics, add an empty object to your scene and move it
somewhere in front but within reach of the robot arm. Select the
armature, change to Pose mode and select the last bone,
Bone.003. In the Bone Constraints Properties tab add an inverse
kinematics constraint and set the Target to the new empty
object. The tip of the bone should reach to the empty but you
will probably see the whole robot arm tilt. This is because you
haven’t limited the IK solver to just the last three bones. Change
the value of Chain Length to 3.
Inverse Kinematics
11. When you move the empty object around, the robot arm will
follow it but the bone constraints for the joints have stopped
working. This can be rather confusing at first, however the
reason is that there are additional IK controls within each bone’s
Bone Properties tab. Not only is it possible to add constraints
for joint rotation but joints can have variable stiffness to resist
rotation in some directions rather than others. For this exercise
just go through the Inverse Kinematic settings for the three
bones in the chain and set the rotation constraints to match those
set up as bone constraints. You will see that there are useful arcs
drawn in the 3D Viewport to represent the range of movement.
12. On the right of Figure 12-2 you can see that I added three
different materials using the vertex groups of my robot arm and
also a bevel modifier, the lighting is using an environment
texture. Animate the robot arm by moving the empty object and
setting keyframes for its location. You could do all kinds of fun
things such as following the outline of lettering or following the
seams of a simple mesh that was “appearing” one face at a time
using a build modifier.
229
Figure 12-2 Setting the Robot Arm Joint Constraints
Rendering an Animation
1. In the Output Properties tab under the Output section open the
file browser and create a new directory in the location for this
chapter’s files then click Accept to set the directory. Unless you
have a powerful computer it’s probably worth setting
Resolution percent to 50 in the Dimensions section as well.
Leave the Render Engine as Eevee in the Render Properties tab.
Note that the rendering is still set to produce png images rather
than a video format and this is the preferred option, partly for
quality reasons but also, if something goes wrong or you need
to stop the render part way through, you can carry on rendering
from the next frame at a later stage.
230
4. At this point it would be possible to do various adjustments and
compositing but for this exercise simply save the sequence as a
video. Open the Output Propterties tab and browse in Output
the same folder you saved the frames and change the File
Format to FFmpeg video. Finally, from the top menu select
Render4Render Animation again.
The FFmpeg video format is the most flexible to use and the
default encoding is Matroska, however, because of the mess of
different standards and intellectual property claims you might find that
your particular version of your particular operating system won’t play
the video. You can either find a video player that will play the .mkv file
you created or you can choose from a wide variety of different
encoding formats such as MPEG-4, AVI, Quicktime or WebM. If you
get stuck there is lots of help available online.
Now you know the basic way to generate a video you can convert
the simulation exercises from Chapter 11 to artistic masterpieces, and
start to build up your youtube following.
1. Start a new scene, save the robot arm project and delete the start
cube. Use the top menu File4Import4Wavefront (.obj) and
navigate to where you downloaded the files for Chapter 6.
231
2. Convert the model to the correct size and orientation by scaling
to just under 2 grid lines and rotating about the X axis by -90
degrees. I’m sure you know this by now, but if you scaled and
rotated in Object mode you need to apply the transformations.
Rigify
4. With the armature selected switch to Edit mode and roughly line
up the armature with the mesh. For this first stage I suggest you
stick with box select mode and select parts of a limb to move
and rotate as one block, positioning in stages. For instance, first
select the whole of the right arm and rotate it to about the
correct orientation and position it so the elbow is in the right
place, then select just the forearm and hand and adjust it so the
wrist is nearly in the right place, and finally select just the hand
to rotate the wrist to match the angel’s hand. Obviously you
need to move the view position around to help with this but you
will also benefit from switching between normal rotation, in the
plane of the screen, and track-ball rotation using shortcut R
twice. On the left of Figure 12-3 you can see the final
positioning of the right hand using this technique.
232
5. The detailed face features of the human meta-rig are too
difficult to match to the angel’s face, partly because the pose is
not symmetrical, but you can do without them for this exercise.
Carefully select all the face bones, without selecting the head or
neck bones (the bones you need to keep will be called
Spine.006, Spine.005 and so on) and delete them. The Face
bone may be hidden by the Head bone.
Snap to Volume
6. You should be able to get the feet lined up by selecting the three
bones involved and rotating and moving them as described
above. To position the knees you need to select just the ball
representing the joint between the femur and the shin bone
which can be moved without disturbing the position of the ankle
or hip joints. On the right side of Figure 12-3 I have selected the
first joint from the tip of the right ring finger. However notice
too, at the top of the image, that I have switched snapping on
and set the type of snapping to Volume, this is crucial for
rigging animals. The other setting you may find helpful is to
change the selection mode to Tweak, the shortcut for quickly
changing from one selection mode to another is W. You should
now find the rigging of all the finger bones really quite easy.
When you’ve finished, don’t forget to turn snapping back off
otherwise you will be scratching your head when you come to
pose the armature later.
7. When all the bones are lined up you might be tempted to parent
the angel object to the armature using automatic bone weights,
as you have done before, and you would then be able to change
the pose. However this would be hard work, especially to get
the finger joints to move realistically. So, instead of this, you
will convert the armature to a rigify armature and then use that
to pose the model. Select the armature in Object mode then
open the Object Data Properties tab, expand the Rigify Buttons
section and click on Generate Rig.
233
slightly without causing any connected bones to rotate.
Unfortunately there are several bone ends that rigify expects to
be coincident, some in the face and one between Spine.003 and
Spine.004. The easiest way to make one end of a bone coincide
with the end of an unconnected one is to set snapping to Vertex,
so, if you get an error of this type when you tried to build the
rig, use snapping to position the bone ends and try again.
THE 3D CURSOR
If you search online for help with problems converting an armature to a rigify rig,
you might well find a suggestion as above, but with instructions to first snap the 3D
cursor to the position of one bone end and then to snap the second bone end to the
position of the 3D cursor. If you look in the menu for the armature in Edit mode you
will see, under Armature Snap, a series of options including the ones involving the 3D
cursor.
Up to this point in the book I haven’t mentioned the 3D cursor, not because it
isn’t sometimes useful, but the number of occasions where you need to use it are
much reduced compared with the earlier versions of Blender. The 3D cursor is the
default spawn point for objects added to the scene and it is used by several of the
mesh transforms such as Bend, Warp and Spin.
9. Once the rigify armature has been created you can parent the
mesh to it for posing. First hide the metarig armature object
which will not be used any more, then select first the angel
mesh object, then the rig object, and select
Object4Parent4With Automatic Weights.
234
and uncurl which is a very useful feature for posing. Remember,
in order to rotate in the plane of the screen use a single press of
R and to track-ball rotate press R twice.
12. Now add some keyframes for the movement of the angel’s arms
and head. Select the rig object and switch to Pose mode, then
select the right hand IK bone and insert a keyframe by pressing
I and selecting Location, Rotation & Scale. Move the current
frame pointer in the Timeline on to 50, which is about 2 seconds
then position the right hand about where the right, back pocket
would be. Rotate the hand so the fingers are pointing
downwards and the palm is twisted towards the angel’s back.
The hand will be hidden from the camera but the IK process
might propagate twist back up the chain of bones which would
impact on the rotation of the elbow and shoulder. Insert a
keyframe here. Move to frame 100 and position the right hand
in front of the angel’s chest, somewhere it would be comfortable
to read a text message, and insert a keyframe. Don’t worry
about positioning the fingers at this stage, you will do those
later.
13. To return the phone and strike the original pose you will copy
these three keyframes. Make the Timeline area a little larger
then select the first keyframe, duplicate it using SHIFT-D and
move the duplicate to frame 250. Duplicate the keyframe at 50
and put a copy on frames 75, 175 and 200, the same position
from frame 50 to 75 and from 175 to 200 represent the pause
while the phone is being taken out of, and reinserted into, the
back pocket. Duplicate the keyframe at 100 to frame 150 which
will give the angel about two seconds to see the message and
press the acknowledge button.
235
NOTE The Timeline shows the keyframes for each of the selected objects
in the scene that have had any keyframes previously added. On the
left is a collapsible hierarchy of detail, and if you expand that, you
will see that there are keyframes for each component, enabling, for
instance, the X rotation to take place prior to the Y rotation. When
you copy or move keyframes, especially if more than one object or
bone is selected, you need to be careful that you only select the
ones you intended.
236
16. You now need to set the position and rotation of the phone for
these two frames. At frame 69 the phone should still be behind
the angel’s back, so press I with the cursor over the 3D
Viewport and select Location, Rotation & Scale. Move
forward to frame 70 and position the phone correctly relative to
the hand. You will sort out the finger positions later so try
holding your own phone and see where it lines up relative to
your palm, it only needs to be fairly approximate. Insert a
keyframe here as well, then, in the Timeline duplicate the
keyframe at 70 to 180 and 69 to 181, the reverse order for
letting go of the phone.
17. Sort out the fingers on the right hand by moving to frame 69
then selecting the rig armature and entering Pose mode. Select
the spatula controls for all four fingers and the thumb then enter
a keyframe so they keep their starting positions. Move on to
frame 70 and pose each finger by scaling and rotating the
spatula controls, once each finger is correct save a keyframe for
it. It might be easier to see what it looks like by moving forward
to frame 140, say. If you enter the keyframes at this later time
then you must move them back to frame 70 by dragging them in
the Timeline area, see Figure 12-4. When it looks good,
duplicate the keyframes in the Timeline in reverse order to 180
and 181.
18. Now that you have a phone with which to interact, you should
animate the left hand, the head and the neck. I did a little role
play to get the timings of when the angel might start to move
their left hand, and glance down. It seemed more natural to do
most of the phone extraction and lifting up before moving the
left hand to press the button and glancing down at the screen.
237
You could add some slight shoulder or torso movements as well
if you thought they made the animation more realistic. The left
hand is already held in a pose suitable for touching a screen but,
again, you might like to add a little movement to add some life.
19. The Graph Editor area extends the functionality of the Timeline
by representing not only the time of each keyframe but also the
value at each point and the shape of the curve between the
keyframes, see Figure 12-5. Change the Timeline area to a
Graph Editor then, with the rig armature in Pose mode, select
the right hand IK bone. As you can see there is a lot of info
squashed in here so there are two ways you could reduce the
clutter; the first is to hide the channels you’re not editing by
clicking on the eye symbols on the left, the second is to adjust
the ends of the sliders to set the range of the area to match the
graph.
238
animation until you get the right level of variability to stop it
looking too much like a robot arm but short of delirium
tremens!
21. Once you have all the animation working well, with the right
amount of noise, you can add some artistic style and create
another video. These were the features I added, but you
shouldn’t feel constrained by this list: A marble material for the
angel, mainly different scales of noise texture with Normalize
un-checked for subsurface color and bump map. A shape key to
rotate the eyes and eyelids, animated to flick downwards when
the head tips forward. An environment texture of a suitable
indoor space, a cloth plane to animate the right wing, and
finally, camera animation. To add keyframes to the camera,
select it in the outliner then switch to camera view in the 3D
Viewport, set the frame in the Timeline area, move the camera
using the walk navigation controls, and save keyframes by
pressing I and choosing Location & Rotation.
For the third exercise of this chapter you are going to take the two
characters you downloaded from Mixamo and use their animations in a
creative way. The first problem is to stop Lola’s hands from moving
while they should be gripping a hold, which you can do using an IK
constraint. You then need to apply the climbing up the wall animation
to the peasant man, and when they both reach to top of the wall you
need to apply the salsa dancing animation to Lola so the two characters
can celebrate together. You will use the wall factory add-on to build the
castle walls and a cloth simulation to create a rope.
1. Save the last exercise and start a new scene. Delete the start
cube then import the .fbx file of Lola climbing a wall which you
downloaded for Chapter 6. Add two empty objects to the scene
and rename them left_hold and right_hold.
2. You now need to find where would be a good place to fix the
holds. Run the animation one frame at a time by pressing
RIGHT, and when the left hand looks to be latching onto a hold
move the empty up so it lines up with the tip of the hand bone.
You will need to change the Viewport Display option for the
239
armature to In Front in order to see all the bones. Use
orthographic view from the side and the front to help position
the empties. As you move the animation on, the hand will slide
slightly but that’s the point of doing this exercise so don’t
worry.
3. You will add an IK constraint for each hand to make them stick
to each of the holds, and you will animate the strength of the
constraint from 0.0, a few frames before the hand lands on the
hold, to 1.0 at the start of holding on, then 1.0 at the end of
holding on, to 0.0 at the end of letting go. Because the
animation loops very nicely, the constraint for both hands
should be 0.0 for the first frame and the last frame, otherwise
there will be a discontinuity in the hand positions. Move back to
the first frame, select the armature, switch to Pose mode and
select the right hand bone. In the Bone Constraints Properties
tab select Inverse Kinematics then set the Target to
right_hand and Chain Length to 4. The right hand is actually
on the hold in the first frame but set the Influence to 0.0 and add
a keyframe, move forward three frames, set the Influence to 1.0
and add the next keyframe. The frame to start letting go is when
the left hand starts to curl over its hold. Move forward to that
frame and insert another keyframe with Influence still at 1.0
then allow the motion to blend smoothly into the animation by
setting the Influence to 0.0 ten frames later. Figure 12-6 shows
the sequence of keyframes.
4. Repeat the procedure for the left hand. The first keyframe
should be for Influence 0.0 ten frames before the hand reaches
the hold and, at the end of the loop the influence should drop
smoothly to 0.0 again by the last frame. When you run the
animation the hands should stay in place once they’re grasping
a hold.
240
Ideally the animation would last for several loops, to allow you to
record a few seconds of continuous climbing, and you can probably see
one way to do that. It would be quite easy to copy and paste all the
keyframes so they were repeated a number of times, then in the Graph
Editor, increase the values of the Z component of the armature root
bone so that the second loop continued from the end of the first, and the
third continued from the second. However there are deficiencies with
that technique, the first one being that the empty objects controlling the
IK constraints would have to be moved up at the end of each loop. The
second problem is more practical, where you are using a short
animation repeated many times, for instance the legs of a bug scurrying
along, it becomes very hard to manage a scheme based on copying and
pasting.
5. To bake the animation, select the armature and enter Pose mode.
Select all the bones then from the menu click
Pose4Animation4Bake Action and tick the four check-boxes
Only Selected Bones, Visual Keying, Clear Constraints and
Overwrite Current Action. If you don’t tick the last option, you
will preserve the animation imported with the .fbx, and Blender
will generate a second action with the generic name “Action”,
“Action.001” and so on. This might be useful if you were going
to make different versions of the animation, each requiring
tweaking, but in this case it will be fine to just overwrite it.
Bake Data should default to Pose but make sure the Start Frame
and End Frame are correct, then click OK.
241
are still there, but underlined in red to show there is an error.
Delete each of the lines.
7. There are two more editor types that you will need to use for
more complicated animations. The first one to look at is the
Dope Sheet which allows you to see keyframe positions for a
variety of different types. Change the area at the bottom from
Timeline to Dope Sheet, then change the Editing context drop-
down from Dope Sheet to Action Editor. As shown in Figure
12-7. At the top of the area some options have appeared; Push
Down, Stash and a drop-down to Browse Action to be linked to
the object. At the moment there is just one action, but now is a
good time to rename it to climbing_baked_ik. When you import
the Peasant Man .fbx there will be another action and this is
where you will be able to swap them, to make the Peasant Man
climb and to make Lola dance.
242
Figure 12-8 The Nonlinear Animation Editor
10. If you now change to the Timeline view and increase the End
frame so you can see all three strips playing you can see that
you still need to correct the start position for the second and
third strips. The tidiest way to do this is to have one empty
object that can be moved around the scene to provide the start
location for the animation, and a second empty that will move
up by the correct distance at the end of the first and second
cycles. Create two empty objects and rename them lola_start
and cycle_start. Select first the armature object then the
cycle_start object and hit Object4Parent4Object, then, in a
similar way parent the cycle_start object to the lola_start object.
243
11. In the Timeline move to the last frame of the first animation
cycle and with the cycle_start object selected add a keyframe
for its location by pressing I with the cursor over the 3D
Viewport. Use the orthographic view from the side and zoom in
so Lola’s head is about half the height of the screen, then pan
the view so the tip of Lola’s nose if exactly in line with the top
edge of the window. Move forward one frame then move the
cycle_start in the Z direction until Lola’s nose is in the exact
spot it was at the end of the previous cycle. Add a location
keyframe for the cycle_start here. Repeat the process at the end
of the second cycle, adding a keyframe in the same location,
and on the next frame a location that keeps her nose in the
correct place. Now you can move the lola_start empty to
different locations on the castle walls and she will climb there.
Simulating a Rope
Now that the climbing animation is sorted it’s time to construct the
rest of the set. Having a rope dangling from Lola’s waist will add a
dynamic element so do that first.
1. Add a plane to the scene and rename it rope, then scale and
move it so it’s where the floor would be behind Lola’s back,
you can judge the size from Figure 12-9. In Edit mode
subdivide the plane four times then, with edge selection
enabled, delete rows of edges so you are left with a serpentine
shape. Move four or five vertices so the end vertex is just
behind Lola’s waist. Finally create a vertex group containing
just the end vertex called “mixamorig:Hips”, this has to match
the bone name in the armature but you can also use it as the pin
group in the cloth.
244
Figure 12-9 The Rope
3. To make the castle wall, enable the Extra Objects add-on then
hit Add Mesh Extras Wall Factory, then move and scale the
section of wall to match Lola’s climbing. Add two array
modifiers to the wall object, one repeating in the X direction
and the other repeating in the Z direction. You might need to
tweak the factors from exactly 1.0 or -1.0 so you don’t have
gaps. To make the blocks expand to touch each other without
leaving cracks you can select all vertices in Edit mode then
Mesh4Transform4Shrink/Fatten. You will probably want
to add a bevel modifier and create a suitable stone material. To
avoid distortion of textures on the end of the blocks you should
smart unwrap the UV map and feed that as an input to the
texture nodes.
245
4. Use an environment texture for the background and adjust the
strength to give it night-time lighting. I used the eevee engine
for speed but set ambient occlusion and motion blur on. In
retrospect the motion blur was a mistake because of the jump
frame of the cycle_start empty object. I also reduce the frame
size to 50 percent which rendered each frame in about one and a
half seconds on this desktop computer with a reasonable, if old,
graphics card. To add a little more realism I also added a tiny bit
of noise to the camera X and Y rotation, for a hand-held feel.
Render two or three videos of Lola climbing quite high on the
wall, as image sequences that you can mix later.
246
cycle_start empty objects. Do that in the Dope Sheet either by
clicking the X next to Browse Action to be linked or deselect
the check-box on the channels list. In the Timeline change the
end frame to match the length of the dance then move both
characters to the top of the wall and record some video of them
dancing.
9. When you have all the footage you need, create your final
masterpiece using the Video Sequencer as shown in
Figure 12-10. There are many controls available here, and it’s
hard to do more than scratch the surface in this exercise,
however two things may be useful. The first one you may want
to use is the fade effect which you can can control using the
right Sidebar in the Compositing section. You can set keyframes
for the Opacity in the same way you have used to animate other
Blender values. The second one is to slow down a strip, or part
of a strip. For this you need to click Add Effect Strip Speed
Control from the area menu, again, there are many controls
available in the Sidebar.
Before closing the chapter there is one job that belongs here. When
you used rigid body simulation in Chapter 11 to bounce balls off each
other as they rolled around a bowl, I mentioned that you would use
them later in the book, and that the balls would turn out to be bugs that
would uncurl themselves and scuttle back up the sides. Well now would
be a good time to create the meshes, armatures and animations for
those bugs.
247
Creating and Animating a Bug
1. Start a new Blender scene, saving your previous work, but leave
the start cube as the basis for the bug mesh, and rename it bug.
The balls in the simulation were radius 0.2 so the bug should be
about 0.6 long, 0.2 high and 0.4 wide. You can see the
proportions in Figure 12-11 stage 2, and when curled up in stage
3. With the cube selected enter Edit mode and scale the vertices
down to the size of the middle leg section. To help with the
animation later, design the bug so it is walking on a surface
running through the origin as shown in Figure 12-12. Extrude
and scale sections in the Y direction for other body sections, the
head and tail. Once you have enough divisions along the length
of the bug use mesh bisect as you did in Chapter 10 then add a
mirror and a subdivision modifier and set shading to smooth.
2. Extrude, scale, move and rotate the faces from the sides of the
bug to form the legs and add extra edge loops to help define the
shape and sharpen edges as needed. The modeling doesn’t need
to be too detailed but, as the bug will be curled into a ball,
248
involving large deformations, you should make sure that the
visible parts are composed of quads. When it looks sufficiently
bug-like, switch back to Object mode and apply the two
modifiers.
Symmetrize an Armature
4. Once you have three legs rigged you can quickly generate the
mirror image but first you need to append “.L” on the name of
each leg bone, and there is a handy tool for that too. Select all
the leg bones then from the menu run
Armature4Names4Auto-Name Left/Right. Now, with all
the bones selected, click Armature4Symmetrize to generate a
symmetrical rig with the left sided bones named with an L
suffix and the right sided bones an R suffix. Finally generate the
rig as you did previously with Parent4With Automatic
Weights
5. Before you set up the scuttling animation, create the pose with
the armature curled up, changing to the unposed state as an
uncurling animation. With the armature selected and in Pose
mode, view the bug from the side in orthographic view. Move
the spine bones to make the mesh as spherical as possible then
view from different angles and fold the legs in. In Figure 12-11
stage 3 you can see the two orthographic views, and also that I
added a rigid body with a spherical collider to help position the
bug inside, though you will need to remove the rigid body when
249
you run the animation as it will make the mesh fall off the
armature! Select all the bones then add a keyframe for the rolled
up pose at frame 1, move to frame 30 and select Pose4Clear
Transform4All and add a keyframe for all bones in the flat
pose. Check that the animation runs as expected then, with the
Dope Sheet set to the Action Editor, rename the animation to
uncurl and push it down onto the NLA stack.
6. You will now create a second strip to make the legs move, so
click on + NEW to create the action and rename it scuttle.
When you move the frame pointer you will find that the
NlaTrack for uncurl is still being followed because there is no
action yet set above it in the stack. Move to frame 1, in Pose
mode select all the bones, clear the transforms and add a
keyframe for the unposed state. To set up leg movement, switch
back to Object mode and add a Bezier circle object then, in Edit
mode scale, rotate and move it to the path that the end of the
front left leg should follow, as shown in Figure 12-12. Add an
empty and reduce its size in the Object Data Properties tab so it
matches the scale of the bug, then add an object constraint
Follow Path setting the Target to the Bezier circle you just
added. Click the button Animate Path to automatically create
the modifier in the curve. You now just need to select the
armature and, in Pose mode select the end bone of the front left
leg. Add an inverse kinematic bone constraint setting the Chain
Length to 2 and the Target to the empty.
250
7. Check that the leg follows the curve without any awkward
bending, you will probably need to adjust the position and
shape of the curve. There is a 50 percent chance that the
animation will run in the wrong direction, if that’s the case, with
the curve in Edit mode, select all the control points and run
Segments4Switch Direction. The default speed of the
animation is also rather slow so select the curve object and open
the Graph Editor then in the Sidebar on the right open the
Modifier tab. Increase the Coefficient for X^1 to 12.0 which
should make the legs spin round a bit more frantically. Once the
leg is behaving properly make sure you have renamed both the
curve and empty to something related the the front left leg, such
as BezierCircle.L.001 and Empty.L.001 then duplicate them and
position them to drive the other legs. Remember to change the
L.004 to R.001 when you duplicate the first leg and empty for
the opposite side. In order to make the legs move out out of
phase, so that there are always three points of contact on the
ground, for each empty change the Offset value in the follow
path constraint. You need to get the timing right so the lifting
leg doesn’t hit the leg that’s about to land, though the legs will
be whizzing round, and the bugs will be small enough, that it
will be hard to see details on the final video.
8. Once you are happy with the animation, it’s time to bake the
constraints to actual bone rotations, but first save the blend file
just in case. It will be much harder to adjust once it’s been
baked, so don’t tick the overwrite option when baking. When
you’re ready, select the armature, and in Pose mode, with all the
bones selected, run Pose4Animation4Bake Action and tick
just the three check-boxes; Only Selected Bones, Visual Keying
and Clear Constraints. In the Dope Editor rename the action to
scuttle_baked_ik and push it down as a new NLA strip.
251
However, as that will be part of the final rendering process, you will
implement it in Chapter 13, when you work on cartoon style materials.
Conclusion
The castle wall exercise took some existing animations that were
imported to Blender as part of an .fbx file and showed you how you
could modify and re-apply them in different ways to different objects.
You used four different representations of animation keyframes;
Timeline, Graph Editor, Dope Sheet and Nonlinear Animation, all with
slightly different applications. To start with you will need to keep
referring back to your notes to remember what functionality is where,
but in time you will learn your way around them and value their
flexibility.
252
13
U N R E A L I S T I C A S P I R AT I O N S
Creating non-photorealistic
materials and the many uses of the
c o m p o s i t o r.
253
In this chapter you will use a few new techniques of combining
nodes in the Shader Editor to create “cell” shading, which is the term
used to describe blocks of uniform color applied as if by a simple
printing process or by a color wash. It is used in comic books and many
animations, including manga and anime. If you search online for help
on this subject you will find a plethora of clever systems, most of
which are more complicated than the ones you will use here. However I
suggest you start simple and get an understanding of what’s going on,
you can then add extra features as and when you find they are
necessary. You will then look at ways to add hatching such as might be
used for pencil or ink drawing, and also, the grease pencil line art
system that Blender has for adding outlines.
The second half of the chapter will cover some of the uses of the
compositor. You will see how different parts of the scene can be
rendered onto different view layers, and how the layers can then be
recombined. The use of nodes in the compositor has many overlaps
with their application in material shaders, but you will briefly sample
some of the filter and distortion nodes and see how they can be
introduced into the data flow. Links to the files and videos for the
exercises in this chapter are at get-into-blender.com 13.UNREALISTIC
ASPIRATIONS
Cell Shading
Color Ramp
254
Viewport Shading to Rendered with the Render Engine set to
Eevee.
3. The default material has just two nodes, the shader and the
material output, so move them further apart to leave room for
three more nodes to be inserted between them. Now select the
following menu options placing each node onto the connection
between the shader and the output node;
Add4Converter4Shader to RGB,
Add4Converter4Separate Color,
Add4Converter4ColorRamp and
Add4Converter4Combine Color The nodes to separate and
recombine the color should be set to HSV with Hue and
Saturation connected directly from one to the other but the
Value output passed through the color ramp node. Set the ramp
interpolation drop-down to Constant and adjust the slider to
make the cut-off between black and white part way up the side
of the rounded cube.
4. You can probably see how this method could easily be extended
to having three or four divisions rather than this simple black
and white one. Try adding another three stops to the color ramp
node and edit the base color of the BSDF shader to different
brightnesses of yellow, say.
This simple color ramp method is perfect for many situations, and
might produce quite satisfactory results if used for the bug uncurling
animation that you will tackle later. However there are disadvantages
that arise from the inability of the color ramp node to take variable
inputs for the colors and positions of its stops, which means that each
color ramp needs to be adjusted individually for each material and
lighting conditions. This arrangement also produces blocks of uniform
color that tend to blot out surface detail, apart from in the area where
one cell changes to another.
255
The Map Range and Mix RGB Nodes
Node groups tidy up the layout, so when you make complicated
materials using lots of nodes, there is an obvious visual improvement.
However the real power of groups is that, if designed properly, they can
be reused many times. This will be one of the real benefit of switching
from the color ramp node to the map range and the mix RGB nodes, as
they can both use variable input values.
1. Edit your existing material by deleting the color ramp and the
combine color nodes then add two more to replace them by
selecting Add4Converter4Map Range and
Add4Color4MixRGB. The output of the map range node is
used for the factor input of the mix node. You need to set the
From Min and From Max values very close together to give a
sharp cut-off at the edge of the cells. In the mix node change the
colors to two shades of yellow, putting the darker one above the
lighter one.
2. The first, obvious, deficiency of this system over the color ramp
node, is that there isn’t an obvious way to insert additional stops
with different shades. One solution is to change the
interpolation of the map node from Linear to Stepped Linear
when you do that you will see an extra input value; Steps,
which you can change to 3.0 to give intermediate blended
colors. You will need to change the From Min and From Max
values to make the cell divisions fall more evenly.
256
a more subtle effect. The full node layout and the resultant
material are shown in Figure 13-2.
Figure 13-2 More complicated Cell shading using map range and mix RGB nodes
Node Groups
As mentioned above, groups are a way to organize nodes but, by
doing so, they help you to think through the logic of the material as you
build it. For instance, in the cell shader you are making now, it would
make sense to have a node group that took inputs of: First the threshold
value for the edge of this boundary between cells. Second the color to
use use where the material is darker than the boundary. Third the color
to use if lighter than the boundary. These nodes could then be stacked
one after the other, each taking the result of the previous node for the
darker color and introducing a lighter color for the other. In this way
each group is equivalent to a stop of the color ramp node, the
arrangement is shown in of Figure 13-3 where the three node groups
are arranged on the right side of the image.
257
Figure 13-3 Using multiple node groups to produce a cell shader.
4. Select the map range node as well as the mix RGB node then
from the menu Add4Group4Make Group. The original
network of nodes has now been replaced by the contents of the
new group with the additions of an input and an output node.
On the right, in the Sidebar, you can alter properties of the
group such as adding new inputs, renaming them and setting
default or limiting values.
5. For the general purpose version of this group you need to add
an input to control the cut-off point. In the sidebar select the
Node tab then add a new input by clicking on the relevant +.
Change the name of the new input to Cut-off, the default to 0.5,
Min to 0.0 and Max to 1.0. Connect the Cut-off input to the
From Max input of the map range node, set the From Min to
0.0 and the Steps to 1.0. The layout of nodes within the group is
shown in Figure 13-4.
258
a group, if you open the Properties section of the Node tab in
the Sidebar, you can change the name to something more
meaningful, in this case call it cell_shader_stop. In the Node
section above you can also change the unique name for each
instance of the group, as well as the label to be displayed at the
top of the node. Using meaningful names will make your life
much easier in the long run. Duplicate the prototype node twice
using SHIFT-D and connect them up as in Figure 13-3
There is much sophistication you could add to this basic node
group. For instance, if you wanted to give the cell areas slightly
blended edges, as if created using a water color wash, you could
change the interpolation method to linear and calculate the From Min
value as a fraction of the Cut-off using a multiply node. For the
moment, however, there is sufficient control and complexity for the
current exercise, so we will move on to look at some inking techniques.
Hatched Shading
259
USERS IN BLENDER
The way that Blender allows you to control the users, and consequently whether
the resource will be saved, is through the series of buttons beside the resource
name. The first button shows the number of users, if there are more than zero, and
clicking on this will create a new instance of the original. The second button has a
shield icon and this will create a fake user for the resource to prevent it from being
discarded when you save the file. In some locations there are additional buttons such
as one showing two overlapping squares which will create a new resource, a button
with a folder icon for browsing files to load or one with an X icon for deleting the
resource.
260
NOTE Within Blender, angles are held as radians but in some entry fields,
such as the Object Properties tab, the entry and display is provided
in degrees. For those situations you can specify which format you
are using by following a number with the letter D or R. It is also
possible to enter formulae into any value field in Blender so long
as they are legal python expressions. You could have typed
radians(-180) and radians(180) and Blender would have
calculated the range using the python radians function.
5. Close the edit of the node group by returning to the parent node
tree and position the new hatched shader to take the output of
the last cell shader as well as the value output from the original
shader. Adjust the rotation and the cut-off to give a pleasing
result.
At this point you could further enhance the hatching by, for
instance, allowing the thickness of the lines to be controlled with
another map range node instead of the color ramp. Additionally the
rotation of the lines could be made relative to the curvature of the
surface, by using the normal output from a texture coordinates node.
But for the moment leave the material as it is and save the blend file so
261
you will be able to append the node groups into the bug animation
project.
Line Art
1. First of all you need to add a new Grease Pencil object with a
Line Art modifier. In the file you’ve been working on for the
cell shading shading exercise, make sure that the rounded cube
is selected then in Object Mode select Add4Grease
Pencil4Object Line Art and a new object called LineArt will
appear in the Outliner. In the camera view the line runs round
the outside of the Cube object but from other view positions
you can see that it’s a 3D object stuck to to the rounded cube’s
surface.
2. To change the line style and thickness, select the LineArt object
and open the Modifier Properties tab where you can see the
modifier that was generated automatically. Try adjusting the
Line Thickness to different values then set it back to 25.
3. In the modifier expand the Edge Types section and you will see
that the default is to draw lines around contours but none are
apparent on the bumpy surface. This is because the surface
lumps are only being created by adding a normal texture rather
than deforming the mesh surface. To fix that, select the Cube
again then open the Shader Editor and delete the magic texture
and bump nodes feeding into the principled shader. Open the
Modifier Properties tab and increase the subdivision levels to 4
then add a displace modifier and click + New to make a new
texture to control the distance. The default new texture will be
called Texture so open the Texture Properties tab and change the
Type to Magic then, back in the Modifier Properties tab change
the displacement Strength to 0.2.
262
4. You should see that some lines have appeared around the new
bumps. However the lines are rather thick and have ugly square
ends. To improve this situation we can use a different Grease
Pencil object for the lines drawn inside the object, away from its
outline, with a smaller thickness and with tapered ends. Select
the LineArt object and rename it LineArt_silhouette, then in the
Modifier Properties tab change the Edge Types to Silhouette in
the first drop-down, and un-tick the other options.
As you added the thickness modifier you saw that there are
multiple features of line drawing that can be controlled by stacking
multiple modifiers. The permutations are enormous and, if you are
interested in using Blender for graphic art, you will find many amazing
works online to inspire you. I will leave you to explore this topic
further on your own, for the moment just save the blend file so you can
append the material for the bugs in the next section.
263
Assembling the Project Elements
1. Open the the last blend file from Chapter 11 which should be
the physics simulation of the balls rolling around the bowl.
There are three ways you could approach switching the bugs for
the balls. The first would be to snap the cursor to the location of
each ball, appending the bug, snap its location to the cursor, add
a rigid body and constraint to the bug then remove the original
balls and run the simulation again. The next logical approach
would be to keep the existing simulation but hide the balls and
add an object constraint for each bug to copy the location and
rotation of the corresponding ball. The third option, and the one
I will guide you through here, is to bake the physics of each ball
to a keyframe animation and then, after appending the five
bugs, add the corresponding animation in the dope sheet action
editor. Before you bake the animation you probably need to do a
bit more fine-tuning. Ideally you want all the bugs to have
stopped rolling by the time the uncurling animation starts so
you might need to increase the friction of all the surfaces in the
Physics Properties tab. I added keyframes to the friction values
so they increased from 0.1 to 1.0 between frame 149 and 150. I
also increased the Rigid Body World, Cache to 350 frames in
the Scene Properties tab. After the friction changes you will
probably have to re-aim the heavy ball, try using the Graph
Editor to tweak the location of the ball at the second keyframe.
2. When you have the physics running well and the balls nearly
stationary by the end of the animation, select the five bug balls
and the heavy ball, then from the menu run Object4Rigid
Body4Bake to Keyframes. Save the blend file now to the
folder used for this chapter. The baking process removes the
rigid bodies from the objects involved, however there are still
some hanging animated properties for the removed constraints
which might cause Blender to crash if you trigger certain
processes. Make the Timeline Editor pane larger and expand the
left hand outliner. If you see any entries underlined in red then
delete them now, and then delete the four empty objects. In the
264
Outliner Editor, toggle the visibility and rendering off for all the
bug.00x balls.
3. Append the bug object from the last exercise of Chapter 12.
Even though the object you import is a mesh, the armature,
animations and materials used by it will also be brought into
this file. To make Blender help with renaming as you duplicate
the bug, rename the armature to bug_armature.001 and the mesh
object that it parents, to bug_mesh.001. Now select the armature
and the mesh and duplicate them four times, you should end up
with sequential suffixes.
5. When you run the animation you should see the bugs replicating
the collisions and rolling just as the balls did. You may find that
the bug diameters are not quite the same as the rigid body
colliders and the bugs either float above, or sink into, the
surface of the bowl. It would be quite easy to move the
positions of the animation keyframes up or down using the
Graph Editor, however it is even easier to adjust the Z location
of the bowl object. Getting the correct height will be easier if
you use Viewport Shading as Rendered and check the position
of the cast shadows.
Putting together the full animation in one unbroken shot would be
pretty cool but it will be much easier to assemble the video from
several components. To achieve that you will first set some keyframes
for the camera location and rotation so it follows the action and finally
zooms in close, as the bugs come to rest. You then need to set the
materials for the bugs, ball and bowl to produce anime style rendering,
265
and subsequently render a sequence of images for the first part of the
video.
For the next stage you want the bugs to start in frame 1 in the same
locations and rotations that they finished the previous animation. You
then want the bugs to play the uncurl action at the same time as they
transition from whatever rotation they end up in, to the right one for the
scuttling sequence. For the scuttling you will add five Bézier curves
drawn onto the surface of the bowl and set an object constraint on each
bug to follow a curve.
6. Select the camera and set the current frame to 1 then use walk
navigation to position it at the start and insert a keyframe for
position and rotation. Move forward through the animation so
you get a good balanced view of the action without dramatic
camera movements that will give the viewer sea-sickness. Add
enough keyframes to prevent the camera swinging the wrong
way but not too many that you have sudden transitions. By the
final frame you want the bugs fairly filling the frame.
7. Append the material named comic from the blend file you
worked on at the start of this chapter. You could also append
two LineArt objects but there are several modifications needed
so it simpler to create two new Grease Pencil objects as
described below. Select each bug mesh and set the material to
the appended comic. For the bowl and the heavy ball, also select
the comic material but then click on the overlapping squares
button just to the right, to create a new material for each object.
You can now change the base color, roughness, metallic and
other properties of these two objects. I used a magic texture for
the base color of the bowl but set the cell input color as blue, as
you can see in Figure13-7.
266
9. When you have the required shot in the can, save the blend file
with a different name. For projects like this where something
might go wrong or get accidentally deleted, it makes a lot of
sense to do lots of incremental saves so you can go back to a
working restore point. Put the current frame marker on the last
frame, then in the Nonlinear Animation area, for each bug, push
down the baked physics animation onto the stack. Mute the
physics animation track and un-mute the uncurl and scuttle
tracks. Now when you run the animation the bugs should stay
where they are but uncurl and scuttle their legs.
10. You need to add keyframes for the location and rotation of each
bug armature at frame 1 as it is now, and at frame 30 rotated
onto its stomach, disentangled from any adjacent bugs and
pointing outwards from the group. The two keyframes are
shown in Figure 13-7.
Figure 13-7 Keyframes for curled and uncurled locations and rotations.
11. The bugs each need a path to follow. Stay on frame 30 and
check which bug is number 001 then, in Object mode add a
Bézier curve, rename it bug_track.001, switch to Edit mode,
delete all the vertices then select the Draw tool. In the Sidebar,
Tool tab set the Depth option to Surface. Draw a curve starting
just in front of the bug, in a circuitous route up to the rim of the
bowl. Change to the selection tool, select the vertex nearest to
the bug and move it as close as possible to the bug’s origin; the
yellow dot visible when the bug is selected. Adjust the handles
of the vertices near the bug so the curve is in line with the
direction the bug is pointing.
267
12. Now you have a line, the bug needs an object constraint to make
it follow it, but only after frame 30. Return to Object mode,
select the bug_armature.001and, in the Object Constraint
Properties tab, add Follow Path. Set the Target as
bug_track.001, the Forward Axis as -Y, tick the Follow Curve
check-box and click Animate Path. Change the Influence value
to 0.0 and set a keyframe for this at frame 30. Move on one
frame to 31, change the Influence value to 1.0 and set a second
keyframe here.
13. If you run the animation you should see the bug suddenly jump,
at frame 31 to an offset position part way along the curve. There
are two corrections needed; first, delay the start of the path
animation so it commences at the end vertex on frame 31,
second, the location and rotation of the bug_armature need to all
be set to 0.0 between frame 30 and 31. Select the bug_track.001
curve object then change the bottom window area to the Graph
Editor. Open the Sidebar and select the Modifiers tab where you
can see the details for the generator function created when you
clicked on the animate path button. The function is a straight
line starting from -1 with a slope of 1.0, so by frame 31 it has
moved 30 percent of the way along the path. Fix this by halving
the slope, change the x^1 value to 0.5, and delay the start by
changing the Coefficient to -15. The bug will now start moving
at frame 30 and get to the end of the line at frame 230.
14. To make make the bug actually stay on the track instead of
being offset, move to frame 30, select the bug_armature.001
object and open the Object Properties tab. There should already
be a keyframe here giving a yellow background for the location
and rotation values. Advance on one frame to 31, change all the
location and rotation components to 0.0 and set a keyframe
here. If you use the shortcut, you will need to press I over one
of the location values as well as over one of the rotation values.
15. Watch the bug carefully all along its path. If you see the bug
floating above or sinking into the surface, or alternatively,
rotating to one side, then select the curve object and switch to
Edit mode. Carefully move the relevant vertices up or down and
rotate the bug by adjusting the tilt. For exercises like this you
will probably find the shortcut CTRL-T more convenient than
the Toolbar or menu options.
16. Add paths and constraints for the other four bugs following the
description above. When they’re all animating to your
268
satisfaction you should set up the camera animation. In the
Timeline delete all the keyframes you set up for the rolling
animation, apart from the last one and move that to frame 1.
Run the animation on for fifty frames or so then position the
camera using walk navigation and set another keyframe. Try to
get some close-up views of the bugs as well as making sure to
see that there are lots of bugs all running around independently,
take care that the camera always moves smoothly.
The Compositor
Many users of Blender never venture far into the intricacies of the
compositor, which is a shame because, not only does it allow many
enhancements to the finished render, but sometimes it can speed up the
process significantly.
View Layers
The creation and switching of view layers is controlled using an
inconspicuous drop-down at the very top right of the Blender window.
By default there is just one view layer called ViewLayer and, very
often that will suffice, but in this exercise you will use two layers; a
background containing some glass objects and a foreground containing
269
a large diamond. The problem with transparent and reflective objects is
that they can produce a lot of noise when rendered, which requires a
high number of samples to resolve. The denoiser in Blender version 3.0
onward is amazingly good, as you will appreciate if you look at Figure
13-8, but in some circumstances it can blur details, such as the
highlights on the top of the red cut-glass block. In this exercise the
foreground will be rendered with a high number of samples and the
background will use a low number of samples and denoised in the
compositor, then a small amount of the noisy render will be mixed back
in.
1. Start off by adding a few objects to the scene. I used the add-on;
extra objects, which was still enabled from Chapter 12, and has
a diamond mesh option, but a normal ico sphere would be fine.
Add a cube with beveled edges and some five sided cylinders as
table and background objects. Change all the materials to Glass
BSDF with low roughness and light tint, for the cube use a
procedural texture and bump node to create a slight normal
pattern. Finally in the world settings add an environment
texture. You can see in Figure 13-8 a detail from the scene I set
up, but the actual layout isn’t too critical.
2. Once you have the scene set up it’s time to create the two view
layers and configure some collections to use them appropriately.
At the top right of the window rename ViewLayer to
270
background_layer, then create a new layer by clicking on the
button to the right with the overlapping squares, and rename the
new layer as foreground_layer.
3. You now have two layers but there will be no real indication of
how they effect anything. Open the Render Properties tab and
set Render Engine to Cycles, change Max Samples under the
Render section from 4096 to 50 and un-tick the Denoise check-
box. When you render an image you will see that the whole
scene is rendered twice and at the top of the Blender Render
pop-up window you can click on a drop-down to see the results
of rendering each layer. At the moment the two layers are the
same.
Collections
271
7. Before you render there is one more setting you need to make;
open the Render Properties tab and, near the bottom, expand the
Film section and tick the Transparent check-box. When you
render you should get the background with all the objects
shown but the foreground will just have the diamond with
everything else the gray checker pattern to indicate
transparency. You are in a position to reassemble the image in
the compositor.
Compositing
8. Enlarge the area at the bottom of the window, change the editor
type to Compositor then tick the Use Nodes check-box in the
header. The default is a single render layers input node
connected to a composite output node. Select the render layers
node and duplicate it then create a new node with
Add4Color4Alpha Over and drop it onto the connection
leading to the composite output node. Connect the image output
of the duplicated render layers node to the other input of the
alpha over node, then using the drop-down list at the bottom of
each node, select the background_layer for the input to the top
input of the alpha over node and the foreground_layer for the
bottom input.
10. Back in the compositor area there is an addition that will allow
adjustments to be checked much more quickly. From the menu
select Add4Output4Viewer, put the node next to the
composite output node and connect the image output from the
alpha over node to this node as well. In the Sidebar on the right,
272
open the View tab and tick the Backdrop check-box, you can
zoom and position the result using the controls in the tab. When
something produces an unexpected result it is often useful to
direct intermediate results into the viewer node until you find
the step in your network that is causing the problem.
The sun beams effect added in this example is just one of a vast
number of filters, distortions, masks and other effects available in the
compositor. The full scope is similar to the functionality of specialist
image processing software such as Photoshop, indeed the compositor
has an input node to read an image or movie from file and an output
node to write one, so it would even be possible to use Blender to
process photographs or film clips. However there isn’t enough space in
this book to investigate all the details, so I suggest you do some
273
experiments on your own. Where a filter or color processing node has a
Fac input, you can use the output of a matte mask node, often blurring
the mask to soften the edges, which makes it very easy to do things
such as reducing saturation towards the edges of the image.
Figure 13-10 The node layout for compositing layers with complementary alpha values.
274
As you can see on the left of Figure 13-10, the area of the diamond
is this scene is small relative to the rest of the background objects, so
the benefit of not rendering it is only a few percent, but sometimes the
speed increase will be significant, so this is a mechanism to keep in
mind.
Conclusion
The final assembly of the cartoon video, with the curled up bugs
climbing back out of the bowl, used several sophisticated techniques
and, if you managed to get everything to work perfectly first time, you
should feel proud of yourself. Even if you had to re-read sections, or
use the support information for this chapter, you will have learned a lot
from this exercise, probably more than if you hadn’t encountered
problems.
The next chapter, the last one in this book, is dedicated to all the
things in Blender that I didn’t have time to cover in detail. Of course
there wouldn’t be space in a single chapter to do more than itemize all
the subjects that I missed out so, instead, I will concentrate on two
important features that are being actively enhanced with each Blender
release; geometry nodes and grease pencil.
275
14
W H AT N E X T
276
they have since been completely overhauled with many new nodes
available, and a very different method of linking the nodes together. As
at version 3, both geometry nodes and grease pencil have reached a
level of stability where minor details may change, and usability will
certainly improve, but the core functionality should stay the same.
Links to the files and videos for the exercises in this chapter are at get-
into-blender.com 14.WHAT NEXT – Geometry Nodes and Grease
Pencil
Geometry Nodes
In the first exercise you will use geometry nodes to scatter rocks
and boulders over the surface of another object. This is essentially the
same result achieved by the particle system in Chapter 4 and Chapter 5
but with greater flexibility, control and, once you get the hang of it,
much easier to use.
277
Geometry Nodes. Delete the start cube and add a plane mesh
object. In the Adjust Last Operation pane change the Size to
20 m.
4. You are now going to add some nodes to make the regular ico
sphere a little more random as shown in Figure 14-1. First of all
add a new node by selecting Add4Geometry4Set Position
and drop it onto the output connector from the ico sphere node.
Notice that there are three other diamond shaped inputs to the
new node which indicate that they use a different type of data
from the circular inputs and outputs. The diamond connections
relate to a finer level of detail within the geometry, in this case
each vertex in the mesh can be selected, positioned or offset
278
individually. The introduction of this mechanism was a major
change from the first release of geometry nodes and, as a result,
much of the online help is rather confusing. Hopefully, in time,
this situation will remedy itself.
6. In Figure 14-1 you can see that I increased the ico sphere
subdivision to 2. Try doing that then change the Seed value in
the random value node to see the variety of results. A better
alternative is to return the ico sphere subdivisions to 1 then
insert a new subdivision surface node after the set position node
using Add4Mesh4Subdivision Surface.
279
toggling the setting on the original plane object. However, there
is a node that can be used so add that after the transform node
using Add4Mesh4Set Shade Smooth.
280
10. You’ve now made a set of nodes that can be converted into a
group, and used to generate a variety of rocks for scattering
over the terrain. Box select all the nodes apart from the input
and output, then hit Add4Group4Make Group. The editor is
now showing the node tree for the new group, so, to give
control over the rock being generated by the group, drag the
Scale input from the transform node to the unconnected socket
of the input node and drag the Seed input from the random
value node to the next unconnected socket. Return to the parent
node tree using the up arrow in the header bar and change the
name from NodeGroup to something meaningful such as
rock_generator.
11. Now it’s time to construct the mechanism for scattering the
rocks over the plane. First of all disconnect the rock_generator
node from the output node and reconnect the input Geometry
output, you should now see the original plane again. Insert a
node to generate locations for the rocks using
Add4Point4Distribute Points on Faces and, provided the
viewport shading is still set to solid you will see a large number
of diamonds appear. Insert a second node to create instances at
each point with Add4Instances4Instances on Points, at
which point all the points will vanish. Finally connect the
Geometry output of the rock_generator node to the Instance
input of the instances on points node.
12. There are two obvious problems with this initial result; the
rocks are too large and they overlap each other, so, before
introducing variation in shape, rotation and size, you should
correct this first setup. Change the Scale values in the
rock_generator node to 0.1, 0.1 and 0.06 , and change the
scattering method on the distribution points on faces node from
Random to Poisson Disk. Now gradually increase Density Max
value of the same node until there are no gaps. Many of the
rocks will be overlapping each other again, but Poisson disk
distribution has another variable that can stop that happening;
gradually increase the Density Min until all of the rocks just
stop overlapping.
13. At this stage you need to combine the original plane with all the
generated rocks, you want to produce a variety of rocks, the
rocks should be rotated randomly about their Z axis and that
axis should be rotated so that each rock sits flat on the surface.
The latter point is not a problem while the plane is flat but for
an undulating surface, it will be important. Insert a node after
281
the instances on points, using Add4Geometry4Join
Geometry then drag the Geometry output from the group input
node to the join geometry node. Notice that there is a single
input to the join node but it expands to take as many geometries
as you want.
14. You should now see rocks spread over the original plane, but
they are embedded too far in. Open the rock_generator group
and in the random value node change the third Min value to 0.2
and the third Max value to 0.8. This will bias the Z offset
upwards. Return to the parent node tree and duplicate the
rock_generator four times using SHIFT-D then insert a node
onto the connection from the rock_generator node leading to the
Instance input of the instance on points node using
Add4Geometry4Geometry to Instance. Tick the Pick
Instance check-box on the instance on points node then connect
all of the rock_generator outputs into the geometry to instance
node. Finally change the scale and seed values for each of the
rock_generator nodes and you should see the scattered instances
change too.
15. To make the rocks lie flat on the surface connect the Rotation
output of the distribute points on faces node to the Rotation
input of the instances on points node. Then, to make the rocks
rotate randomly around their Z axis insert a rotate node into the
connection you just made, select Add4Utilities4Rotate
Euler and change its method of rotation to Axis Angle with the
Axis 0.0, 0.0, 1.0. You now need to feed a random value into the
Angle input of the rotate Euler node, use
Add4Utilities4Random Value, setting the Min to -pi and the
Max to pi. The node tree and resulting 3D view are shown in
Figure 14.3
282
Image Textures in Geometry Nodes
To finish off this exercise introducing geometry nodes you will add
textures, allowing you to paint hills and valleys onto the plane object,
as well as painting the density of rocks and boulders. In many ways the
process is simpler than using the particle system but there are one or
two quirks that are hard to figure out from scratch.
3. At this point the plane will have probably floated up above the
rocks which has happened because both the distribute points on
faces node as well as the final join geometry node both need to
take their input from the same displaced mesh. Reconnect the
nodes so they match the arrangement shown in Figure 14-4.
Now it’s time to paint some terrain.
283
Figure 14-4 Using an Image Texture to displace a plane.
4. In order to see what you’re painting set a material for the plane
object in the Shader Editor add an image texture node using the
height_map image as the base color. You also need to change
the viewport shading to Material Preview. Make sure that the
image texture node is selected in the shader then, using the
workspace tabs at the top of the screen switch to Texture Paint.
As soon as you start to paint you will see that the UV map used
in geometry nodes is incorrect, this is because the UV data has
to be fed into the node tree as an additional input.
6. Now, when you change back to texture painting you should see
the terrain rising or falling with the value of the color you apply,
the rocks rotating to rest flat against the surface however the
surface slopes. To add an image texture for controlling the
density of the rocks, switch to editing the geometry node tree
284
and duplicate the the height_map texture node, then create a
new texture for it by clicking on the little button with an
overlapping squares icon next to the image name. Set the
default color of the new texture as black and name it
rock_density. Connect the Color output directly to the Density
Factor input of the distribute points node and connect the
uv_map from the input node to the Vector input of the
rock_density image texture node. Go back to texture painting
and choose the rock_density as the referenced image, paint
where you want rocks to appear. Crucially, when you have
finished painting, remember to click the Save All Images
button!
There are so many different things you can do with geometry
nodes that it is hard to limit the scope of this exercise, but from now on
you should be able to find your way a little more easily, you will also
be able to follow the excellent examples available online.
Grease Pencil
Strokes
The grease pencil object consists of a number of strokes, each of
which is a series of points. The points can be shown either as lines
connecting the positions of each point, or as dots, or as image textures.
Each point along a stroke has a size and opacity and the points can be
used to define the outside of a polygon which can be filled with a color.
285
As well as being situated in the 3D space of the Blender scene,
there are many settings to control the material, the brush, the layer and
vertex color of strokes. Learning where the settings are, and how to use
them will the main focus of this exercise.
1. Open a new file and delete the default cube. Set the view to
orthographic along the Y axis by clicking on -Y on the gizmo.
Set the camera to match this view so you can easily return here
later, select View4Align View4Align Active Camera to
View. In order to see the colors as you draw them you need to
set the viewport shading to Rendered and, in the World
Properties tab, under the Surface section change the Color to
white. Finally, select the light object and in the Object Data
Properties tab under the Light section change the type to Sun
and the Strength to 3.0. In the 3D Viewport rotate the direction
of sun light so it shines onto the XZ plane as viewed from the
camera. Later, when you learn about grease pencil layers, you
will find that there is an option to use the actual stroke color
without being effected by lights, but for the moment, this setup
will provide a good starting point.
2. After rotating the light return to the camera view then add a new
empty grease pencil object by clicking Add4Grease
Pencil4Blank. Switch to Draw mode, but before you start
drawing anything look up at the header where you will see a
selection of new options. For the moment just concentrate on
the two that define the location of strokes, the first shows a set
of axes and the word Origin, the second show a computer
monitor and the word View. Change View to Front (X-Z) to
ensure that strokes are laid down as if drawing onto paper held
in the X-Z plane through the origin.
Brushes
3. You will now draw three different lines in order to see the first
place you can control grease pencil strokes. With the mouse
LMB held, draw a rough circle, don’t leave a gap between the
286
start and the end as that will prevent the flood fill working later.
Notice that the line is rather fine and not completely opaque. To
make the line broader press F while the cursor is over the 3D
Viewport, then increase the diameter of the brush and draw a
second closed loop overlapping the first. From Blender version
3.5 onward, the line that is drawn matches the diameter of the
brush, but on previous version you just have to estimate the size
of the brush.
4. To change other features of the brush, open the Active Tool and
Workspace settings tab. Although all these controls are
duplicated in the editor header, the layout there is cramped and
some options are rather cryptic so it will easier, to start with,
using the tab on the right. You will see that the default brush is
the Pencil, expand the Brush Settings section below the brush
image and check how it is set up. The first variable is the
Radius which you increased before drawing the last stroke.
Notice also that the Use tablet pressure button, to the right of
the value, has been enabled and a graph is shown below. If you
use a tablet to draw, then the harder you press the thicker the
line, up to a maximum at the value of the Radius field. Below
the Radius value is the Strength, which controls the alpha, or
opacity of the stroke. For the pencil brush, once again, the
opacity is pressure controlled but note that the maximum value,
which will be used when drawing with the mouse, is 0.6. If you
look where the lines you drew overlap you will be able to see
the first one through the second.
5. To draw the third line click on the pencil icon and choose Ink
Pen Rough then in the Brush Settings section change the
Radius to 200. The thickness of this brush has non-linear
sensitivity to tablet pressure but the Strength is 1.0, you will not
be able to see through it. Draw another closed loop overlapping
the other two.
Materials
6. Below the Brush Settings is the Color section, where the color
picker is set by default to light green. However the lines you
drew were black because the default setting is to use Material,
change that now by clicking Color Attribute then draw a fourth
closed loop overlapping the other three.
287
NOTE It is very easy to find that the lines you draw look black for two
other reasons. The first is not having sufficient illumination shining
onto the face of the strokes visible from the camera. The second is
forgetting to switch the viewport shading to Rendered.
8. To see the effect of fill on the stroke, tick the check-box in the
Materials Properties tab. The result will not be visible because
the default alpha value for the color is 0.0 so edit the color to
increase the alpha and try changing the HSV values to a color
other than black. There are a few things to note here; where the
line is not fully opaque, the fill is visible through the stroke,
also the fill color for the material is not used for the stroke that
was drawn using vertex color, although the alpha value from the
material setting is used in a similar way to the line itself.
288
9. To see the effect of this tool, first change the Black material
stroke color back to black, with full opacity, and un-tick the fill
option. To clarify things later rename this material to black_line.
Now create a new material for filling only, without a line
around the edge, by using the + on the right then clicking +
New below. Rename the new material to gray_fill then un-tick
the Stroke check-box, tick the Fill check-box and change the fill
Base Color HSV to 0.0, 0.0, 0.1 with alpha 1.0.
10. With the Fill tool enabled, click on an area of the drawing
enclosed by one of the pencil or black pen lines, and you may
be surprised to see that, rather than filling with the gray_fill
material, the same vertex color was used as for the last stroke
you drew. This is because the toggle between material drawing
and vertex color persists as you switch between brushes or
between the draw tool and the fill tool. In the header of the
editor area you can see there are two cryptic buttons, just to the
left of the vertex color picker, that can be used to switch
between material and vertex color drawing and filling. See
Figure 14-5.
11. You will see how to edit strokes and fills that you have made, in
the Tint section below, but for now just change to material
drawing and fill a different, but adjacent, area of the drawing.
The fill has used the gray material you specified and you can
appreciate two other aspects of drawing with the grease pencil:
The fill tool has various settings to avoid gaps around the edge
which make it overlap other strokes. Each stroke or fill overlays
all the previous ones. This latter feature is the behavior you
would expect if you were using physical paint on paper,
however for digital art it is very convenient to be able to work
289
23. The grease pencil layer is also where you control whether to use
Blender lights for illumination. Rotate the view so you are
looking at the back of the sketch then toggle the Use Lights
check-box off for each layer. Finally, expand the Adjustments
section and change the Tint Color, Factor and Stroke Thickness
to get a feeling for how they could be used to enhance a work of
art. Figure 14-6 shows the effect of tinting in Draw mode with
only the ink_line layer unlocked.
Modifiers
There is much of grease pencil drawing that I have had to skip
over, however one thing will be familiar to you from every previous
chapter in this book; modifiers. Many of the usual mesh modifiers are
not relevant to grease pencil objects, and are not available, but some,
such as armature or build, can be applied in very powerful ways to 2D
artwork, especially animations.
24. Try a few of the modifiers to see what they do. First of all
change the interaction mode back by selecting Draw Mode,
then add the following three, confining the influence for each to
the ink_line layer: Multiple Strokes with Fade check-box ticked
and the fade Opacity increased to 1.0. Followed by Noise with
Thickness increased to 0.5 and Noise Scale increased to 0.25.
Followed by Dot Dash with Gap increased to 3.
Sculpt Mode
It’s nearly time to clear all the doodles and start a proper drawing,
but before you do that, there is one more interaction mode that often
proves very useful. Sculpting may seem an unlikely fit with the other
tools required for 2D art, however, in Blender, it provides a familiar
way to make adjustments and corrections to strokes laid down in Draw
mode.
294
25. Using the interaction mode drop-down select Sculpt Mode. You
will see that the modifier effects have changed, the multiple
lines modifier doesn’t show in edit, vertex paint or sculpt mode
but the other two do. However the fact that they show interferes
with your ability to modify the strokes. From the toolbar on the
left choose the Push tool then attempt to move some of the
strokes. The ink_line layer stroke will not move though the
strokes on the other layer do. In the Modifier Properties tab
deselect all three Realtime option buttons to prevent displaying
modifier in the viewport.
26. When you use the push tool now all the strokes in the grease
pencil object are moved, but that isn’t always what you want.
To the right of the interaction mode drop-down are the three
buttons to use selection to mask the effect of each brush. Select
the second one again to select whole strokes, deselect
everything with ALT-A then use B to box select a part of just
the ink_line stroke. The push tool now only moves the one
stroke, leaving the others unaltered.
Making a Drawing
You may, or may not be a natural artist, but working through the
sequence of steps to produce a picture will give you some practice
using the techniques outlined above. As a subject I chose some
sketches of Don Quixote and Sancho Panza by Daumier as my
inspiration, but you should feel free to pick whatever you like.
295
The proposed workflow will use layers in a systematic way, from a
pencil sketch, adding the paint lines over the top, then adding filled
areas below the paint lines and finally adding painted textures over the
fill, but still beneath the lines.
1. In the Object Data Properties tab delete the two existing grease
pencil layers then add four new ones, renaming them as sketch,
flood_fill, paint_blocks and paint_lines.
2. Select the sketch layer, the Black material and the Pencil brush.
The sketch can be fairly low resolution and lightly drawn to
simply act as guides for the stronger painted lines, or it can be
allowed to show through later layers to give additional texture
and life to the finished painting. To reduce the resolution of the
Pencil brush, and avoid ending up with a very high vertex
count, open the Active Tool and Workspace Settings tab then
expand the Post Process section within the Brush Settings and
change the Simplify value to 0.1. Expand the Advanced section
and change the Hardness to 0.95. There is also a Pencil Soft
brush that produces a line of overlapping dots and can be
effective, however if you simplify these lines it will create long
gaps on straight sections of line, which would not be
appropriate here.
3. Draw using vertex color mode but using a neutral color and
create a rough layout as shown in Figure 14-7, using Sculpt
mode to correct the proportions and positions of the main
features as you work.
4. When you’re happy with the layout, use the paint_lines layer
and Ink Pen brush with the Black material, but using
appropriate vertex colors, to draw over the sketch.
296
5. On the flood_fill layer your aim is to create areas with solid
color using the gray_fill material. You will find that you can’t
flood fill open areas, so initially create some enclosed areas by
drawing with the gray_fill material to link existing pen and
pencil lines. You can then flood fill the gaps, creating a
patchwork of smaller adjacent areas. There is arguable an
advantage to this as it will enable you to tint them later to vary
the color slightly. Note that when you draw using the gray_fill
material you might be tempted to release the mouse button
before completing the loop around the edge. The fill will then
join the last point to the first with a straight line, which often
appears fine, especially if it is a relatively short distance.
However for later flood filling there will be a gap in the stroke,
through which the flood can enter and overwrite the original fill.
297
means you either have to undo the brush strokes, or if you didn’t notice
your mistake in time, just live with it. With grease pencil, on the other
hand, you can easily select individual strokes and move them from one
layer to another.
Other Features
When adding new objects to a scene you will have noticed several
options we never touched. There are choices under Add4Surface,
Metaball, Volume and Lattice, all of which have rather specific
applications, but can be real time-savers when needed. More
importantly, we didn’t explore Light Probe objects and their associated
indirect baked lighting maps, which can dramatically improve realism
when using the Eevee render engine.
Among the modifiers, none of the left hand column under Modify,
such as Data Transfer were explored, and neither was Texture Paint.
With these features, as with the ones listed above, the day to day use
might be limited, but for certain situations they are very useful.
298
Conclusion
Each day, when I check what’s new in the world of Blender, I find
more and more amazing things that people have conjured from their
imagination, using geometry nodes. Whole landscapes, castles, ruins,
flowers or pipe networks have been generated as if by magic. Once you
have mastered the basic use of geometry nodes for yourself, I suggest
you set out to discover what the latest version of Blender is capable of
doing.
This chapter is the final one in the book. Rather than tidy up all the
loose ends it has opened up further areas to explore and created more
questions, the answers to which you will have to discover on your own.
299
2D Curve 47 .. Modifier 28
3D Curve 47 .. Transformations 56
.. Text 49 .. Transforms 87, 95
.. Textures 196 Arctan2 201
.. Viewport 4 Areas 4
3D Cursor Snap 233 Armature 223
4D Textures 198 .. Auto-names Left/right 248
Absorption Volume 193 .. Automatic Weights 137
Active 17 .. Rigging 98
.. Spline 57 .. Single Bone 225
.. Tool And Workspace Settings 101 .. Skin Modifier 88
.. Workspace 19 .. Symmetrize 248
Add Face 141 Array Modifier 71
Add-on 112, 119 Assets Appending 87
.. Bsurfaces 146 .. Importing 87
.. Download 123 Assign Vertices To Material 60
.. Enable 120 Auto Merge 138
.. F2 146 .. Smooth 33
Add To Selection 16 Auto-names Left/right Armature
Adjust Last Operation 8 248
Aligned 47 Autodesk FBX 113
All Deselect 12 Automatic Number Suffix 248
.. Select 12 Automatic Weights Armature 137
Alpha Blend 115 .. Parent 98
Alpha Clip 115 Avoiding Triangles 136
.. Blend Mode 190 Axis 9
Alpha Over 270 .. Deform 76
Ambient Occlusion 62 Backface Culling 139
Ambient Occlusion 121 Background 43, 54
Animation 223 .. Surface Color 43
.. Bake Action 240, 250 Bake 209
.. Nonlinear 6 .. Extrusion Distance 176
.. Render 229 .. Multiresolution 178
Anisotropy 195 .. Normal 175
Aperture F-stop 62 Bake Action Animation 240, 250
Appending Assets 87 Bake To Keyframes Rigid Body
Apply All Transforms 56, 75 263
Banana 127 .. Principled 18
Base Color 18 .. Transparant 190
Basis Shape Keys 150 .. Velvet 20
Beautify Faces 50 Bsurfaces Add-on 146
Bevel 30, 48, 51 Build Modifier 33
.. Edge 133 Bump Node 67
.. Edit Mode 73 Bump Texture Texture Paint 171
Bisect Mesh 189 Bumps 173
Blend Brush Strength 161 Buttons Mouse 8
.. Brush Texture 183 Bézier 48
Blend Mode Alpha Clip 190 Cache 208
Blendmode 115 Camera 7, 10
Blob Brush Sculpting 94 .. Fly Mode 40
Bloom 62 .. Focal Length 160
Bone Extrude 226 .. Location 10
.. Root 89 .. Positioning 22
Bone Constraint 227 .. View 10, 160
.. Inverse Kinematics 227 .. Walk Mode 40
.. Limit Rotation 227 .. Walk Navigation 160
Bone Root 226 Cell Shader 253
Bone Tip 226 Celtic Knots 121
Book Generator 123 Chain Inverse Kinematics 239
Boolean Modifier 26, 38 Chevron Drop-down Menu 28
Box Select 15 Child Of Constraint 235
Bridge 59 Circle 48
.. Edge Loops 59 .. Mesh 77
.. Edge Loops 139 .. Select 16
Bright Contrast Node 255 .. Select Size 16
Browser File 5 Clay Strips Brush Sculpting 94
Brush Grease Pencil 285 Clean Topology 118
.. Texture 103 Clean Up Mesh 99
.. Texture Transparency 103 Clear Transform Pose 89
.. Texture Mapping 183 Clone From Perspective Image 158
Brush Size Sculpting 92 .. Paint Slot 161
Brush Strength Blend 161 Clone Tool Texture Paint 161
Brush Texture Blend 183 Cloth 205
BSDF Glass 20 .. Modifier 212
.. Pin Group 213 Convex Hull 219
.. Pressure 213 Copy 15, 39
Clouds Texture 36 Copy As New Driver 185
Collada DAE 113 Correcting Normals 50
Collection 37, 80, 270 Crease Brush Sculpting 94
.. Grease Pencil Line Art 265 Create Face 58
Collider 218 .. UV Map 159
Collision Modifier 212 CTRL-TAB 11
.. Physics Properties 207 Cube 7
Collision Shape 218 .. Start 3
Color Base 18 Culling Backface 139
Color Attribute Grease Pencil 286 Curl Finger 233
Color Ramp Node 69 Current View 10
Colorramp Node 254 Curtain 213
Columns Outliner 54 Curve 45, 46
Combine Normal With Bump 180 .. 2D 47
Combine Color Node 254 .. 3D 47
Combine XYZ Node 203 .. Draw 52
Compose 22 .. Extra Objects 120
Compositor 5, 252, 268 .. Modifier 49
Compositor Node Denoise 272 .. Radius 53
.. Sun Beams 272 .. Segments Switch Direction 250
.. Viewer 272 .. Stroke Method 93
Cone 26 .. Tilt 55, 268
Connect Rigid Body 220 Curved Surfaces 50
Connected Only Proportional 150 Custom Properties 184
.. Proportional Editing 160 Cycles 22
Constrain Movement 13 .. Render Engine 39
Constraint 9 Cyclic 49
.. Child Of 235 .. Toggle 49
.. Follow Path 249, 267 Cylinder 27
.. Rigid Body 220 DAE Collada 113
Control Fine 13 Decimate Modifier 32
.. Point 47, 59 Deform Axis 76
Controls Game 10 .. Surface 217
Convert 46 Delete 31
Converter Node 19 .. Dissovle Edges 135
Denoise 42, 55 Edge 11
.. Compositor Node 272 .. Bevel 133
Depth Of Field 62 .. Loop 58, 129
.. Reference Image 164 .. Loops 16, 72
.. Surface 53 .. Slide 148
Deselect All 12 .. Subdivide 12
.. Vertices By Material 60 Edge Loop Select 165
Difference 27 .. Slide 165
Displace Modifier 36, 182 Edge Loops Bridge 139
Displacement 173, 182 .. Select 16
.. Texture 103 Edges Sharp 50
Display As Solid 212 .. Split 50
.. Wire 211 Edit Driver 185
Dissovle Edges Delete 135 .. Hide Mesh 92
Distibution Poisson Disk 280 .. Mode 11
Distribute Points On Faces .. Show Mesh 92
Geometry Node 280 .. Vertex Weights 99
Divisions Resolution 208 Edit Mode Grease Pencil 291
Domain Fluid 208 .. Modifier 132
Dope Sheet 6 Edit Tool Smooth 91
Dope Sheet Editor 241 Editing Proportional 13
Download Add-on 123 Editor Dope Sheet 241
Drag 9 .. Graph 6, 237
Draw Curve 52 .. Image 5, 101
.. Surface 53 .. Nonlinear Animation 241
Draw Brush Sculpting 94 .. Shader 5, 19, 42
Draw Curve Surface 266 .. Timeline 33, 117, 196
Driver Copy As New 185 .. UV 5, 156
.. Edit 185 Editors 4
.. Paste 185 Eevee 22
Drivers 6, 184 .. Render Engine 39
Duplicate 39 Effect Quick 20
.. Keyframe 234 Effector Fluid 209
.. Material 105 Empty Object 74
.. Objects 26 Emulate Numpad 16
Dyntopo 129 Enable Add-on 120
.. Sculpting 91 Endpoint Jump To 197
Engine Render 39 .. Surfaces 50
Environment Texture 54 Flip Image 161
Environment Texture 82 .. Normals 141
Erase Grease Pencil 289 Flood Fill Grease Pencil 287
Even Sided Polygon 136 Fluid Domain 208
Explode Quick Effects 206 .. Effector 209
Export 112, 118 .. Modifier 208
Extrude 14, 35 .. Simulation 205, 208
.. Bone 226 Fluid Flow Behavior Geometry
.. Face 14 210
.. Text 49 .. Inflow 210
Extrusion Distance Bake 176 .. Outflow 210
Eye Visibility 54 Focal Length Camera 160
F-stop Aperture 62 Focus 62
F2 Add-on 146 Follow Path Constraint 249, 267
Face 11 Force Field 207
.. Add 141 Free 47
.. Create 58 Fur Quick 20
.. Extrude 14 Game Controls 10
.. Snap 138 Generate Rig 232
Face On Image 163 Geometry Fluid Flow Behavior
Faces Beautify 50 210
.. Instancing 77 .. Node 68, 192, 201, 275
.. Triangulate 128 Geometry Node Distribute Points
Fade Effect 246 On Faces 280
Falloff 101 .. Group Input 283
Favorites Quick 140 .. Input Variable 283
FBX 115 .. Instances On Points 280
.. Autodesk 113 .. Join Geometry 281
Ffmpeg Video 230 .. Modifier 276
Figure Stick 35 .. Normal 279
File Browser 5 .. Random Value 278
Fill Grid 146 .. Rotate 281
Fine Control 13 .. Set Position 277
Finger Curl 233 .. Set Shade Smooth 279
.. Pose 233 .. Subdivision Surface 278
Flat Shade 17 .. Texture 282
.. Transform 278 Hatched Shading 258
Getting Assets From Other Files HDRI 55
87 Header 8
GIMP 158 .. Scroll 54
Gizmo 9 Hide Mesh Edit 92
Glass BSDF 20 Highlight 8
Grab Brush Sculpting 94 .. Orange 17
Graph Editor 6, 237 .. Yellow 17
.. Modifier 237 Holdout 270
Grass 79 HSV 254
Grease Pencil 275, 284 Human Meta-rig 231
.. Brush 285 Ico Sphere 14
.. Color Attribute 286 Ico Sphere Mesh 14
.. Edit Mode 291 Image 22
.. Erase 289 .. Editor 5, 101
.. Flood Fill 287 .. Face On 163
.. Layer 291 .. Flip 161
.. Line Art 261 .. Profile 163
.. Material 286 .. Reference 163
.. Modifier 293 .. Resize 155
.. Plane 285 .. Texture 101
.. Sculpting 293 Image Sequence 229
.. Stroke 284 Image Texture Node 67
.. Strokes On Back 289 Import 112
.. Tint 290 Importing Assets 87
Grease Pencil Line Art Collection In Front Viewport Display 138
265 Index Refractive 20
Grid Fill 146 Inflow Fluid Flow Behavior 210
.. Snap 35, 57 Input Variable Geometry Node
Group Node 256 283
Group Input Geometry Node 283 Insert Keyframe 197
Groups Vertex 102 Installation 2
Hair 21 Instances On Points Geometry
.. Particle 21 Node 280
Handle 47 Instancing Faces 77
.. Type 59 Intancing Vertices 77
Hard Surface Rigging 224 Interface User 1
Interpolation Mode 198 Loop Cut And Slide 136
Intersect 27 .. Edge 58, 129
Inverse Kinematics Bone Loop Cut 165
Constraint 227 .. Tool 72
.. Chain 239 Loops Edge 16, 72
Invert Select 61, 102 Low Poly 116
Island Selection Mode 168 Mac OS 2
Islands UV 167 Make Group Node 256
Join 17, 29 Manual Online 6
.. Meshes 149 Manually Assign Bone Weight 227
.. Object 17, 29, 149 Map Normal 174
Join Geometry Geometry Node Map Range Node 255
281 Mark Seam 156
Joining Mismatched Quads 143 Mask Modifier 137
Jump To Endpoint 197 .. Texture Paint 102
Keep Corners Subdivision 190 Mask Brush Sculpting 96
Keyboard Short-cut Quick Masking 97
Favourites 140 Matcap Viewport Shading 93
Keyframe 196 Material Duplicate 105
.. Duplicate 234 .. Grease Pencil 286
.. Insert 197 .. Nodes 18
Keys Short-cut 9 .. Offset 41
Knife Tool 134 .. Preview 18
Knots Celtic 121 .. Properties 18
Layer Grease Pencil 291 .. Slots 41, 60
Levels Subdivision 30 .. Surface 41
Light 7, 39 .. Texture Paint 101
.. Point 39 .. Transparent 20
.. Spot 194 .. Volume 41
.. Sun 39 Materials 18
Limit Rotation Bone Constraint Math Node 70
227 Menu Pie 11
Line Art Grease Pencil 261 Merge 51
Linked Select 54, 99 .. Auto 138
Linux 2 .. By Distance 51, 99
Liquid 210 .. Vertex 149
Location Camera 10 Mesh 11, 45, 49
.. Bisect 189 .. Mirror 35
.. Circle 77 .. Multiresolution 179
.. Clean Up 99 .. On Cage 132
.. Extra Objects 120 .. Order 28, 30, 213
.. Ico Sphere 14 .. Realtime 132
.. Shrink/fatten 244 .. Remesh 32
.. Torus 14 .. Render 132
.. Transform Move 12 .. Rigid Body 217
.. UV 156 .. Shrinkwrap 131, 148
Mesh Extras Wall Factory 244 .. Skin 35
Meshes Join 149 .. Soft Body 214
Meta-rig Human 231 .. Solidify 33
Metallic 18 .. Stack 28
Mirror 31 .. Subdivision 35, 148
.. Modifier 35 .. Wireframe 38
Mirror Modifier Symmetry 87 Modifiers 25
Mix RGB Node 255 .. Non-destructive 25
Mix Shader Node 67 More/less Select 16
Mixamo 115 Mouse Buttons 8
Mode Edit 11 .. Wheel 10
.. Object 11 Mouse-over 6
.. Selection 12 Move 12
Modifier Apply 28 Movement Constrain 13
.. Array 71 Multiple Object Selection 17
.. Boolean 26, 38 Multiresolution Bake 178
.. Build 33 .. Modifier 179
.. Cloth 212 .. Sculpting 179
.. Collision 212 Musgrave Texture 19
.. Curve 49 Naming 40
.. Decimate 32 Navigation Walk 10
.. Displace 36, 182 Node Bright Contrast 255
.. Edit Mode 132 .. Bump 67
.. Fluid 208 .. Color Ramp 69
.. Geometry Node 276 .. Colorramp 254
.. Graph 237 .. Combine Color 254
.. Grease Pencil 293 .. Combine XYZ 203
.. Mask 137 .. Converter 19
.. Geometry 68, 192, 201, 275 Nurbs Surface 57
.. Group 256 Object Data Properties 46
.. Image Texture 67 .. Empty 74
.. Make Group 256 .. Interaction Mode 11
.. Map Range 255 .. Join 17, 29, 149
.. Math 70 .. Mode 11
.. Mix RGB 255 .. Offset 73
.. Mix Shader 67 .. Properties 9
.. Noise Texture 70 .. Select 8
.. Normal Map 177 Object Info Node 202
.. Object Info 202 Objects 7
.. Select 176 .. Duplicate 26
.. Separate Color 254 OBJ Wavefront 113, 114
.. Separate HSV 67 Occlusion Ambient 62
.. Separate XYZ 201 Odd Sided Polygon 136
.. Shader To RGB 254 Offset Material 41
.. Tree 277 .. Object 73
.. UV Map 170 .. Relative 76
.. Vector Mapping 171 Ojbect Info Random 123
.. Vector Math Add 180 On Cage Modifier 132
.. Vector Math Normalize 180 Online Manual 6
Nodes 18 Orange Highlight 17
.. Material 18 Order Modifier 28, 30, 213
Noise Texture Node 70 .. Selection 52
Non-destructive Modifiers 25 Origin 35
Non-photorealistic 252 .. Set 219
Nonlinear Animation 6 Orthographic View 35, 36
Nonlinear Animation Editor 241 Outflow Fluid Flow Behavior 210
Normal Bake 175 Outline 8
.. Geometry Node 279 Outliner 5
.. Map 174 .. Columns 54
Normal Map Node 177 Output Properties 42
Normal With Bump Combine 180 Overlays Viewport 32
Normals 33, 50, 173 Pack External Data 104
.. Correcting 50 Paint Texture 100
.. Flip 141 .. Vertex 290
Numpad Emulate 16 Paint Slot Clone 161
Painting Weight 98 .. Image 163
Pan 10 Projection UV 160
Parent 52 Properties 4
.. Automatic Weights 98 .. Custom 184
Particle Density Texture 109 .. Material 18
.. Hair 21 .. Object 9
.. Properties 207 .. Output 42
Particles 79, 205 .. Particle 207
Paste 15, 39 .. Scene 221
.. Driver 185 .. Texture 36
Photoshop 158 .. Vparticle 21
Physics 205 .. World 43, 54
Physics Properties Collision 207 Proportional Connected Only 150
Pie Menu 11 .. Editing 13
Pin Group Cloth 213 .. Editing Size 16
Plane 23 Proportional Editing Connected
.. Grease Pencil 285 Only 160
Play Head 199 Push Down NLA Stack 249
Point Control 47, 59 Quads 127, 135
.. Light 39 .. Tris To 129
.. Vector Mapping 171 Quick Effect 20
Pointiness 68 .. Favorites 140
Poisson Disk Distibution 280 .. Fur 20
Poly Build Tool 144 Quick Effects Explode 206
Polygon Even Sided 136 .. Smoke 208
.. Odd Sided 136 Radius Curve 53
Polygon Count 117 .. Tool 53
Polyhedron 14 Random Ojbect Info 123
Pose Clear Transform 89 Random Value Geometry Node
.. Finger 233 278
Positioning Camera 22 Randomize Transform 108
Preferences 120 Re-topology 126, 135, 138
Pressure Cloth 213 Realtime Modifier 132
Preview 18 Record Video 245
.. Material 18 Reference Image 163
Principled BSDF 18 Reference Image Depth 164
Profile 13, 48 Reflection Window 23
Refractive Index 20 .. Geometry Node 281
Region Render 42 Rotation Track-ball 13, 231
Regions 8 Roughness 18
Relative Offset 76 Sampling 55
Remesh Modifier 32 Save All Images 104
Remove Vertex Group 100 Scale 9
Remove From Selection 16 Scaling UV Map 169
Render Animation 229 Scatter Volume 41, 61, 190
.. Engine 39 Scattering 195
.. Modifier 132 .. Ojbects Over A Surface 79
.. Region 42 Scene Properties 221
Rendered 18 Screen Space Reflections 62, 122
Rendering 22 .. Splash 3
Replay 209 Scroll 10
Resize Image 155 .. Header 54
.. Skin 35, 88 Sculpting 86, 90
Resolution 47 .. Blob Brush 94
.. Divisions 208 .. Brush Size 92
Reverse Sense Of Brush Sculpting .. Clay Strips Brush 94
92 .. Crease Brush 94
Rig Generate 232 .. Draw Brush 94
Rigging 223 .. Dyntopo 91
.. An Existing Mesh 230 .. Grab Brush 94
.. Armature 98 .. Grease Pencil 293
.. Hard Surface 224 .. Mask Brush 96
Rigid Bodies 205 .. Mesh Subdivision 90
Rigid Body Bake To Keyframes .. Multiresolution 179
263 .. Reverse Sense Of Brush 92
.. Connect 220 .. Slide Relax 147
.. Constraint 220 .. Smooth 92
.. Modifier 217 .. Strength 92
.. World 221 Seam Mark 156
Rigify 231 .. UV 156, 167
Rip Vertices 143 Segments Subdivide 56
Root Bone 89 Select All 12
Rope Simulation 243 .. Box 15
Rotate 10, 12 .. Circle 16
.. Edge Loop 58 .. Viewport 18
.. Edge Loop 165 Shape Keys 150
.. Edge Loops 16 .. Basis 150
.. Invert 61, 102 Sharp Edges 50
.. Linked 54, 99 Sheet Dope 6
.. More/less 16 Short-cut Keys 9
.. Multiple Objects 17 .. Variations 13
.. Node 176 Shortcut 6
.. Object 8 Show Mesh Edit 92
.. Tweak 139, 232 Shrink/fatten Mesh 244
.. Vertex 12 Shrinkwrap Modifier 131, 148
.. Vertices By Material 60 .. Snap Mode 131
Selected 17 .. Target Normal Project 133
Selection Add To 16 .. Wrap Method 131
.. Mode 12 Sidebar 8, 31
.. Order 52 Simulation Fluid 205, 208
.. Remove From 16 .. Rope 243
.. Separate 130 Single Bone Armature 225
Selection Mode Island 168 Single Image Texture Paint 107
Separate Selection 130 Size Voxel 33
Separate Color Node 254 Skin Modifier 35
Separate HSV Node 67 .. Resize 35, 88
Separate XYZ Node 201 Skin Modifier Armature 88
Sequencer Video 229 Skin Resize 244
Set Origin 219 Sky Texture 43
Set Position Geometry Node 277 Slide Edge 148
Set Shade Smooth Geometry .. Edge Loop 165
Node 279 .. Vertices 137
Shade Flat 17 Slide Relax Sculpting 147
.. Smooth 17 Slot Texture Paint 101
Shader 18 Slots Material 41, 60
.. Cell 253 Smart UV Project 100
.. Editor 5, 19, 42 Smoke Quick Effects 208
.. Volume 187 Smooth Auto 33
Shader To RGB Node 254 .. Edit Tool 91
Shading Hatched 258 .. Sculpting 92
.. Smooth 51 .. Shade 17
.. Shading 51 .. Keep Corners 190
Snap 35 .. Levels 30
.. 3D Cursor 233 .. Modifier 35, 148
.. Absolute Grid 35 .. Surface Modifier 30
.. Face 138 Subdivision Surface Geometry
.. Grid 35, 57 Node 278
.. Grid Absolute 57 Subsurface Scattering 105
.. Vertex 233 Sun Light 39
.. Volume 232 Sun Beams Compositor Node 272
Snap Mode Shrinkwrap 131 Surface 18, 45
Snapping 13 .. Deform 217
Soft Bodies 205 .. Depth 53
Soft Body Modifier 214 .. Draw 53
Solid 18 .. Draw Curve 266
.. Display As 212 .. Material 41
Solidify Modifier 33 .. Nurbs 57
Specular 116 Surfaces Curved 50
Sphere Ico 14 .. Flat 50
Spin Tool 78 Symmetrize Armature 248
Spinning Vertices 78 Symmetry Mirror Modifier 87
Splash Screen 3 TAB 11
Spline Active 57 Target Normal Project
Split Edges 50 Shrinkwrap 133
Spot Light 194 Text 46, 49
Stack Modifier 28 .. 3D 49
Start Cube 3 .. Extrude 49
Statistics 32 Texture Brush 103
Stick Figure 35 .. Clouds 36
Strength Sculpting 92 .. Displacement 103
Strip Speed 246 .. Environment 54
Stroke Grease Pencil 284 .. Geometry Node 282
Stroke Method Curve 93 .. Image 101
Stuck Zoom 10 .. Musgrave 19
Subdivide 12 .. Paint 100
.. Edge 12 .. Properties 36
.. Segments 56 .. Sky 43
Subdivision 30 .. Vector Mapping 171
.. Voronoi 21, 103 Triangles Avoiding 136
.. Wood 103 Triangulate Faces 128
Texture Mapping Brush 183 Tris To Quads 129
Texture Paint Bump Texture 171 Tunneling 221
.. Clone Tool 161 Tweak Select 139, 232
.. Mask 102 Type Handle 59
.. Material 101 Undo 12
.. Single Image 107 Union 27
.. Slot 101 Unwrap 153
Textures 3D 196 .. UV 156
.. 4D 198 Upgrade 2
Tilt Curve 55, 268 User Interface 1
Timeline 5 Users 259
.. Editor 33, 117, 196 UV Editor 5, 156
Tint Grease Pencil 290 .. Grid Image Texture 156
Tips Tool 6 .. Islands 167
Toggle Cyclic 49 .. Mesh 156
Tool Knife 134 .. Project From View 160
.. Loop Cut 72 .. Projection 160
.. Poly Build 144 .. Seam 156, 167
.. Radius 53 .. Unwrap 156
.. Spin 78 UV Map 100, 153, 283
.. Tips 6 .. Create 159
Toolbar 8 .. Node 170
Topology 126 .. Scaling 169
.. Clean 118 Variations Short-cut 13
Torus 14, 27 Vector 47
.. Mesh 14 Vector Mapping Node 171
Track-ball Rotation 13, 231 .. Point 171
Transform 9 .. Texture 171
.. Geometry Node 278 Vector Math Add Node 180
.. Randomize 108 Vector Math Normalize Node 180
Transformations Apply 56 Velvet BSDF 20
Transforms Apply 87, 95 Vertex 11
Transparant BSDF 190 .. Groups 102
Transparent Material 20 .. Merge 149
Tree Node 277 .. Paint 290
.. Select 12 Wall Factory Mesh Extras 244
.. Snap 233 WASD 10
Vertex Color 290 Wavefront OBJ 113, 114
Vertex Group Remove 100 Weight Painting 98
Vertex Weights Edit 99 Wheel Mouse 10
Vertices 11 Window Reflection 23
.. Intancing 77 Windows 2
.. Rip 143 Wire Display As 211
.. Slide 137 Wireframe 18, 116
.. Spinning 78 .. Modifier 38
Video Record 245 Wood Texture 103
.. Sequencer 229 Workspace 19
Video Sequencer 246 .. Active 19
View Camera 10, 160 World Properties 43, 54
.. Current 10 .. Properties Shader 61
.. Orthographic 35, 36 .. Rigid Body 221
View Layers 268 Wrap Method Shrinkwrap 131
Viewer Compositor Node 272 X-ray 12, 35
Viewport 3D 4 Yellow Highlight 17
.. Overlays 32 Zoom 10
.. Shading 18 .. Stuck 10
Viewport Display In Front 138
Viewport Shading Matcap 93
Visibility Eye 54
Volume Absorption 193
.. Material 41
.. Principled BSDF 193
.. Scatter 41, 61, 190
.. Shader 187
.. Snap 232
Volume Shader 82
Volumes 187
Voronoi Texture 21, 103
Voxel Size 33
Vparticle Properties 21
Walk Navigation 10
Walk Navigation Camera 160