Blender

Intro

Modelling

Modifiers

General

  • Here is the Blender modifier docs
  • Apply all modifiers
    • Object > Convert to > Mesh from Curve/Meta/Surf/Text
  • Copy Modifiers
    • Note that we need the Copy Attributes Menu (Interface) add-on installed
    • Select all the objects to copy the modifier to
    • Lastly select the object with the modifiers to copy
    • Ctrl C > Copy Modifiers

Vertex groups

  • How to create a vertex group
    • Go into edit mode of the mesh you want to add the group to
    • Click the Object Data Properties
    • Expand the Vertex Groups area
    • Click the + button, and optionally name the group
    • Use the Weights slider (or enter numerically) to specify the weight to be added.
    • Select the verts you wish to add
    • Click assign.
    • Note that you can add verts with different weights to the same group

example

Using vertex groups with the smooth modifier. Lets say that we wish to use the smooth modifier on a mesh but we wish to kwpp the edge verts where they are.

  • Create a vertex group
  • Set the weight to 0 & select the edge verts and apply to the group.
    • Tip one easy way to select the edge is to seelct all the faces of the mesh and Select > Select Loops > Select Boundry Loop (found in the select menu)
  • Ctrl I to invert the selection, set the weight to 1 and apply to the same group.
  • Then we can specify this group in the smooth modifier.

Modifiers

Array

  • Array : Generate
    • Fit Type
      • Fixed Count
      • Fixed Length
      • Fit Curve
    • Constant Offset
      • This offset remains the same even if the object is transformed in edit mode.
    • Relative Offset
      • The offset is relative to the objects bounding box i.e. if we transform the components in a way that changes the bounding box the offset will change in realtion to this.
    • Object Offset
      • Add another object transformation to the total offset. Can be used to create a radial array.

Example

  • Example
    • Radial Array
      • Create a cylinder
        • Scale it uniformly to 0.5 S .5
        • Move it in x-axis 2 units G X 2
        • Apply the transformation Ctrl A > Apply all Transformations. By doing this we also move the pivot (location) to the world origin. We can also leave the transformation but then we need to set the origin to match the origin to the origin of the object that we will use as object offset.
      • Create an Empty > Plain Axes (this object will be used to control the rotation of the radial array)
      • Apple an Array Modifier to the cylinder
      • Enable Object Offset and select the empty object as the object to use.
      • Set the Fit Type to Fixed Count set the count input to 6
      • Rotate the empty object 60 degrees on the z-axis R Z 60

Bevel

  • Bevel : Generate
    • Bevel Amount

      • Offset
        • The distance from the original edge to the edge of the beveled face.
      • Width
        • The distance between the two new edges formed by the bevel.
      • Depth
        • The perpendicular distance from the new bevel face to original edge.
      • Percent
        • Similar to Offset but the value is interpreted as a percentage of the adjacent edge length.
    • Profile : Controls how concave/convex the profile will be. If we increase the profile (for a sharper corner) we might resolve some shading issues. 0.7 can be a nice value.

    • Clamp Overlap : With this enabled the bevel will clamp (be terminated) when it hits some edges.

    • Loop slide : Prefers sliding along edges to even width (meaning disabling this option might lead to a more even bevel)

    • Harden Normals : When enabled, the per-vertex face normals of the bevel faces are adjusted to match the surrounding faces, and the normals of the surrounding faces are not affected. This will keep the surrounding faces flat (if they were before), with the bevel faces shading smoothly into them. For this effect to work, you need custom normals data, which requires Auto Smooth option to be enabled (see Normals). Note quite similar to weighted normals, but with less options.

    • Miter Type

      • Outer
        • Controls the bevel at the intersections between a beveled edge and an edge that is not beveled (i.e. when we use some type of limit method)
      • Inner
        • Controls the bevel at the intersections between two beveled edges.
    • Limit Method

      • None
        • The same bevel will be used on the entire mesh
      • Angle
        • Only bevel the edges whos faces have an abgle greater than specified angle
      • Weight
        • Use the bevel weight (which is set in edit mode per edge) and is used as a multiplier to the amount of bevel given by the modifier.
      • Vertex Group
        • Will only apply the bevel on edges that are part of the vertex group specified
        • How to create a vertex group
        • Select the vertex group you created in the previous step
        • Seems like you can only use one vertex group per bevel modifier (unlike Houdini)
        • It seems like the vertex group weight can only be on or off (everything less than .5 will be considerd off and above .5 as on) i.e. the weight can not be used as a multiplier?
    • Face Strength Mode : Set Face Strength on the faces involved in the bevel, according to the mode specified here. This can be used in conjunction with a following Weighted Normals modifier (with the Face Influence option checked).

    • Note

      • You can stack multiple bevel modifiers with different limit method on top of eachother
      • Make sure the bevel modifier is the last modifier in the stack (maybe an exception is modifiers that afffect the normal)

