Tips for making ANYTHING
- Create the low-poly mesh AND BEFORE APPLYING ANY MODS
- UV unwrap it
It’s infinitely easier to UV unwrap a low-poly mesh than a high poly one.
Tips for Creating Creatures
- Block out basic shapes as nude
- Block out key extras like clothing and bulky bits. Armor? Weapons?
- Add details/small extra bits where people’s focus will be
- Delete hidden faces and content.
- It’s ABSOLUTELY OKAY if stuff intersects other stuff. Even when animating.
- THEN refine the shapes.
Eyes and Faces
- Basis is a default wide/large white. Shocked look. Easy to shrink, but hard to expand.
- Use an expression sheet for angry, sad.
- Relaxed pose is just smaller whites and iris, iris shifted to look down. Add a tiny bit of sad dip to the whites.
- Body’s origin is center
- No transformation applied to the object
- Feet on the ground
- Subdivision before rig is okay (?!)
- Origin at center of grid
- Move the root bone’s tip to the COG of the character (waist)
- Label bones as you go
- For symmetrical bones, name <bone>.L
- Later on when duplicating, you can use the specials menu (W) to “Flip Names” and change L to R automatically!
- Turn on Wire overlay for the object to see where joints should be.
- Last spine bone is more like collarbone. It’s high up there, not the center of the shoulder. Shoulders are separate.
- Create a separate clavical (collarbone) that goes from near-center to nearly the shoulder.
- Separate this FROM the shoulder/arm
- Arm is connected to hand and all
- Arm and leg bones have some bend in them, not linear.
- Leg goes from hip center to knee
- Are separate from the hand bone.
- Knuckle to knuckle.
- Positioned towards the upper side of the hand, away from the palm.
- Do 1 finger entirely, then copy-paste for the others.
- Thumb is similar, but rotate it since thumbs do bend differently.
- Rotate the bones so their axes rotate in logical ways.
- Be consistent, this artist has it so positive X rotation produce good/logical bends.
- You can do this by enabling a display of Axes on the armature object and then rotating the bones in edit mod so the axes point in the correct way.
- Test it in pose mode.
- (No explanation of WHY this is done, but I suppose it is consistent. Always rotate along x to do correct animations)
- Parent the loose bones
- Mirror to the other half.
- Simply duplicate and mirror about the 3D cursor at origin.
- Change the name (Flip Names)
- Bind mesh and weight paint
- This tutorial is going with “Empty Groups”. Hardcore.
- Weight Paint
- Select Weight Paint mode for the character
- Select the bone you want to adust (or via the vert group)
- Good for simpler meshesh, without clothes and without underlying/hidden verts.
- Painting can be good for touch-ups and fine details during the testing phase
- Assigning via Vert Groups
- For some joints, might be as simple as 1.0 for main, 0.5 for next closest loops.
- 1.0 closest to the center of the bone.
- 0.75 for midway to the tip
- 0.5 at the tip.
- 0.25 just beyond the tip (best for fingers and such)
- Just use these base values for the initial rig. Then test it out and adjust.
- For shoulders, generally select a circle of verts in wire mode, all verts around the bone itself, that encompass the bone. 1.0
- 1.0 for center of the bone
- 0.5 for the edges
- 0.25 for an edge even further out for even nicer easing.
- Tip of the finger, just 1 all the way down.
- Not-tip of the finger, kinda include the relevant knucle parts at 0.5
- How to tell if a vert has weight assigned to it?
- Select a single vert and the (N) tab will show a “vertex Weight” section that will contain this data.
- Features is to be able to move the entire rig from one main bone, like a foot or a wrist.
- Duplicate the target bone
- Clear the duplicate’s parent.
- Set the name to IK something other
- Select the bone just up the chain (closer to the root)
- In pose mode, add a bone constraint IK
- Target - Armature
- Bone - target bone
- Chain length
- Have the original bone match the IK’s rotation
- Select that original bone
- Pose mode
- Bone constraint
- Copy rotation of the IK bone
- ………. No idea why we don’t just IK the original bone.
- Move the cursor someplace (Shift S)
- Shift A to create a new free-floating bone
- Create a blocky base mesh using regular 3D modeling methods.
- Use mirror modifier to ensure mesh is symmetrical
- Create base out of basic, subdivided cubes and such poking into each other. We’ll join it all into 1 mesh at the end.
- Make it 1, high poly mesh
- Work with parts separated out, 1 at a time. Preferably extremities in… maybe?
- Add boolean mod to mesh closest to root.
- Set options to union and select the extremity.
- Hide the extremity. It’s being duplicated in the view and is misleading.
- Fiddle with subdivision levels until the union looks nice enough.
- Apply the modifier stack fully. Mirror, subdivision, then boolean.
- Repeat with another bit. Wheeeeee
- Let’s sculpt!
Old, untested Workflow
- Create the SUPER BLOCKY BASE mesh. Looking to get a solid silhouette here, ignore curves, circles, subdivisions.
- Legs resting on the grid (Z=0 plane)
- Use Mirror modifier to ensure you’ll be able to sculpt freely with mirror mode on (and save hours of work!!!)
- About 5x5x5 meters in size
- Create a cube, scale it 2.5, set Object properties viewport display to be Wireframe, display as ‘wire’. This will help reference how much 5x5x5 is.
- Convert to sculpting mode
- Apply all object-mode transformations
- Open up the Transform panel (‘n’)
- Make sure the translation, scale, and rotation is 0,0,0
- Subdivide (without smoothing) modifier A LOT.
- Shade smooth
- Smooth tool to get rid of those blocky creases.
- Use clay strips. It’s a good tool for getting this basic form down. Really really really don’t want to do details, even muscles!! SIL-HOU-ETTE!!
- Think rigging. Armature. Skeletons.
- MAKE IT SUPER UGLY. Dig into the mesh!
- The bones will help define where muscles lie, so it’s legit important
- Tummy turns into ribcage
- Blocky head becomes skull, rough jaw
- Torso defined
- Muscles/cartilage/body texture
- Remember that muscles work as a pulley/string. They’re attached at one point and shrink to pull the bone so they move.
- Layer the muscles on with clay strips
- Add superficial parts - ears, nose
- Make sure the creature is still on track for the reference.
- Fur texture
- Skin texture
- Horns, claws, teeth
Creating multiple animations
- Dope sheet view / Animation tab
- Click the “Dope Sheet” dropdown and select “Action Editor”
- Click “+ New” to add a new action
Animating UVs via shading
- Given a material/shader using a UV map via a texture image…
- Add an Input -> UV Map
- Add a Vector -> Mapping
- Attach the UV map output to the mapping input
- Attach the mapping output to the texture’s input vector.
- Set the timeline to 0
- With the mouse hovering over the mapping’s location values, press i
- This inserts a keyframe at 0 with the neutral UV offset.
- Adjust the timeline and insert keyframes as needed!
Animating permanently rotating things
If you have something that should keep rotating, like a globe or a sign, doing it via keyframes is a pain in the ass.
- Create an initial keyframe for rotation at the beginning
- Open up the animation window/tab
- “Graph Editor” panel
- Open up the accordions for the object’s rotation to see the axis rotation data
- Select the axis you want to rotate around
- Ctrl + left-click to create a new keyframe, this will make it a curve
- In the panel’s menu, Channel → Extrapolation mode → Linear Extrapolation
- Repeat, but Constant Extrapolation
Tip: You can set the exact rotation per frame by hitting N and entering the key data. Make the animation very straightforward by setting the key to the framerate and setting the rotation
- Hit N to bring up the data side-panel
- Select both keyframes
- Set Interpolation to Linear
- Set Key vale for the second keyframe
Rendering a background color/img under a render with transparency
- Set the renderer to display alpha instead of a background
- Render settings -> Alpha: Transparent
- Compositor window…
- Click Use Nodes
- Add an Input RGB node
- Add a Color Mix node
- Click the alpha/transparency icon on the Mix node
- Connect the node outputting transparency to the bottom input for the Mix node (likely the render layer)
- Set the RGB or image node to the upper input for the Mix node.
- Connect the output of the Mix to the input of the composite node.
- Fill Mode - full
- Extrude - 0
- Bevel - Some depth. Resolution adds more faces to the cylinder.
- Specific “bevel” geometry
- Nice if you don’t want a pipe and have specific geometry in mind.
- Bevel object
- Active Spline property group -> “Cyclic U”
Duplicating objects along a curve
- Given an object you wanna duplicate along a curve…
- Object Properties -> Instancing
- Select ‘Frames’. Number of frames determines how far along the path the object will duplicate and follow it.
- Deselect ‘Speed’. No idea why, random forum said to do so.
- Given a path you want an object to follow…
- Curve Properties -> Path Animation (on)
- Frames determines how frequently the object will repeat itself.
- Select the object -> Select the Path -> Parent (ctrl + p)
- Set Parent to…
- Object - the object is duplicated along the path but does not rotate.
- Follow Path - The object is duplicated and rotates.
- Object not duplicating exactly along the path?
- Make sure the path’s origin is the exact same as the duplication’s origin.
- Object offset from the curve and flipping about oddly?
- Make sure the duplication’s object (outside of edit) isn’t rotated or anything.
Texture with Transparency
- In the material’s settings, set Blend mode to one of the Alpha options
- Attempts to smooth between alpha values and opaque values.
- (most likely you want this)
- Either a pixel is 100% transparent, or 100% opaque. No smoothing.
- Similar to blend, but different. Would have to research this one.
- Add Texture -> Image node.
- Attach texture’s Color to Principled BSDF’s Base Color
- Add a Shader -> Transparent BSDF node.
- Leave the color default/white
- Attach output from Principled BSDF to the bottom input.
- Attach output from the Transparent BSDF to the upper input.
- Attach the texture’s Alpha output to the Fac input.
- Attach Mix’s output to the Material Output
Normals and Bumps
Basic Bump Map Application
- Add a Vector -> Bump node.
- Attach some input to the Height node.
- Could be a black and white custom height map or a generated texture or whatever.
- Attach output to a shader’s normal.
Applying noise to bump (height/displace) a surface
- Add a Texture -> Noise Texture
- Optional nodes to adjust effect:
- Add a Vector -> Mapping node
- Toggle both the Min and Max checkboxes
- Min should be set to (0, 0, 0)
- Max set to (1, 1, 1)
- Add a Vector -> Bump node
- Attach output from Mapping to ‘Height’
- Attach output from Bump to Principled BSRDF’s Normal input.
- Adjust values…
- Start with the noise texture values, aim for a look you want.
- Last adjust the settings on the Bump node to soften the effect as needed.
You can also use the output from the Mapping node to modify the color to make the surface darker in shallow spots or at least look fuzzy.
How to Apply Normal Maps
- Add a Texture -> Image node
- Attach color output to any Normal input.
Only works for static lights, as in sci-fy ground lighting or possibly lampposts. This post here explains how to set it up.
For emissive things that are moving, try parenting a light object to the thing! Emissive properties can still be used to make the material look fully bright.