From BlenderWiki

Jump to: navigation, search

Remaking the Topology

Retopo (“remake topology”) is a tool for remaking the topology of a mesh. It’s the opposite of the sculpting (or deforming) tools: instead of reshaping the model but leaving the topology the same, it reforms the topology, but maintains (as much as possible) the same shape as the original model. You will not change the geometry of the original mesh in any way, you will be creating a new mesh that is projected upon an existing mesh. There are three ways to use retopo:

  • Retopo paint, where you paint lines on the mesh and painted intersections become vertex locations.
  • Creating new mesh via standard mesh editing methods (the new vertices will “stick” to the reference object’s surface).
  • Projecting an existing mesh onto the object.

In practice one usually uses all three together.

Usage

Retopo is controlled from the Mesh panel in the Editing context (F9).

The Retopo button appears when a mesh is selected and Edit mode is active.

When the Retopo toggle button is pressed, any change to a vertex will cause it to be snapped to the surface of another model. Note that this effect is view dependent: from the view you are working in, the vertices won’t appear to have moved, because they are falling straight back along the axis until they hit the surface of the model.

Note also that your view must be in Solid or Shaded draw mode for this tool to work.

Retopo Paint Overview

Mesh panel with Retopo disabled.
Mesh panel with Retopo enabled.

Once you click Retopo and then Paint, you will see the following options in the header:

The Retopo header.
Drawing ellipses.
Pen
A freehand line that exactly follows the location of the mouse from your start click (LMB Template-LMB.png) until you release the mouse button.
HotSpot
When enabled, this option allows you to easily connect a new line to one end of another one, by clicking when your mouse pointer is sufficiently close to this end (you see a small grey circle around it). You can toggle this option with H.
Line
A line segment from your start click (LMB Template-LMB.png) to where you release the mouse button.
LineDiv
This setting controls the number of sub-segments in a line, the number of points used to project it onto the object. Thus with two points only the endpoints are used, and the rest of the line does not follow the surface but instead passes through the object. And higher levels of LineDiv mean the projection will more accurately fit on the object’s surface.
Ellipse
Draws a ellipse between a rectangular area with its center defined by your start click (LMB Template-LMB.png) and a corner defined by where you release the mouse.
EllDiv
This setting control the number of sub-segments in the ellipse line. Thus a setting of 4 for EllDiv results in a diamond being draw instead of an ellipse.


To extend a previous Pen stroke, enable HotSpot, go to an endpoint of the stroke and a circle will appear – click and drag to continue the stroke.

You can delete previous strokes of any kind by first activating the Pen tool, then going to an endpoint (or for an ellipse along the edge) and when the circle appears click to turn the stroke red, then X or Del to delete it.

Sometimes the option to extend can be an annoyance if you are trying to paint a new stroke near the endpoint of an existing stroke. In which case you can toggle off the hotspot for end point extension with the H.

After painting your ellipses and lines press ↵ Enter to convert them to mesh. At each intersection of lines a vertex is formed. Two intersections on the same line forms an edge also. Three or four edges in a loop form a face.

Drawing different shapes (mouse strokes).
Drawing different shapes (results).


Limitations / Notes

  • When you press ↵ Enter the mesh faces are derived based on your current view; thus you can only paint one side at a time.
  • Lines cannot self intersect.
  • Can only autofill quads and tris, if an area has more than four surrounding vertices then a face will not be created.
  • New mesh from paint and previous mesh from paint must be stitched together manually.
  • Each stroke is sequential.
  • Paint strokes can only be viewed and edited in the 3D view you begun retopo paint in.


Retopo Mesh Overview

Circle before projection.
Circle projected onto carved sphere.

If you use Retopo without Paint you can use standard mesh editing tools to either create a new mesh, or project an existing mesh onto the surface you wish to remake the topology of.

To project an existing mesh select the vertices you wish to project in the view you plan to project from, and then press Retopo All.

You may wish to hide (H) the vertices you have already projected in order to avoid accidentally re-projecting them from a different view.

Limitations

  • In order to avoid effecting mesh on the backside of the object you must hide (H) these vertices (i.e. selection is not “clipped” even if it is not visible). Or, if you are using Solid or Shaded draw type, activate the “cube” button just right to the “select mode” buttons – This will prevent selection of elements occluded by the geometry…
  • To re-topologize part of your current mesh you must either duplicate the entire object in Object mode or duplicate and separate part of the object in Edit mode.