Mirror

The Mirror modifier mirrors a mesh along its local X, Y and/or Z axes, across the Object Origin. It can also use another object as the mirror center, then use that object’s local axes instead of its own.

  • Mirror : Generate
    • Axis : The X, Y, Z axis along which to mirror, i.e. the axis perpendicular to the mirror plane of symmetry.
    • Bisect : If the mesh is already on both sides of the mirror plane, it is cut by that plane, and only one side (the “negative” one by default) is kept to perform the mirror process.
    • Flip : When Bisect is enabled on an axis, you can use this setting to switch the side kept and mirrored (i.e. when it is enabled, the “positive” side will be kept, instead of the “negative” one).
    • Mirror Object
      • Lets us specify and object to mirror around
      • If the mirror object is rotated, the mirror will also be rotated
      • an Empty > Plain Axis is suitable to use as this object
    • Merge : Where a vertex is in the same place (within the Merge Limit distance) as its mirror it will be merged with the mirrored vertex.
    • Merge Limit : The maximum distance between a vertex and its mirror copy at which they are merged together (being snapped on the mirror plane). Needs Merge to be enabled.
    • Clipping : Prevents vertices from moving through the mirror plane(s) while the user is transforming them in Edit Mode. If it is enabled but vertices are beyond the mirror plane and outside of the Merge Limit, the vertices will not be merged. But as soon as the vertices are within Merge Limit they are snapped together and cannot be moved beyond the mirror plane.

Solidify

  • Solidify : Generate
    • Offset
      • Can be used to offset the resulting mesh. An oofset of 0 (default) will solidify equal amount on both directions.

Simple Deform

The Simple Deform modifier allows the application of a simple deformation to an object. Meshes, lattices, curves, surfaces and texts are supported objects. The deformation is either a rotation (Twist, Bend) or a scaling (Taper, Stretch). The amount of deformation is specified by the Deform Angle (rotation) or Deform Factor (scaling).

  • Simple Deform : Deform

Example

The Simple Deform in bend mode can be used together with an Array modifier to bend a mesh in 360 degrees to create a round symetrical mesh

  • Example
    • Use the default cube and add an Array modifier to it set the count to what you like.
      • If you wish to use a subd modifier layter or wants the edges to merge remove the faces between the array instances so that they can merge to one mesh
      • Also make sure that the offset is set so that the array instances are “edge to edge” if you want them to merge.
    • Add a Simple Deform modifier
      • Set the axis to z
      • Set the angle to 360
  • Note
    • If we bend a shape 360 we might want to weld the endpoints, to do this procedurally we can use a weld modifier.

Wireframe

The Wireframe modifier transforms a mesh into a wireframe by iterating over its faces, collecting all edges and turning those edges into four-sided polygons

  • Wireframe : Generate

