Retopology and Baking of 3D Scans/ Photogrammetry with Blender and Free Software
First its important to ask what you want to do: 3D print, static render or animation or detailed animation.
For the later ones you need to do some texture baking from you original high-poly mesh to your refined lowpoly mesh. Blender can handle this realy well(See at step 2).
Step 0: Cleaning raw scan-data
Free Software: Meshlab (http://www.meshlab.net/)
- Fix small floating objects, fix non-manifold, fix holes
Paid Software (optional): 3D Coat (https://3dcoat.com/de/)
- sculpt on voxel basis, good for repairing bad areas, has autopo/retopo tools/uv tools
Step 1: Retopology
For detailed Animation you need a specific edge-flow, witch Auto-Retopo solutions wont give you. Therefore you could use various AddOns/Workflows in Blender for some quality of life.
Free AddOn F2: (https://sites.google.com/site/bartiuscrouch/scripts/f2)
Paid AddOn RetopoFlow
General Retopo-Tutorial: https://youtu.be/CuQzPDs99yM?t=1463
If your goal istn detailed animation, but static renders or "simple" animations that dont require good edge flow you could use an auto-retopology-solution, sadly not with blender.
Free software: Instant Meshes (https://www.blendernation.com/2015/11/16/instant-meshes-a-free-qaud-based-autoretopology-program/)
Step 2: Baking Maps
Normal-Map, Color-Map etc. from highpoly meshes to lowpoly meshes:
You place your lowpoly object and your highpoly object at the same spot. The lowpoly object has to have uvs to bake to a texture. Rays are cast for every pixel of your destination texture from their coresponding location on the lowpoly mesh (via uv-coordinates) to the high poly mesh. The more difference in distance there is between the two meshes the more bad results can happen. Here it is important to play with the ray-starting-location controlled via the setting Ray Distance in step 5. Also the uv layout of the highpoly mesh doesnt have to be clean or ordered for this. Even the lowpoly object uvs, only have to be clean if you want that for further texture-painting.
specific Blender Workflow:
Im using using as a highpoly mesh a displaced susanne (very rough and quick)
This is not the same as a 3D Scan but should suffice for getting the principle across. After cleaning your raw-scan data in step 0 it shouldnt be that diffrent, except a more caotic edgeflow.
Open your model in InstantMeshes
Set target vertex count and manipulate edge flow with comb tool, then export.
Import in Blender and do your UV-Layout. (for reason of speed i just used "smart uv project") (here you could do your grouping etc.)
there are a few programms/ formats were you have to uncheck "normals autosmooth" after import, so you can activate smooth shading wich is important for baking a smooth transition.
Both objects low and high have to be on the same spot.
for baking you need a texture to bake to. So you have to create a material on your low-poly mesh and place an texture node there and press new, then apply size.
- now for baking to work there are a few things that are important:
The texture to bake to has to be selected, but not necessarily connected to anything in the node editor.
- select Source/High first, then Goal/Low seconed with shift, both have to be selected
- switch to cycles render menue > bake > select type (here normal)
check: selected to active
Set Ray Distance appropriate in relation to differing distance of high to low (here 0.3m) You maybe have to play with this value a bit. As a rule of thumb: normals have to stay blueish. (What you see at step 8 in the back would be wrong and a result of wrong Ray Distance or a to big of a distance between high and low mesh at that point)
Margin is the pixel distance the bake will print beneath your uv-edges, so that no uv-lines show up later. (here i keep it low at 2)
Important: Save Image externaly, then load into your image node.
Plug your bake into your shader.
here you can see a after/before of the lowpoly object on the left with normal pluged in on the right without:
Note for color-baking: With color i like to use the emission shader on the source and baking emission instead diffuse so that no shadows are baked.