Tutorial

Base Shape.

Since retopo modifies topology, not shape, we must first create the shape we will be using. This shape can be almost any 3D object: a mesh, a NURBS surface, metaballs, or even bones. One useful workflow is to quickly block out a shape in Sculpt mode, then use retopo on that mesh.

For this example, I’ve chosen a simple UVsphere.

Step One

Step One.

In Object mode, add a new mesh. It doesn’t matter what you choose. After you create it, press X in Edit mode. From the Erase pop-up menu that appears, choose Vertices to erase all vertices (you don’t need those vertices, because you’re about to make your own vertices in the next steps…).

Note: if the popup instead says “Erase selected object(s)”, you’re not in Edit mode. You want to delete the unnecessary vertices (“obdata”), but not the object itself!

Step Two

Step Two.

Go in Edit mode (⇆ Tab) and turn on Retopo (Mesh panel, Editing context – F9). You should also check that you have viewport shading (aka draw mode) set to Solid and that “occlude background geometry” is off (that’s the cube icon next to the vertex/edge/face selection buttons, in the 3D view header).

Step Three

Step Three.

Start adding points by clicking CtrlLMB Template-LMB.png. This is a normal Edit mode operation, except that if you now rotate your view, you can see that the vertices you just added are on the surface of the UVsphere. You can also use extrude, duplicate, grab, rotate, and scale – all of these operations will continue to snap vertices to the surface of the object behind them.

Blender3D FreeTip.gif
Tips
To make using Retopo easier, make sure you’re taking advantage of Blender’s theme settings. You can use them to increase the size of vertices or to give better contrast to vertices and edges. Note you can’t modify default theme – you should add and edit a new copy, see this page.

You may also find it helpful to turn on the X-ray button in the Object context and sub-context (F7), Draw panel. This way, your new mesh will always be visible, even when behind another object.

And you may find it useful to have multiple 3D viewports open so that you can see whether the vertex placement is as you desired without needing to rotate your working view around the model.


Step Four

Step Four.

Continue adding points around the rest of the model. Make sure to connect vertices with edges so that you can see the topology you are creating.

Step Five

Step Five.

Once you have all the vertices and edges created, you can turn off Retopo and hide the UVsphere. Still in Edit mode, start selecting groups of edges and use F to add faces (you can select your whole mesh and select Auto in the Make Faces menu popped-up by F – all edges-drawn triangles and quads will be automatically filled). When you’re done, you should have a complete surface.

Step Six

Step Six.

Add a Mirror modifier and, optionally, a Subsurf one.