Example

  • Creating a 45 degrees meshed cube
    • Using the deafult cube, go into edit mode RMB > Subdivide > Number of Cuts : 3
    • Add a subdivision modifier (to create a rounded corners and add some addituonal subdivisions
      • Set the subdivison to 2
    • Add a Decimate modifier (we will use this to “rotate” our edges 45 degrees)
    • Enable the Un-Subdivide radio button and set the Iterations to 1
    • Add a Wireframe modifier and tweak to your needs.

Subdivision Surface

  • Subdivision Surface : Generate
    • Add subd modifier : Ctrl 1 (ctrl 0, 1, 2 …)
      • The shortcut only works in object mode.
      • Increases the viewport subdivs not the render ones.
    • The 4th icon (the triangle that looks like the object data icon) is toggling the cage as drawn ontop of the modifier or as the actual lowrez cage.
    • Creasing : There are severeal ways to edit the crease:
      • Sidebar menu (N) > Edge Data > Crease
      • Edge menu > Edge Crease
      • RMB menu > Edge Crease
      • Shift E

Smooth

The Smooth modifier smooths a mesh by flattening the angles between adjacent faces in it, just like the Smooth tool in Edit Mode. It smooths without subdividing the mesh, the number of vertices remains the same. This modifier is not limited to smoothing, though. Its control factor can be configured outside the (0.0 to 1.0) range (including negative values), which can result in interesting deformations.

  • Smooth : Deform
    • Factor
      • Strength of the modifier effect. Should probably keep it between 0-1 (you can exceed this range, but the mesh will explode:)
    • Repeat
      • Number of iterations I guess
    • Note
      • It can be good to use vertex groups to limit the effect.

Smooth Corrective

The Smooth Corrective modifier is used to reduce highly distorted areas of a mesh by smoothing the deformations. This is typically useful after an Armature modifier, where distortion around joints may be hard to avoid, even with careful weight painting.

  • Smooth Corrective : Deform
    • Smooth Type
      • Simple
        • This simply relaxes vertices to their connected edges.
      • Length Weight
        • Uses a method of relaxing that weights by the distance of surrounding vertices. This option can give higher quality smoothing in some cases, by better preserving the shape of the original form.
      • Only Smooth
        • This option is included to preview the smoothing used, before correction is applied.
      • Pin Boundaries
        • Prevent boundary vertices from smoothing.

Shrinkwrap

  • Shrinkwrap : Deform

One nice usage of the shrinkwrap modifier is to use a “base mesh” with smooth clean topology to project a more detailed version on to. We do this to enusre that our edeges, holes and cuts of the detailed mesh are smooth.

Another usage is to make the edges of an object fit the surface of another.

Example

  • Example
    • Lets say we have a curved surface and we wish to kitbash some object and we wish the kitbash objects outer edges to blend in with the curved surface.
    • Set the origion (pivot) of the kitbash object to the center/bottom of the kitbash object.
    • Set up some vertex groups that we can use when we limit the shrinkwrap modifier. The outermost edgr ring of verts should have a weight of 1. Then we gradually lower the weight for each successive vert ring.
    • In object mode set the snap to face and snap with median & allow Rotation to Target
    • Add the Shrinkwrap modifer and set the vertex group to the one created earlier.

Surface Deform

The Surface Deform modifier allows an arbitrary mesh surface to control the deformation of another, essentially transferring its motion/deformation. One great use for this is to have a proxy mesh for cloth simulation, which will in turn drive the motion of your final and more detailed mesh, which would otherwise not be suitable for simulation.

  • Surface Deform : Deform

Example

Lets say that we have a kitbash model that we wish to deform so that the geometry flows along a curved surface.

  • Example
    • In object mode, add a plane, and position/scale it so that its boundaries “fits” (maybe slightly extends it?) the mesh that we want to affect. Add some subdivisions to the plane so that it has enough for it to deform well.
    • For good measure, Ctrl A and apply all transforms.
    • We might also want to set the display options of the plane to wireframe.
    • Select the kitbash model and Add Modifier > Surface Deform
    • As Target we use the plane we created.
    • Then we click the Bind button (at the bottom of the surface deform modifier)
    • Then we parent the kitbash model to the plane.
      • Select the kitbash geo
      • Shift LMB the plane
      • Ctrl P > Object (Keep Transform)
    • Then we can use the snap, with face & align rotation with target enabled.
    • To make the plane wrap the destination geo add a Shrinkwrap modifier to the plane, and set the curved surface as target. This will shrinkwrap the plane to the curved geo which in turn will surface deform the kitbash geo.
    • We might want to increase the offset of the shinkwrap modifier to avoid z-fighting with the curve geo.

Lattice

The Lattice modifier deforms the base object according to the shape of a Lattice object. Objects to be deformed can be meshes, curves, surfaces, text, lattices and even particles.

  • Lattice : Deform

Example

Lets say that we have an object that are translated and rotated and we wish to use a lattice to deform the object.

  • Example
    • Create a lattice object Add > Lattice (in object mode)
    • If we need to position/rotate the lattice:
      • Select the lattice object then shift select the object to deform
      • Ctrl C > Copy Location
      • Ctrl C > Copy Rotation
    • Scale the lattice to fit
    • In the Object Data Properties you will find the divisions of the latttice.
    • Apply the Lattice Modifier select the target to be the lattice object we created
    • Deform the lattice object as needed (in Edit mode).

Curve

The Curve modifier provides a simple but efficient method of deforming a mesh along a curve object.

  • Curve : Deform
    • Note
      • This modifier works in global space, in other words, the actual position of the geometry relative to the curve is determinant to get a correct result.
      • Typically, you’ll want your object’s origin to be at the center of your geometry (not offset far away from it, you can e.g. Set Origin to Geometry).
      • And then you’ll want to start with your object’s origin at the same location as your curve object’s origin (you may use snap tools for that…).

Example

Lets create a simple example with a cylinder and a bezier cruve.

  • Example
    • Scene setup (not part of the modifier)
      • Create a cylinder Shift A Mesh > Cylinder
      • Scale it .05 uniformly S .05
      • Scale it 20 in z S Z 20
      • In edit mode add a lot of loop cuts (along the z axis to allow for deformation)
      • Add a bezier curve Shift A > Curve > Bezier
        • To edit the curve go into edit mode, click one of the verts and RMB click to add a curve point. Depending of which point you select you will add the point to the beginning or the end of the curve
        • Also note that you can select a curve point and press Alt S to edit the size radius of the curve point (it will be used by the curve modifier) You can find this attribute in the Sidebar > Items (tab) > Transform > Radius. Here you will also find the Tilt attribute.
        • Also note that in the Object Data Properties of the curve object you will find the Resolution Preview U (This controls how much the curve will be segemnted in the viewport)
    • Apply the Modifier
      • Select the cylinder geo
      • Add Modifier > Curve
      • As the Object select the bezier curve
      • Select Deformation Axis (in our case z)
      • Lets move our mesh in the local z-axis to move it along the deformation axis
        • Select the mesh tap G ZZ to move in local z
        • Or use the translation gizmo, change transformation orientation to local and move along the local z-axis.

Boolean

  • Boolean : Generate

Example

  • Add a Bevel modifier
    • Here are some starting values for the bevel modifier (applied after a boolean)
    • Segments : 3
    • Profile : 0.75
    • Clamp Overlap : Off
    • Limit Method : Find onw that works nice!
    • Enable Harden Normals and se if that fixes some issues.

Artifacts

  • Find the right “mesh resolution balance”
    • To little or to much “resolution” will not play nice with the boolean operation, can leed to edge artifacts, so its a balancing act.
  • Select all sharp edges > Mark Sharp (edit mode)
    • Deselct manually if there are edges you do not want to include
    • Note that since we have a bevel modifier the edges will still be “smooth”
  • Nudge the boolean object used to make the (boolean) operation, this might fix ome issues.
  • Change the order of boolean operations, this might also help to reduce the problem.
  • Avoid
    • Overlaping meshes
    • Flipped normals
    • Missing faces in the mesh
    • Double faces
      • Use the select by trait (select menu) to troubleshoot
    • Overlapping verts
      • A (select all) M > by distance
  • Collapse modifier and fix in edit mode
    • Sometime the modifiers need to be collapsed (leaving the non-destructive behind) so that we can manually fix the edges and then apply a bevel modifer.
    • Use the knife tool to insert some supporting edges.
    • Slide/move the edges and merge them to get rid of the near miss verts that would mess up the bevel modifier.
    • Merge verts.
  • Add a Weighted Normal Modifier

Parenting

  • Parenting cutters
    • Create an empty object
    • Select all the objects/cutters
    • Ctrl P > Object (Keep Transform)

Data Transfer

The Data Transfer modifier transfers several types of data from one mesh to another. Data types include vertex groups, UV maps, vertex colors, custom normals…

  • Data Transfer : Modify

Example

One way to use this modifier is to transfer normals from one surface to another. One example of this is if we create some boolean cuts and get weird normals we can use the original surface (before we do any cuts) and transfer the normals from this.

  • Transfer Normals
    • Create one copy of the curved surface (before we do any boolean operations)
    • On the curved surface that we have created the boolean cuts select all the faces that we wish to exclude from the data transfer modifier. On the Object Data Properties tab create a vertex group (give it a useful name) make sure that the weight is set to 1 and press assign. (Note that we can have faces selected when we do this it does not haveto be verts)
    • Add a Data Transfer modifier
    • Enable the Face Cornber Data check box
    • Enable Custom Normals
    • In the Vertex Group filed select the vertex group we created eralier and click the icon to the right side (the “double arrow”) to invert the group.
  • Transfer Normals & Shrinkwrap
    • Lets say that we have curved surface and want to join/integrate some geo to the surface with a nice blend we can use the shrinkwrap modifier and the data transfer modifier together.
    • We use the shrinkwrap to project the closest ring of verts of the kitbash geo onto the curved surface. We control which verts that will be shrinkwrapped with verteg groups.
    • The data tarnsfer is used like in the previous example to transfer the normals from the curved surface to the outer most parts trhat will be shrinkwrapped to the surface.

Weighted Normal

Changes the custom normals of a mesh, using various selectable methods. This can be useful to make some faces appear very flat during shading, among other effects. See Normals for a description of normals and custom normals.

Note this modifier requires custom normals to be enabled, which can be done by enabling Auto Smooth in the Properties > Object Data > Normals.

  • Weighted Normal : Modify
    • Weighting Mode : The normals around a vertex will be combined to create a custom (per face corner) normal using various weights for each. The Weighting Mode defines how to compute the weights.
      • Face Area : Weight according to the area of the face that the normal originates. A larger area means that the normal from that face will get a higher weight in final result.
      • Corner Angle : Weight according to the angle each face forms at the vertex. This is the method Blender uses by default when combining face normals to compute a vertex one.
      • Face Area and Angle : Weights are obtained by multiplying the face area and corner angle ones.
    • Weight : Determines how strongly the weights are biased according to the face areas and/or corner angles, a bit like a contrast setting for a picture.
      A value of 50 means all faces are weighted uniformly.
      More than 50 means faces with higher area or angles are given even more weight (more “contrast”).
      Less than 50 means faces with higher area or angles are given lesser weights (less “contrast”).
    • Threshold : A weight-rounding threshold which means that, if two angles or areas differ by less than that threshold, they will get equal weights.
      • Note we can use the threshold to get some normal averaging to smooth out normals in some areas where the normals lookas to flat/hard. By raising the threshold we can start to introduce som averaging.
    • Face Influence : Use face weights (weak, medium, or strong) as assigned by the Set Strength tool or by the Set Strength mode of a Bevel modifier.
      • Note the face influence can be used with the face strength set by a bevel Modifier (as stated above)
      • We can also select a face Alt N > Normals > Set Face Strength

For example, if three faces meet at a vertex and have the face weights weak, medium, and strong, then only the normal associated with the strong face will be used to set the final result.

Weld

The Weld modifier looks for groups of vertices within a threshold and merges them, collapsing the surrounding geometry.

  • Weld : Generate
    • Distance : Maximum distance that the vertices must have each other to be merged.

    • Duplicate Limit : For a better performance, limits the number of elements found per vertex. 0 makes it infinite.

Hard-ops

  • Hops Tilde Remap : There is a quick way to remap the tilde key in the prefs of the hops add-on
    • Note this does not work when using the hops helper so I remaped that manually
  • Hops Bevel Helper : A quick way to adjust bevels
    • Ctrl Shift B
    • To make them persistent (not a popup) Ui > Bevel Helper Popup