Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
3d_modeling:blender:clean_up_occipital_3d_scan [2020/04/06 03:23] – [Big Holes] formlab | 3d_modeling:blender:clean_up_occipital_3d_scan [2021/10/13 03:07] (current) – [Auto-fix holes] formlab | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Clean up a 3D scan made with the Occipital Structure scanner ====== | ====== Clean up a 3D scan made with the Occipital Structure scanner ====== | ||
- | The 3D files from the Structure scanner often have holes and unwanted geometry. After following this guide you'll get a watertight model that is ready for color-3D printing. A basic understanding of mesh manipulation in Blender is necessary. | ||
- | We will use Blender, but here is a [[3d_modeling: | ||
+ | The 3D files from the Structure scanner often have holes and unwanted geometry. After following this guide you'll get a watertight model that is ready for (colour) 3D printing. A basic understanding of mesh manipulation in Blender is necessary. | ||
+ | This guide uses Blender, but here is a [[3d_modeling: | ||
- | ===== Setup the mesh ===== | + | ===== Basic cleanup |
- | | + | ==== Open the file ==== |
+ | The structure scanner delivers the 3D object in 3 parts: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | {{: | ||
+ | |||
+ | You only have to open the '' | ||
+ | | ||
+ | |||
+ | ==== Setup the mesh ==== | ||
- Make the mesh active (yellow contour lines instead of orange) '' | - Make the mesh active (yellow contour lines instead of orange) '' | ||
- Right click on the mesh and select '' | - Right click on the mesh and select '' | ||
Line 12: | Line 22: | ||
{{: | {{: | ||
- | ===== Join fragments to a single mesh ===== | + | ==== Join fragments to a single mesh ==== |
- | The scan data coming from the Occipital Structure sensor isn't yet joined in a single mesh. It consists of multiple sections that overlap on the edges. To test this, hover the cursor over the object and press '' | + | The scan data coming from the Occipital Structure sensor isn't yet joined in a single mesh. It consists of multiple sections that overlap on the edges. To test this, hover the cursor over the object and go to '' |
- | - Select all '' | + | - Select all: '' |
- '' | - '' | ||
- Reset normal vectors: '' | - Reset normal vectors: '' | ||
{{: | {{: | ||
+ | ==== Auto-fix holes ==== | ||
- | ===== Delete unwanted geometry | + | * To see if there are any holes in the mesh, go in Edit mode and go to '' |
+ | * {{: | ||
+ | * Try selecting the non-manifold vertexes again. If there are still some selected, repeat the above process, or export the object to Meshmixer to remesh it there. | ||
+ | |||
+ | The 3D print add-on for Blender is helpful in preparing your object for 3D printing: enable the add-on '' | ||
+ | ==== Delete unwanted geometry ==== | ||
Cut away unwanted parts, like the surface the model was standing on. | Cut away unwanted parts, like the surface the model was standing on. | ||
- Add a cube. Scale and position so it overlaps with the unwanted geometry. | - Add a cube. Scale and position so it overlaps with the unwanted geometry. | ||
- Select the 3D scan mesh. | - Select the 3D scan mesh. | ||
- | - Add Boolean modifier and leave the operation as '' | + | - Add Boolean modifier and leave the operation as Difference. |
- Select the cube as the mesh to use for the boolean. | - Select the cube as the mesh to use for the boolean. | ||
- Apply the modifier. | - Apply the modifier. | ||
Line 32: | Line 48: | ||
Delete loose parts | Delete loose parts | ||
- | - Deselect all '' | + | - Deselect all: '' |
- | - Hover the cursor over the mesh you want to keep and press '' | + | - Hover the cursor over the mesh you want to keep and press '' |
- | - Invert the selection '' | + | - Invert the selection: '' |
- | - delete | + | - Delete |
{{: | {{: | ||
- | ===== Redistribute vertices | + | ===== More advanced cleanup ===== |
+ | |||
+ | ==== Redistribute vertices ==== | ||
The 3D scanner generates a mesh with messy topology. There are areas with very large faces, and others where there are lots of vertices crammed together. This creates visible stress points in the mesh. The relax function moves the vertices away from densely populated areas in order to be more equally distributed. Having the mesh relaxed will prevent a series of problems later on. This will change the shape of the mesh a little bit though. | The 3D scanner generates a mesh with messy topology. There are areas with very large faces, and others where there are lots of vertices crammed together. This creates visible stress points in the mesh. The relax function moves the vertices away from densely populated areas in order to be more equally distributed. Having the mesh relaxed will prevent a series of problems later on. This will change the shape of the mesh a little bit though. | ||
- | - select | + | - Select |
- | - Relax Vertices. A single iteration will do. '' | + | - Relax Vertices: '' |
{{: | {{: | ||
- | ===== Manually Fill Holes ===== | + | ==== Manually Fill Holes ==== |
- | ==== Tiny Holes ==== | + | === Tiny Holes === |
Fill tiny holes by merging vertices together. This way the texture will stay visible. | Fill tiny holes by merging vertices together. This way the texture will stay visible. | ||
- Select the first vertex. '' | - Select the first vertex. '' | ||
- Add the second vertex to the selection. '' | - Add the second vertex to the selection. '' | ||
- | - Merge them together. '' | + | - Merge them together: '' |
{{: | {{: | ||
Line 60: | Line 78: | ||
- | ==== Medium Holes ==== | + | === Medium Holes === |
- | === Clean up the edge === | + | == Clean up the edge == |
- Manually clean up the edges of the holes. The scanner tends to leave the edges of larger holes curved inward. Select and delete the connecting vertices. Then the excess surface is floating and can be deleted by hovering over it with the cursor and then pressing '' | - Manually clean up the edges of the holes. The scanner tends to leave the edges of larger holes curved inward. Select and delete the connecting vertices. Then the excess surface is floating and can be deleted by hovering over it with the cursor and then pressing '' | ||
- Merge together irregularities like outward or inward triangles. Try to make the edge of the hole somewhat smooth. | - Merge together irregularities like outward or inward triangles. Try to make the edge of the hole somewhat smooth. | ||
Line 69: | Line 87: | ||
{{: | {{: | ||
- | === Fill in the gap === | + | == Fill in the gap == |
- | - fill: '' | + | - fill: '' |
{{: | {{: | ||
- | ===== Retexture | + | ==== Retexture ==== |
New faces added to the mesh appear black or show random colours. They are referencing meaningless parts of the texture. Let's project the selected vertices to the texture and clone the surrounding texture onto that area. | New faces added to the mesh appear black or show random colours. They are referencing meaningless parts of the texture. Let's project the selected vertices to the texture and clone the surrounding texture onto that area. | ||
- | - In the '' | + | - In the UV Editing workspace, unwrap the current selection. '' |
- Scale down the selection in the UV editor and position it over a not yet textured area. | - Scale down the selection in the UV editor and position it over a not yet textured area. | ||
- | - Switch to the '' | + | - Switch to the Texture Paint workspace, Select the clone brush and set the source for the brush '' |
+ | - After drawing **save the texture image(!)**. Otherwise you'll have to redo the work. | ||
{{: | {{: | ||
==== Big Holes ==== | ==== Big Holes ==== | ||
- | When the holes are big, closing them with '' | + | When the holes are big, closing them with '' |
=== Using Grid Fill === | === Using Grid Fill === | ||
Line 93: | Line 112: | ||
- Select all the vertices of the edge of the hole. No selected faces are allowed. | - Select all the vertices of the edge of the hole. No selected faces are allowed. | ||
{{: | {{: | ||
- | - Fill using the ' | + | - Fill using the ' |
- Play with the Grid Fill options until a proper fit. | - Play with the Grid Fill options until a proper fit. | ||
- **Span** makes different connection patterns. | - **Span** makes different connection patterns. | ||
Line 101: | Line 120: | ||
Both versions aren't perfect. Mesh stress areas are marked with the red circles. | Both versions aren't perfect. Mesh stress areas are marked with the red circles. | ||
+ | Clean up dark spots by resetting the normal vectors: | ||
+ | - Go to Edit Mode | ||
+ | - Select all vertices | ||
+ | - '' | ||
+ | - Go back to object mode | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Clean up visible edges with the smoothing brush in the Sculpting workspace. | ||
+ | |||
+ | === Fill a big hole the manual way === | ||
+ | |||
+ | This is more tedious, but it allows for better control over the shape . | ||
+ | |||
+ | {{: | ||
+ | |||
+ | - With the edge vertices selected, go to '' | ||
+ | - Shape the n-gon step by step by selecting opposing vertices and joining them: '' | ||
+ | |||
+ | {{: | ||
+ | Gradually defining the shape | ||
- | === Manually === | + | Tips:\\ |
- | | + | - Move vertices along the edges they' |
+ | - Get a smoother result with proportional editing enabled | ||
+ | - If you need to delete elements (vertices, edges or faces), | ||
Retexturing is the same as described above. | Retexturing is the same as described above. | ||
- | ===== Normals ===== | ||
- | <wrap hi>Maybe better after having a watertight object</ | + | ==== Normals ==== |
- Go to edit mode and select all vertices | - Go to edit mode and select all vertices | ||
- | - Recalculate normals: '' | + | - Recalculate normals: '' |
- | - **IMG** Show the face normals for a visual check. In Edit mode: '' | + | - If the visualisation lines are pointing inwards, select all vertices, '' |
- | - If the blue face normals | + | |
- | - **IMG** These spots are caused by split-normals that are stuck in the wrong direction. | + | |
- | - To fix this, select all vertices, '' | + | |
- | - **IMG** These problems are visually similar to the wrong facing split-normals, | + | {{: |
- | - If it's caused by vertices that are close to each other, run a [[https://docs.blender.org/ | + | Show the face normals for a visual check. In Edit mode: '' |
- | - If it's caused by a small overlap, Fix the geometry by merging some of the problematic vertices. Avoid having to make new faces, because then you'll have to redo the texture on that face. | + | |