Introduction
What is Blender?
Introduction
Blender’s History
License
Blender’s Community
About this Manual
What's changed with Blender 2.4
Installing Blender
Introduction
Python
Installing on Windows
Installing on GNU/Linux
Installing on Mac
Installing on other Operating Systems
Configuring Blender
Directory Layout
Starting
The Interface
Introduction
Keyboard and Mouse
Window System
Arranging frames
Headers
Console window
Window Types
Screens (Workspace Layouts)
Scenes
Configuration
Modes
Contexts
Menus
Panels
Buttons and Controls
Internationalization
Your First Animation
1/2: A static Gingerbread Man
2/2: Animating the Gingerbread Man
The Vital Functions
Quick render
Undo and Redo
Default scene
Screenshots
Help!
Setting Preferences
Configuring Preferences
Interface
Editing
Themes
File
System
Interaction in 3D
Introduction
Introduction
Navigation
Introduction
3D View
3D View Options
3D View Usage
Camera View
Layers
Local or Global View
Sketch in 3D Space
Introduction to Grease Pencil
Drawing sketches
Layers and Animation
Converting sketches to geometry
Transformations
Introduction
Basics
- Grab/Move
- Rotate
- Scale
- Gestures
Advanced
- Mirror
- To Sphere
- Shear
- Warp
- Push/Pull
Transform Control
Introduction
Precision of Transformations
Numeric Transformations
Transform Properties
Reset Object Transforms
Manipulators
Transform Orientations
Axis Locking
Pivot Point
- Active object
- Individual Centers
- 3D Cursor
- Median Point
- Bounding Box Center
Snapping
Snap to Mesh
Proportional Edit
Data System and Files
Blender's Data System
Blender's Library and Data System
Blender's Datablocks
Scenes
Working with Scenes
The Outliner Window
Appending and Linking
File operations
Introduction
Opening blender files
Saving blender files
Modeling
Introduction
Introduction
Objects
Objects
Selecting Objects
Editing Objects
Groups and Parenting
Tracking
Duplication
- DupliVerts
- DupliFaces
- DupliGroup
- DupliFrames
Mesh Objects
Meshes
- Mesh Structures
- Mesh Primitives
Selecting
- Selectable Elements
- Selection Basics
- Advanced Selecting
- Selecting Edges
- Selecting Faces
Editing
Basic Editing
- Translation, Rotation, Scale
- Adding Elements
- Deleting Elements
- Creating Faces and Edges
- Mirror editing
Vertex Editing
Edge Editing
Face Editing
Deforming Tools
- Mirror
- Shrink/Fatten Along Normals
- Smooth
- Noise
Duplicating Tools
- Duplicate
- Extrude
- Extrude Dup
- Spin
- Spin Dup
- Screw
Subdividing Tools
- Subdivide
- Subdivide fractal
- Subdivide smooth
- Loop Subdivide
- Knife Subdivide
- Bevel
Miscellaneous Tools
Retopo Tool
Sculpt Mode
Multi Resolution Mesh
Vertex Groups
Weight Paint
Mesh Smoothing
Curve Objects
Curves
Selecting
Editing
Advanced Editing
Surface Objects
Surfaces
Selecting
Editing
Text Objects
Texts
Editing
Meta Objects
Metas
Editing
Empty Objects
Empties
Group Objects
Groups
Scripts
Modeling Scripts
Modifiers and Deformation
Introduction
Introduction
Modifiers Stack
Modify
UVProject
Generate
Array
Bevel
Booleans
Build
Decimate
EdgeSplit
Mask
Mirror
Subsurf
Deform
Armature
Cast
Curve
Displace
Hooks
Lattice
MeshDeform
Shrinkwrap
SimpleDeform
Smooth
Wave
Simulate
Cloth
Collision
Explode
Fluid
Particle Instance
Particle System
Soft Body
Lighting
Introduction
Introduction
Lights
Introduction
Light Properties
Light Attenuation
Light Textures
What Light Affects
Lights In Other Contexts
Shadows
Introduction
Shadow Properties
Raytraced Shadow Properties
Volumetric Lights
Introduction
Lamps
Introduction
Lamp Light
- Raytraced Shadows
Spot Light
- Raytraced Shadows
- Buffered Shadows
- Halos
Area Light
- Raytraced Shadows
Hemi Light
Sun Light
- Raytraced Shadows
- Sky & Atmosphere
Lighting Rigs
Radiosity
Introduction
Rendering
Baking
Scene Light
Ambient Light
Ambient Occlusion
Exposure
Exposure
Materials
Introduction
Introduction to Shading
Materials Introduction
Usage
Assigning a material
Material Preview
Material Options
Multiple Materials
Properties
Diffuse Shaders
Specular Shaders
Ambient Light Effect
Color Ramps
Raytraced Reflections
Raytraced Transparency
Subsurface Scattering (SSS)
Strands
Node Materials
Material Nodes
Nodes Editor
Node Controls
Nodes usage
Nodes Groups
Material Node Types
- Input Nodes
- Output
- Color
- Vector
- Convertor
- Dynamic
Vertex Paint
Using Vertex Paint
Halos
Halos
Textures
Introduction
Introduction
UV/Image Editor
Common Options
Texture Stack
Texture Types
Texture Types
Procedural Textures
Image Textures
Video Textures
Texture Nodes
- Nodes Editor
- Node Controls
- Nodes usage
- Nodes Groups
-- Textures Input Nodes
-- Textures Output Nodes
-- Textures Color Nodes
-- Textures Patterns Nodes
-- Textures Textures Nodes
-- Textures Convertor Nodes
-- Textures Distort Nodes
Texture Plugins
Texture Painting
Painting the Texture
- Projection Paint
Mapping
Mapping
Environment Maps
UV Unwrapping Explained
- Unwrapping a Mesh
- Managing the UV Layout
- Editing the UV Layout
- Applying an Image
Influence
Influence
- Material
-- Bump and Normal
-- Displacement
- Particles
- World
World and Ambient Effects
World
Introduction
World Background
Ambient Effects
Mist
Stars
Rigging
Introduction
Introduction to Rigging
Armatures
Armature Objects
Panels overview
Bones
Visualization
Structure
Selecting
Editing
- Bones
- Properties
- Sketching
- Templating
Skinning
Introduction
Linking Objects to Bones
Skinning to Objects’ Shapes
Retargeting
Posing
Introduction
Visualization
Editing Poses
Pose Library
Using Constraints
Inverse Kinematics
Constraints
Introduction
Introduction
Constraints Common Interface
Constraints’ Stack
Transform Constraints
Copy Location
Copy Rotation
Copy Scale
Limit Distance
Limit Location
Limit Rotation
Limit Scale
Transformation
Tracking Constraints
Clamp To
IK Solver
Locked Track
Stretch To
Track To
Relationship Constraints
Action
Child Of
Floor
Follow Path
Null
Rigid Body Joint
Script
Shrinkwrap
Animation
Introduction
Introduction
The Timeline
Markers
3D Views
Animation Editors
Animation Editors
Ipo Editor
Ipo Curves and Keyframes
Ipo Datablocks
Ipo Types
Ipo Editor Interface
Editing
- Ipo Curves
- Keyframes
Ipo Drivers
Action Editor
Editing Action Channels
NLA Editor
Editing NLA Strips
Strip Modifiers
Animation Techniques
Introduction
Animating Objects
- Using Constraints
- Moving Objects on a Path
Animating Shapes
- Shape Keys
- Editing Shape Keys
- Animating Shape Keys
- Shape Keys Examples
Indirect Shape Animation
Animating Armatures
- Stride
Animating Lamps
Animating Cameras
Animating Materials
Animating Textures
Animating World
Physical Simulation
Introduction
Introduction
Dynamics
Force Fields
Collisions
Particles
Particles
Types
Physics
- Newtonian
- Keyed
- Boids
Visualization
Controlling Emission, Interaction and Time
Cache & Bake
Hair
Children
Vertex Groups
Particle Mode
Soft Body
Introduction
Exterior Forces
Interior Forces
Collisions
Simple Examples
Combination with Armatures
Combination with Hair Particles
Reference
Cloth
Introduction
Fluids
Fluid
Using the Game Engine
Using the Game Engine
Rendering
Introduction
Introduction
Camera
The Camera
Perspective (Vanishing points)
Depth Of Field
Render
Displaying Renders
Basic Options
Antialiasing (Oversampling)
Rendering Animations
Panoramic
Render Baking
Using the Command Line
Output
Output
Video Output
Effects and Post Processing
Introduction
Render Layers
Render Passes
Edges & Toon
Stamp
Color Management & Exposure
Depth Of Field
Motion Blur
Render Performance
Rendering Performance
Distributed Rendering
External Render Engines
Introduction
YafRay
Compositing with nodes
Composite Nodes
Introduction
Nodes Editor
Node Controls
Nodes usage
Nodes Groups
Composite Node types
Composite Node types
Input Nodes
Output Nodes
Color Nodes
Vector Nodes
Filter Nodes
Convertor Nodes
Matte Nodes
Distortion Nodes
Editing Sequences
Introduction
Introduction
The sequencer
Usage
Sequencer Modes
Sequence Screen Layout
Effects
Built-in Effects
Plugin Effects
Audio
Audio Sequences
Extending Blender
Introduction
Introduction
Python Scripting
Python Scripting in Blender
Setting up Python
The Text Editor
A working example
References
Python Scripts
Script Catalog
Bundled Scripts
Plugins
Blender's Plugins System
Texture plugins specifications
Sequence plugins specifications
Game Engine
Introduction
Introduction
The Logic Editor
Usage
Game Properties
Sensors
Introduction
Sensor Types
Controllers
Introduction
Expressions
Actuators
Introduction
Action
Camera
CD
Constraint
Edit Object
Ipo
2D Filters
Game
Message
Motion
Parent
Property
Random
Scene
Shape Action
Sound
State
Visibility
Cameras
Cameras
Dome Camera
Physics
Physics Engine
Material Physics
Object Types
- Static
- No Collision
- Dynamic
- Rigid Body
- Soft Body
- Occluder
- Sensor
Python API
Bullet physics
VideoTexture
Various resources
List of Features
External resources
Game Engine Basics (BSoD Tutorial)
FAQ