ai-auto-train-unreal-engine5.5-metahumans-vllms-reasoning-video-game-builder-app
/
subdivision_surface.rst.txt
.. _bpy.types.SubsurfModifier: | |
**************************** | |
Subdivision Surface Modifier | |
**************************** | |
The *Subdivision Surface* modifier (often shorten to "Subdiv") | |
is used to split the faces of a mesh into smaller faces, giving it a smooth appearance. | |
It enables you to create complex smooth surfaces while modeling simple, low-vertex meshes. | |
It avoids the need to save and maintain huge amounts of data, | |
and gives a smooth "organic" look to the object. | |
As with any modifier, order of execution (position in the :ref:`modifier stack <modifier-stack>`) | |
has an important bearing on the results. | |
Keep in mind that this is a different operation than its companion, | |
:ref:`Smooth Shading <modeling-meshes-editing-normals-shading>`. | |
You can see the difference between the two in the grid image below. | |
.. figure:: /images/modeling_modifiers_generate_subdivision-surface_grid.png | |
Subdivision levels 0 to 3, without and with Smooth Shading. | |
.. tip:: | |
The *Subdivision Surface* modifier does not allow you to edit the new subdivided geometry without applying it, | |
but the :doc:`Multiresolution </modeling/modifiers/generate/multiresolution>` modifier does (in Sculpt Mode). | |
.. note:: | |
This modifier now uses | |
the `OpenSubdiv library <http://graphics.pixar.com/opensubdiv/docs/intro.html>`__ as a backend. | |
Options | |
======= | |
.. figure:: /images/modeling_modifiers_generate_subdivision-surface_panel.png | |
:align: right | |
The Subdivision Surface modifier. | |
Type | |
This toggle button allows you to choose the subdivision algorithm: | |
Catmull-Clark | |
The default option, subdivides and smooths the surfaces. | |
According to its `Wikipedia page <https://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface>`__, | |
the "arbitrary-looking formula was chosen by Catmull and Clark based on the aesthetic appearance of | |
the resulting surfaces rather than on a mathematical derivation." | |
Simple | |
Only subdivides the surfaces, without any smoothing | |
(the same as the :ref:`Subdivide <bpy.ops.mesh.subdivide>` operator, in Edit Mode). | |
Can be used, for example, to increase base mesh resolution when using displacement maps. | |
Subdivisions | |
Recursively adds more geometry. | |
The right combination of these settings will allow you to keep a fast and lightweight approximation of your model | |
when interacting with it in the 3D Viewport, but use a higher quality version when rendering. | |
.. warning:: | |
Higher levels of subdivisions results in more vertices, which means more memory will be occupied | |
(both system RAM, and video memory for display). | |
Blender could potentially crash or hang if you do not have enough available memory. | |
Render | |
The number of subdivision levels shown in renders. | |
Viewport | |
The number of subdivision levels shown in the 3D View. | |
Quality | |
How precisely the vertices are positioned | |
(relatively to their theoretical position of an infinitely subdivided mesh), | |
can be lowered to get a better performance. | |
Using higher values does not necessarily mean real improvement in quality, | |
ideal results might be reached well before the maximum *Quality* value. | |
.. tip:: | |
Be careful not to set the *Viewport* subdivisions higher than the *Render* subdivisions, | |
this would mean that in the 3D View the quality will be higher than the rendered. | |
Options | |
UV Smooth | |
How to handle UVs during subdivision. | |
Smooth, keep corners | |
UV islands are smoothed, but their boundary remain sharp. | |
Sharp | |
UV remain unchanged. | |
Optimal Display | |
When rendering the wireframe of this object, the wires of the new subdivided edges will be skipped | |
(only displays the edges of the original geometry). | |
Use Creases | |
Use the `Weighted Edge Creases`_ values stored in edges to control how smooth they are made. | |
Keyboard Shortcuts | |
================== | |
To quickly add a *Subdivision Surface* modifier to one or more objects, select the object(s) and press :kbd:`Ctrl-1`. | |
That will add a Subdivision Surface modifier with *Viewport* subdivisions set to 1. | |
You can use other numbers too, such as :kbd:`Ctrl-2`, :kbd:`Ctrl-3`, etc, | |
to add a modifier with that number of subdivisions. | |
Adding a *Subdivision Surface* modifier in this fashion will not modify the *Render* subdivisions. | |
If an object already has a *Subdivision Surface* modifier, | |
doing this will simply change its subdivision level instead of adding another modifier. | |
Control | |
======= | |
Catmull-Clark subdivision rounds off edges, and often this is not what you want. | |
There are several solutions that allow you to control the subdivision. | |
.. _modifiers-generate-subsurf-creases: | |
Weighted Edge Creases | |
--------------------- | |
Weighted edge creases for subdivision surfaces allows you to change the way | |
the *Subdivision Surface* modifier subdivides the geometry to give the edges a smooth or sharp appearance. | |
.. figure:: /images/modeling_modifiers_generate_subdivision-surface_withcrease.png | |
A subdivided cube with creased edges. | |
The crease weight of selected edges can be changed in the *Transform* panel, Sidebar of the 3D View. | |
The scale-like dedicated tool :kbd:`Shift-E` can also be used to adjust the crease weight. | |
A higher value makes the edge "stronger" and more resistant to the smoothing effect of subdivision surfaces. | |
Edge Loops | |
---------- | |
.. figure:: /images/modeling_modifiers_generate_subdivision-surface_cube-with-edge-loops.png | |
Subdivision Level 2 cube, the same with an extra Edge Loop, and the same with six extra Edge Loops. | |
The *Subdivision Surface* modifier demonstrates why good, clean topology is so important. | |
As you can see in the figure, the it has a drastic effect on a default cube. | |
Until you add in additional loops (with e.g. :ref:`Loop Cut and Slide <bpy.ops.mesh.loopcut_slide>`), | |
the shape is almost unrecognizable as a cube. | |
A mesh with deliberate topology has good placement of edge loops, which allow the placement of more loops | |
(or their removal) to control the sharpness/smoothness of the resultant mesh. | |
Known Limitations | |
================= | |
Non-Contiguous Normals | |
---------------------- | |
Blender's subdivision system produces nice smooth subdivided meshes, but any subdivided face | |
(that is, any small face created by the algorithm from a single face of the original mesh), | |
shares the overall normal orientation of that original face. | |
.. list-table:: | |
* - .. figure:: /images/modeling_modifiers_generate_subdivision-surface_normal-orientation-1.png | |
:width: 320px | |
Comparison of good normals and bad normals. | |
- .. figure:: /images/modeling_modifiers_generate_subdivision-surface_normal-orientation-2.png | |
:width: 320px | |
Side view of image on the left. | |
Abrupt normal changes can produce ugly black gouges even though | |
these flipped normals are not an issue for the shape itself. | |
A quick way to fix this is to use Blender's | |
:doc:`Recalculate Normals </modeling/meshes/editing/normals>` operation in Edit Mode. | |
If you still have some ugly black gouges you will have to | |
:doc:`manually flip the normals </modeling/meshes/editing/normals>`. | |