crystalai commited on
Commit
ee0be02
·
verified ·
1 Parent(s): 03e3e7f

Upload 19 files

Browse files
array.rst.txt ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.ArrayModifier:
2
+
3
+ **************
4
+ Array Modifier
5
+ **************
6
+
7
+ The *Array* modifier creates an array of copies of the base object, with each copy being offset from
8
+ the previous one in any of a number of possible ways. Vertices in adjacent copies can be merged if they are nearby,
9
+ allowing smooth :doc:`Subdivision Surface </modeling/modifiers/generate/subdivision_surface>`
10
+ frameworks to be generated.
11
+
12
+ This modifier can be useful when combined with tileable meshes for quickly developing large scenes.
13
+ It is also useful for creating complex repetitive shapes.
14
+
15
+ Multiple Array modifiers may be active for an object at the same time
16
+ (e.g. to create complex three-dimensional constructs).
17
+
18
+
19
+ Options
20
+ =======
21
+
22
+ .. figure:: /images/modeling_modifiers_generate_array_panel.png
23
+ :align: right
24
+
25
+ The Array modifier.
26
+
27
+ Fit Type
28
+ Controls how the length of the array is determined. There are three choices,
29
+ activating respectively the display of the *Curve*, *Length* or *Count* settings explained below:
30
+
31
+ Fit Curve
32
+ Generates enough copies to fit within the length of the curve object specified in *Curve*.
33
+ Fit Length
34
+ Generates enough copies to fit within the fixed length given by *Length*.
35
+ Fixed Count
36
+ Generates the number of copies specified in *Count*.
37
+
38
+ .. container:: lead
39
+
40
+ .. clear
41
+
42
+ .. note::
43
+
44
+ - Both *Fit Curve* and *Fit Length* use the local coordinate system size of the base object, which means that
45
+ scaling the base object in Object Mode will not change the number of copies generated by the modifier.
46
+ - *Fit Length* uses the local coordinate system length of the curve, which means that scaling the curve in
47
+ Object Mode will not change the number of copies generated by the modifier.
48
+ - :ref:`Applying <bpy.ops.object.transform_apply>` the scale can be useful for both.
49
+
50
+
51
+ Offset
52
+ ------
53
+
54
+ Constant Offset, X, Y, Z
55
+ Adds a constant translation component to the duplicate object's offset.
56
+ X, Y and Z constant components can be specified.
57
+
58
+ Relative Offset, X, Y, Z
59
+ Adds a translation equal to the object's bounding box size along each axis, multiplied by a scaling factor,
60
+ to the offset. X, Y and Z scaling factors can be specified.
61
+
62
+ .. figure:: /images/modeling_modifiers_generate_array_offset-relative.png
63
+
64
+ Relative offset (0.5, 1.0 and 1.5) examples.
65
+
66
+ Object Offset
67
+ Adds a transformation taken from an object (relative to the current object) to the offset.
68
+ It is good practice to use an Empty object centered or near to the initial object.
69
+ E.g. by rotating this Empty a circle or helix of objects can be created.
70
+
71
+ .. figure:: /images/modeling_modifiers_generate_array_offset-object.png
72
+
73
+ Object offset example.
74
+
75
+
76
+ Merge
77
+ -----
78
+
79
+ Merge
80
+ If enabled, vertices in each copy will be merged with vertices
81
+ in the next copy that are within the given *Distance*.
82
+ First Last
83
+ If enabled **and** *Merge* is enabled, vertices in the first copy will be merged with vertices
84
+ in the last copy, again if they are within *Distance* range. This is useful for circular objects.
85
+
86
+ .. list-table:: First Last merge example.
87
+
88
+ * - .. figure:: /images/modeling_modifiers_generate_array_first-last-off.png
89
+
90
+ Subdivision discontinuity caused by not merging vertices between first and
91
+ last copies (*First Last* off).
92
+
93
+ - .. figure:: /images/modeling_modifiers_generate_array_first-last-on.png
94
+
95
+ Subdivision discontinuity eliminated by merging vertices between first and
96
+ last copies (*First Last* on).
97
+
98
+ Distance
99
+ Controls the merge distance for *Merge* and *First Last*.
100
+
101
+
102
+ UVs
103
+ ---
104
+
105
+ U Offset, V Offset
106
+ Shifts UVs of each new duplicate by a settable amount.
107
+
108
+
109
+ Cap
110
+ ---
111
+
112
+ Start Cap / End Cap
113
+ This allows either endpoints of the array to have a different mesh subsisted.
114
+
115
+ For the *start*: as if it was in position -1, i.e. one "array step" before the first "regular" array copy.
116
+ For the *end*: as if it was in position *n* + 1, i.e. one "array step" after the last "regular" array copy.
117
+
118
+ When *Merge* is activated, and the *cap* vertices are within the *Distance* threshold, they will be merged.
119
+
120
+ .. note::
121
+
122
+ The start/end cap objects currently do not support the *First Last* option.
123
+
124
+
125
+ Hints
126
+ =====
127
+
128
+ Offset Calculation
129
+ ------------------
130
+
131
+ The transformation applied from one copy to the next is calculated as the sum of the three
132
+ different components (*Relative*, *Constant* and *Object*),
133
+ each of which can be enabled/disabled independently of the others. This allows, for example,
134
+ a relative offset of (1.0, 0.0, 0.0) and a constant offset of (0.1, 0.0, 0.0),
135
+ giving an array of objects neatly spaced along the X axis with a constant 0.1
136
+ unit between them, whatever the original object's size.
137
+
138
+
139
+ Examples
140
+ ========
141
+
142
+ .. figure:: /images/modeling_modifiers_generate_array_example-mechanical-chain.png
143
+
144
+ A chain created from a single link.
145
+ `Sample blend-file <https://wiki.blender.org/wiki/File:Dev-ArrayModifier-Chain01.blend>`__.
146
+
147
+ .. figure:: /images/modeling_modifiers_generate_array_example-organic-tentacle.jpg
148
+
149
+ A tentacle created with an Array Modifier followed by a Curve Modifier.
150
+
151
+ The segment in the foreground is the base mesh for the tentacle; the tentacle is capped by two
152
+ specially-modeled objects deformed by the same Curve object as the main part of the tentacle.
153
+ `Sample blend-file <https://wiki.blender.org/wiki/File:Manual-Modifier-Array-Tentacle01.blend>`__.
154
+
155
+
156
+ Fractal
157
+ -------
158
+
159
+ .. list-table::
160
+
161
+ * - .. figure:: /images/modeling_modifiers_generate_array_example-fractal-1.jpg
162
+ :width: 320px
163
+
164
+ Multi-level array animated with motion blur.
165
+
166
+ - .. figure:: /images/modeling_modifiers_generate_array_example-fractal-2.png
167
+ :width: 320px
168
+
169
+ Fractal created with multiple arrays.
170
+ `Sample blend-file <https://wiki.blender.org/wiki/File:Dev-ArrayModifier-Fractal01.blend>`__.
bevel.rst.txt ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.BevelModifier:
2
+
3
+ **************
4
+ Bevel Modifier
5
+ **************
6
+
7
+ The *Bevel* modifier bevels the edges of the mesh it is applied to,
8
+ with some control of how and where the bevel is applied to the mesh.
9
+
10
+ It is a non-destructive alternative to
11
+ the :doc:`Bevel Operation </modeling/meshes/editing/subdividing/bevel>` in Edit Mode.
12
+
13
+ .. list-table:: Side views of a cube.
14
+ :align: center
15
+
16
+ * - .. figure:: /images/modeling_modifiers_generate_bevel_square-not.png
17
+ :width: 150px
18
+
19
+ Not beveled.
20
+
21
+ - .. figure:: /images/modeling_modifiers_generate_bevel_square.png
22
+ :width: 150px
23
+
24
+ Beveled.
25
+
26
+
27
+ Options
28
+ =======
29
+
30
+ .. figure:: /images/modeling_modifiers_generate_bevel_panel.png
31
+ :align: right
32
+
33
+ The Bevel modifier.
34
+
35
+ Width
36
+ The size of the bevel effect. See *Width Method* below.
37
+
38
+ .. figure:: /images/modeling_modifiers_generate_bevel_cubes.png
39
+ :width: 350px
40
+
41
+ Three Cubes with 0.1, 0.3 and 0.5 bevel widths.
42
+
43
+ Segments
44
+ The number of edge loops added along the bevel's face.
45
+ Profile
46
+ The shape of the bevel, from concave to convex. It has no effect if *Segments* is less than 2.
47
+ Material
48
+ The index of the material slot to use for the bevel.
49
+ When set to -1, the material of the nearest original face will be used.
50
+ Only Vertices
51
+ When enabled, only the areas near vertices are beveled, the edges remain unchanged.
52
+
53
+ .. figure:: /images/modeling_modifiers_generate_bevel_cubes-vertices-only.png
54
+ :width: 350px
55
+
56
+ Three cubes with 0.1, 0.3 and 0.5 bevel widths, with *Only Vertices* option enabled.
57
+
58
+ Clamp Overlap
59
+ Limits the width of each beveled edge so that edges cannot cause
60
+ overlapping intersections with other geometry.
61
+ Loop Slide
62
+ If there are unbeveled edges along with beveled edges into a vertex,
63
+ the bevel tries to slide along those edges when possible.
64
+ Turning the option off can lead to more even bevel widths.
65
+ Mark Seams
66
+ If a seam edge crosses a non-seam one and you bevel all of them,
67
+ this option will maintain the expected propagation of seams.
68
+ Mark Sharp
69
+ Similar to Mark Seams, but for sharp edges.
70
+ Harden Normals
71
+ When enabled, the per-vertex face normals of the bevel faces are adjusted to
72
+ match the surrounding faces, and the normals of the surrounding faces are not affected.
73
+ This will keep the surrounding faces flat (if they were before),
74
+ with the bevel faces shading smoothly into them. For this effect to work,
75
+ you need custom normals data, which requires *Auto Smooth* option to be enabled
76
+ (see :doc:`Normals </modeling/meshes/editing/normals>`).
77
+
78
+ Limit Method
79
+ Used to control where a bevel is applied to the mesh.
80
+
81
+ None
82
+ No limit, all edges will be beveled.
83
+ Angle
84
+ Only edges where the adjacent faces form an angle smaller than the defined threshold will be beveled.
85
+ Intended to allow you to bevel only the sharp edges of an object without affecting its smooth surfaces.
86
+ Weight
87
+ Use each edge's bevel weight to determine the width of the bevel.
88
+ When the bevel weight is 0.0, no bevel is applied.
89
+ See :doc:`here </modeling/meshes/editing/edges>` about adjusting bevel weights.
90
+ Vertex Group
91
+ Use weights from a vertex group to determine the width of the bevel.
92
+ When the vertex weight is 0.0, no bevel is applied.
93
+ An edge is only beveled if both of its vertices are in the vertex group.
94
+ See :doc:`here </modeling/meshes/properties/vertex_groups/vertex_groups>` about adjusting vertex group weights.
95
+
96
+ Width Method
97
+ Declares how *Width* will be interpreted to determine the amount of bevel.
98
+
99
+ .. figure:: /images/modeling_modifiers_generate_bevel_width-methods.png
100
+ :align: right
101
+ :width: 240
102
+
103
+ Width methods.
104
+
105
+ Offset
106
+ Value is interpreted as the distance from the original edge to the edge of the beveled face.
107
+ Width
108
+ Value is interpreted as the distance between the two new edges formed by the bevel.
109
+ Depth
110
+ Value is the perpendicular distance from the new bevel face to original edge.
111
+ Percent
112
+ Similar to *Offset* but the value is interpreted as a percentage of the adjacent edge length.
113
+
114
+ Set Face Strength Mode
115
+ Set *Face Strength* on the faces involved in the bevel, according to the mode specified here.
116
+ This can be used in conjunction with a following
117
+ :doc:`Weighted Normals </modeling/modifiers/modify/weighted_normal>` modifier
118
+ (with the *Face Influence* option checked).
119
+
120
+ None
121
+ Do not set face strength.
122
+ New
123
+ Set the face strength of new faces along edges to *Medium*,
124
+ and the face strength of new faces at vertices to *Weak*.
125
+ Affected
126
+ In addition to those set for the *New* case,
127
+ also set the faces adjacent to new faces to have strength *Strong*.
128
+ All
129
+ In addition to those set for the *Affected* case,
130
+ also set all the rest of the faces of the model to have strength *Strong*.
131
+
132
+ Miter Patterns
133
+ A *miter* is formed when two beveled edges meet at an angle.
134
+ On the side where the angle is greater than 180 degrees, if any, it is called an *outer miter*.
135
+ If it is less than 180 degrees, then it is called an *inner miter*.
136
+ The outer and inner miters can each be set to one of these patterns:
137
+
138
+ Sharp
139
+ Edges meet at a sharp point, with no extra vertices introduced on the edges.
140
+ Patch
141
+ Edges meet at a sharp point but in addition, two extra vertices are introduced near the point
142
+ so that the edges and faces at the vertex may be less pinched together than
143
+ what occurs in the *Sharp* case.
144
+ This pattern does makes no sense for inner miters, so it behaves like *Arc* for them.
145
+
146
+ The *Spread* slider controls how far the new vertices are from the meeting point.
147
+ Arc
148
+ Two vertices are introduced near the meeting point, and a curved arc joins them together.
149
+
150
+ The *Spread* slider controls how far the new vertices are from the meeting point.
151
+
152
+ The *Profile* slider controls the shape of the arc.
153
+
154
+ .. list-table:: Diagrams of the miter patterns.
155
+
156
+ * - .. figure:: /images/modeling_meshes_editing_subdividing_bevel_miter-2.png
157
+
158
+ Sharp outer miter.
159
+
160
+ - .. figure:: /images/modeling_meshes_editing_subdividing_bevel_miter-3.png
161
+
162
+ Patch outer miter.
163
+
164
+ - .. figure:: /images/modeling_meshes_editing_subdividing_bevel_miter-4.png
165
+
166
+ Arc outer miter.
167
+
168
+ * - .. figure:: /images/modeling_meshes_editing_subdividing_bevel_miter-5.png
169
+
170
+ Sharp inner miter.
171
+
172
+ - .. figure:: /images/modeling_meshes_editing_subdividing_bevel_miter-6.png
173
+
174
+ Arc inner miter.
175
+
176
+ - ..
177
+
178
+ Spread
179
+ The value used to spread extra vertices apart for non-sharp miters.
booleans.rst.txt ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.BooleanModifier:
2
+
3
+ ****************
4
+ Boolean Modifier
5
+ ****************
6
+
7
+ The *Boolean* modifier performs operations on meshes that are otherwise too complex
8
+ to achieve with as few steps by editing meshes manually. It uses one of
9
+ the three available boolean operations to create a single mesh out of two mesh objects:
10
+
11
+ .. figure:: /images/modeling_modifiers_generate_booleans_union-intersect-difference-examples.png
12
+
13
+ The Union, Intersection and Difference between a Cube and a UV Sphere,
14
+ with the modifier applied to the sphere and using the cube as target.
15
+
16
+ This modifier needs a second object to be the target (the second operand) of the operation.
17
+
18
+ .. warning::
19
+
20
+ Only :term:`manifold` meshes are guaranteed to give proper results,
21
+ other cases (especially "opened" meshes, :term:`non-manifold` but without any self-intersections)
22
+ will usually work well, but might give odd glitches and artifacts in some cases.
23
+
24
+ You should also avoid any co-planar faces (or co-linear edges) between both operands,
25
+ those also tend to give issues currently.
26
+
27
+ .. tip::
28
+
29
+ If you have marked your objects to show the edges
30
+ (in :menuselection:`Properties Editor --> Object --> Viewport Display`, enable *Wireframe*),
31
+ you will see the edge creation process while you are moving your objects around. Depending on your mesh topology,
32
+ you can also enable X-Ray and Transparency and see the topology being created in real-time.
33
+
34
+
35
+ Options
36
+ =======
37
+
38
+ .. figure:: /images/modeling_modifiers_generate_booleans_panel.png
39
+
40
+ The Boolean modifier.
41
+
42
+
43
+ Operations
44
+ ----------
45
+
46
+ Operation
47
+ Which boolean operation will be used.
48
+
49
+ Difference
50
+ The target mesh is subtracted from the modified mesh (everything *outside* of the target mesh is kept).
51
+ Union
52
+ The target mesh is added to the modified mesh.
53
+ Intersect
54
+ Opposite of *Difference* (everything *inside* of the target mesh is kept).
55
+
56
+ Object
57
+ The name of the target mesh object.
58
+
59
+ Overlap Threshold
60
+ Maximum distance between two faces to consider them as overlapping.
build.rst.txt ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.BuildModifier:
2
+
3
+ **************
4
+ Build Modifier
5
+ **************
6
+
7
+ The *Build* modifier causes the faces of the mesh object to appear or disappear one after the other over time.
8
+
9
+ By default, faces appear in the order in which they are stored in memory (by default, the order of creation).
10
+ The face/vertex order can be altered in Edit Mode by using :ref:`Sort Mesh Elements <mesh-edit-sort-elements>`.
11
+
12
+
13
+ Options
14
+ =======
15
+
16
+ .. figure:: /images/modeling_modifiers_generate_build_panel.png
17
+ :align: right
18
+
19
+ The Build modifier.
20
+
21
+ Start
22
+ The start frame of the building process.
23
+ Length
24
+ The number of frames over which to rebuild the object.
25
+
26
+ Randomize
27
+ Randomizes the order in which the faces are built.
28
+ Seed
29
+ The random seed.
30
+ Changing this value gives a different "random" order when *Randomize* is checked.
31
+ This order is always the same for a given seed/mesh set.
32
+ Reversed
33
+ The modifier will operate in reverse, essentially allowing it to be used as a "deconstruction" effect.
34
+ This is useful for making a set of dupli-objects gradually disappear.
35
+
36
+
37
+ Example
38
+ =======
39
+
40
+ The *Build* modifier is often useful when needing a way to get a large number of items to progressively appear,
41
+ without resorting to animating the visibility of each one by one.
42
+ Examples of this include a mesh containing vertices only,
43
+ which is used as an :doc:`Instance Verts emitter </scene_layout/object/properties/instancing/verts>`,
44
+ and has the build modifier on it. Such a setup is a workaround/technique for being able to
45
+ art-direct some semi-random layout of a collection of objects (i.e. leaves/balls forming a carpet of sorts)
46
+ when doing so with particles is not desirable
47
+ (e.g. due to undesirable distribution of items leaving random gaps and overlapping in other places).
48
+
49
+ .. youtube:: -7SqfX5vt_8
decimate.rst.txt ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.DecimateModifier:
2
+
3
+ *****************
4
+ Decimate Modifier
5
+ *****************
6
+
7
+ The *Decimate* modifier allows you to reduce the vertex/face count of a mesh with minimal shape changes.
8
+
9
+ This is not usually used on meshes which have been created by modeling carefully and economically
10
+ (where all vertices and faces are necessary to correctly define the shape).
11
+ But if the mesh is the result of complex modeling,
12
+ sculpting and/or applied :doc:`Subdivision Surface </modeling/modifiers/generate/subdivision_surface>`/
13
+ :doc:`Multiresolution </modeling/modifiers/generate/multiresolution>` modifiers,
14
+ the *Decimate* one can be used to reduce the polygon count for a performance increase,
15
+ or simply remove unnecessary vertices and edges.
16
+
17
+ Unlike the majority of existing modifiers, this one does not allow
18
+ you to visualize your changes in Edit Mode.
19
+
20
+
21
+ Options
22
+ =======
23
+
24
+ Decimate Type
25
+ -------------
26
+
27
+ Collapse
28
+ ^^^^^^^^
29
+
30
+ .. figure:: /images/modeling_modifiers_generate_decimate_panel-collapse.png
31
+ :align: right
32
+
33
+ The Decimate modifier in Collapse mode.
34
+
35
+ Merges vertices together progressively, taking the shape of the mesh into account.
36
+
37
+ Ratio
38
+ The ratio of faces to keep after decimation.
39
+
40
+ - On 1.0: the mesh is unchanged.
41
+ - On 0.5: edges have been collapsed such that half the number of faces remain (see note below).
42
+ - On 0.0: all faces have been removed.
43
+
44
+ .. note::
45
+
46
+ Although the *Ratio* is directly proportional to the number of remaining faces,
47
+ triangles are used when calculating the ratio.
48
+
49
+ This means that if your mesh contains quads or other polygons,
50
+ the number of remaining faces will be larger than expected,
51
+ because those will remain unchanged if their edges are not collapsed.
52
+
53
+ This is only true if the *Triangulate* option is disabled.
54
+
55
+ Vertex Group
56
+ A vertex group that controls what parts of the mesh are decimated.
57
+
58
+ Factor
59
+ The amount of influence the *Vertex Group* has on the decimation.
60
+ Triangulate
61
+ Keeps any resulting triangulated geometry from the decimation process.
62
+ Symmetry
63
+ Maintains symmetry on a single axis.
64
+
65
+
66
+ Un-Subdivide
67
+ ^^^^^^^^^^^^
68
+
69
+ .. figure:: /images/modeling_modifiers_generate_decimate_panel-un-subdivide.png
70
+ :align: right
71
+
72
+ The Decimate modifier in Un-Subdivide mode.
73
+
74
+ It can be thought of as the reverse of subdivide.
75
+ It attempts to remove edges that were the result of a subdivide operation.
76
+ It is intended for meshes with a mainly grid-based topology (without giving uneven geometry).
77
+ If additional editing has been done after the subdivide operation, the results may be unexpected.
78
+
79
+ Iterations
80
+ The number of times to perform the un-subdivide operation.
81
+ Two iterations is the same as one subdivide operation, so you will usually want to use even numbers.
82
+
83
+
84
+ Planar
85
+ ^^^^^^
86
+
87
+ .. figure:: /images/modeling_modifiers_generate_decimate_panel-planar.png
88
+ :align: right
89
+
90
+ The Decimate modifier in Planar mode.
91
+
92
+ It reduces details on forms comprised of mainly flat surfaces.
93
+
94
+ Angle Limit
95
+ Dissolve geometry which form angles (between surfaces) higher than this setting.
96
+
97
+ All Boundaries
98
+ When enabled, all vertices along the boundaries of faces are dissolved.
99
+ This can give nicer results when using a high *Angle Limit*.
100
+
101
+ Delimit
102
+ Prevent dissolving geometry in certain places.
103
+
104
+ Normal
105
+ Does not dissolve edges on the borders of areas where the face normals are reversed.
106
+ Material
107
+ Does not dissolve edges on the borders of where different materials are assigned.
108
+ Seam
109
+ Does not dissolve edges marked as seams.
110
+
111
+
112
+ Further Options
113
+ ---------------
114
+
115
+ Face Count
116
+ This label shows the number of remaining faces as a result of applying the *Decimate* modifier.
edge_split.rst.txt ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.EdgeSplitModifier:
2
+
3
+ *******************
4
+ Edge Split Modifier
5
+ *******************
6
+
7
+ The *Edge Split* modifier splits, duplicates edges within a mesh,
8
+ breaking 'links' between faces around those split edges.
9
+
10
+ The edges to split can be determined from the edge angle (i.e. angle between faces forming that edge),
11
+ and/or edges marked as sharp.
12
+
13
+ Splitting an edge affects vertex normal generation at that edge, making the edge appear sharp.
14
+ Hence, this modifier can be used to achieve the same effect as :ref:`Auto Smooth <auto-smooth>`,
15
+ making edges appear sharp when their angle is above a certain threshold.
16
+ It can also be used for manual control of the smoothing process,
17
+ where the user defines which edges should appear smooth or sharp
18
+ (see :ref:`Mesh Smoothing <modeling-meshes-editing-normals-shading>` for other ways to do this).
19
+ If desired, both modes can be active at once.
20
+
21
+ .. note::
22
+
23
+ This modifier is kept mostly for historical/compatibility reasons.
24
+ Everything it can do in shading, and much more,
25
+ can now be achieved using :ref:`custom normals <modeling_meshes_normals_custom>`.
26
+
27
+ Unless you really need the topology changes it generates, it is not advised to use it in new projects.
28
+
29
+ .. note::
30
+
31
+ Splitting edges can also be :ref:`performed manually <bpy.ops.mesh.edge_split>` in Edit Mode.
32
+
33
+
34
+ Options
35
+ =======
36
+
37
+ .. figure:: /images/modeling_modifiers_generate_edge-split_panel.png
38
+ :align: right
39
+
40
+ The Edge Split modifier.
41
+
42
+ Edge Angle
43
+ When enabled, edges will be split if the angle between its
44
+ two adjacent faces is greater than the *Split Angle*.
45
+
46
+ Split Angle
47
+ On 0: all edges are split. On 180: no edges are split.
48
+
49
+ Sharp Edges
50
+ When enabled, edges will be split if they were :ref:`marked as sharp <bpy.ops.mesh.mark_sharp>`.
51
+
52
+ .. note::
53
+
54
+ :term:`Non-manifold` edges will always be split.
55
+
56
+
57
+ Examples
58
+ ========
59
+
60
+ .. list-table::
61
+
62
+ * - .. figure:: /images/modeling_modifiers_generate_edge-split_example-1.png
63
+
64
+ Flat shading.
65
+
66
+ - .. figure:: /images/modeling_modifiers_generate_edge-split_example-2.png
67
+
68
+ Smooth shading.
69
+
70
+ * - .. figure:: /images/modeling_modifiers_generate_edge-split_example-3.png
71
+
72
+ Smooth shading with Edge Split.
73
+
74
+ - .. figure:: /images/modeling_modifiers_generate_edge-split_example-4.png
75
+
76
+ Smooth shading with Edge Split and Subdivision Surface.
explode.rst.txt ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.ExplodeModifier:
2
+
3
+ ****************
4
+ Explode Modifier
5
+ ****************
6
+
7
+ The *Explode* modifier is used to alter the mesh geometry by moving/rotating its faces in a way
8
+ that roughly tracks particles emitted by that object, making it look as if the mesh is being exploded
9
+ (broken apart and pushed outward).
10
+
11
+ For this modifier to have any visible effect, there needs to be a particle system on its object.
12
+ That particle system will control how the mesh is exploded.
13
+
14
+ Both the number of emitted particles and number of faces determine how granular the *Explode* modifier is.
15
+ More faces and more particles will mean more individual pieces.
16
+
17
+ .. Broken link to the demo video...
18
+ Here is
19
+ a `demo video <https://wiki.blender.org/uploads/7/7b/Manual_-_Explode_Modifier_-_Exploding_Cube_-_2.5.ogg>`__
20
+ showing a cube with a particle system and *Explode* modifier.
21
+ (`blend-file <https://wiki.blender.org/wiki/File:Manual_-_Explode_Modifier_-_Exploding_Cube_-_2.5.blend>`__).
22
+
23
+ Here is
24
+ a `demo blend-file <https://wiki.blender.org/wiki/File:Manual_-_Explode_Modifier_-_Exploding_Cube_-_2.5.blend>`__
25
+ showing a cube with a particle system and *Explode* modifier.
26
+
27
+ .. note::
28
+
29
+ The *Explode* modifier must come after the *Particle System* one in the :ref:`modifier stack <modifier-stack>`,
30
+ in order for the former to get required data from the later.
31
+
32
+
33
+ Options
34
+ =======
35
+
36
+ .. figure:: /images/modeling_modifiers_simulate_explode_panel.png
37
+ :align: right
38
+
39
+ The Explode modifier, with a Particle System above it.
40
+
41
+ Vertex Group
42
+ Vertices in this group may not be affected by the *Explode* modifier.
43
+ Vertices with full weight are not affected at all,
44
+ while vertices with less weight have a higher chance of being affected.
45
+
46
+ Vertices with null weight will be treated like those which do not belong to the group at all, and explode normally.
47
+
48
+ Protect
49
+ Clean vertex group edges. Depending on the weights assigned to that vertex group,
50
+ either completely protect those faces from being affected by the *Explode* modifier
51
+ (which would happen if the faces had a weight value of 1),
52
+ or completely remove protection from those faces
53
+ (which would happen if the faces had a weight value of 0).
54
+
55
+ Particle UV
56
+ If set, the U value of the coordinates in that :term:`UV map` will be overwritten
57
+ with the age of the particle attached to the matching mesh face
58
+ (in proportion, from 0 for not yet born particles, to 1 for dead ones).
59
+
60
+ The V value is set to a constant 0.5 value.
61
+
62
+ This allows e.g. to make the color of a fragment (face) vary during it 'explosion' phase,
63
+ by using a texture with a gradient of colors along its *U* axis.
64
+
65
+ Cut Edges
66
+ Split the mesh in pieces based on location of emitted particles, instead of using existing faces.
67
+ This will typically give a splitting that appears more random.
68
+
69
+ Unborn
70
+ Show faces when their attached particles are unborn.
71
+ Alive
72
+ Show faces when their attached particles are alive.
73
+ Dead
74
+ Show faces when their attached particles are dead.
75
+ Size
76
+ Scale each face using the size of its attached particle, once that particle is alive.
77
+
78
+ Refresh
79
+ Refresh data in the *Explode* modifier.
mask.rst.txt ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.MaskModifier:
2
+
3
+ *************
4
+ Mask Modifier
5
+ *************
6
+
7
+ The *Mask* modifier allows vertices of an object to be hidden dynamically based on vertex groups.
8
+
9
+
10
+ Options
11
+ =======
12
+
13
+ Mode
14
+ The Mask Modifier can hide parts of a mesh based on two different modes, selectable from this select menu.
15
+
16
+ Vertex Group
17
+ When the *Vertex Group* option is selected,
18
+ all vertices belonging to the chosen Vertex Group (with a weight above zero) will be visible,
19
+ and all other vertices will be hidden.
20
+
21
+ .. list-table::
22
+ The Mask modifier, Vertex Group mode.
23
+
24
+ * - .. figure:: /images/modeling_modifiers_generate_mask_vertex-group.png
25
+
26
+ - .. figure:: /images/modeling_modifiers_generate_mask_panel-vertex-group.png
27
+
28
+ Armature
29
+ When in Pose Mode,
30
+ vertices belonging to the Vertex Group associated with the active bone (same names) will be visible.
31
+ Vertices not in that group will be hidden.
32
+
33
+ .. list-table::
34
+ The Mask modifier, Armature mode.
35
+
36
+ * - .. figure:: /images/modeling_modifiers_generate_mask_armature.png
37
+
38
+ - .. figure:: /images/modeling_modifiers_generate_mask_panel-armature.png
39
+
40
+ Inverse
41
+ Normally, vertices belonging to the selected Vertex Group (or group associated with the active pose bone)
42
+ will be shown. The *Invert* toggle allows you to reverse this behavior, instead only showing vertices
43
+ which do not belong to the Vertex Group.
44
+
45
+ Threshold
46
+ Vertices with weights less or equal to this value will be hidden.
mirror.rst.txt ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.MirrorModifier:
2
+
3
+ ***************
4
+ Mirror Modifier
5
+ ***************
6
+
7
+ The *Mirror* modifier mirrors a mesh along its local X, Y and/or Z axes, across the :term:`Object Origin`.
8
+ It can also use another object as the mirror center, then use that object's local axes instead of its own.
9
+
10
+
11
+ Options
12
+ =======
13
+
14
+ .. figure:: /images/modeling_modifiers_generate_mirror_panel.png
15
+ :align: right
16
+
17
+ The Mirror modifier.
18
+
19
+ Axis
20
+ The X, Y, Z axis along which to mirror, i.e. the axis perpendicular to the mirror plane of symmetry.
21
+
22
+ To understand how the axis applies to the mirror direction, if you were to mirror on the X axis,
23
+ the positive X values of the original mesh would become the negative X values on the mirrored side.
24
+
25
+ You can select more than one of these axes. And will then get more mirrored copies.
26
+ With one axis you get a single mirror, with two axes four mirrors, and with all three axes eight mirrors.
27
+
28
+ Bisect
29
+ If the mesh is already on both sides of the mirror plane, it is cut by that plane,
30
+ and only one side (the "negative" one by default) is kept to perform the mirror process.
31
+
32
+ Flip
33
+ When *Bisect* is enabled on an axis, you can use this setting to switch the side kept and mirrored
34
+ (i.e. when it is enabled, the "positive" side will be kept, instead of the "negative" one).
35
+
36
+ Mirror Object
37
+ An :ref:`Object Selector <ui-eyedropper>` to select an object (usually an empty),
38
+ which position and rotation will be used to define mirror planes
39
+ (instead of using the ones from the modified object).
40
+
41
+ You can animate it to animate the mirror effect.
42
+ Vertex Groups
43
+ Try to mirror existing vertex groups.
44
+
45
+ A very nice feature, but one that has very specific prerequisites:
46
+
47
+ - The vertex groups you want to mirror must be named following the usual left/right pattern
48
+ (i.e. suffixed by something like ".R", ".right", ".L", etc.).
49
+ - The mirror side vertex group must already exist (it will not be created automatically).
50
+ It must also be completely empty (no vertices assigned to it).
51
+
52
+ Merge
53
+ Where a vertex is in the same place (within the *Merge Limit* distance) as its mirror
54
+ it will be merged with the mirrored vertex.
55
+ Merge Limit
56
+ The maximum distance between a vertex and its mirror copy at which they are merged together
57
+ (being snapped on the mirror plane). Needs *Merge* to be enabled.
58
+
59
+ Clipping
60
+ Prevents vertices from moving through the mirror plane(s) while the user is transforming them in Edit Mode.
61
+
62
+ If it is enabled but vertices are beyond the mirror plane and outside of the *Merge Limit*,
63
+ the vertices will not be merged. But as soon as the vertices are within *Merge Limit*
64
+ they are snapped together and cannot be moved beyond the mirror plane.
65
+
66
+ .. note::
67
+
68
+ Vertices on the mirror plane will be unable to move away from the mirror plane
69
+ as long as *Clipping* is enabled.
70
+ You must disable it to be able to move the vertices along the mirror axis again.
71
+
72
+ Flip UV
73
+ The *Flip U* and *Flip V* options allows you to mirror the UV texture coordinates across the middle of the image.
74
+
75
+ E.g. if you have a vertex with UV coordinates of (0.3, 0.9),
76
+ its mirror copy will have UV coordinates of (0.7, 0.1).
77
+
78
+ UV Offsets
79
+ Amount to shift mirrored UVs on the U/V axes.
80
+
81
+ It's useful for baking (as overlapping UVs can cause artifacts to appear in the baked map),
82
+ so the UVs can be moved outside the image and not used for baking, but still be used for display.
83
+
84
+
85
+ Hints
86
+ =====
87
+
88
+ Many modeling tasks involve creating objects that are symmetrical.
89
+ This modifier offers a simple and efficient way to do this, with real-time update of the mirror as you edit it.
90
+ Once your modeling is completed you can either click *Apply* to make a real version of your mesh,
91
+ or leave it as-is for future editing.
92
+
93
+
94
+ Accurately Positioning the Mirror Plane
95
+ ---------------------------------------
96
+
97
+ To apply a *Mirror* modifier, it is common to have to move the object's origin onto
98
+ the edge or face that is to be the axis for mirroring.
99
+ This can be tricky when attempted visually.
100
+
101
+ A good technique to achieve an exact position is
102
+ to select the edge, then :doc:`snap </scene_layout/object/editing/transform/control/snap>` *Cursor to Selection*.
103
+ This will position the 3D Cursor in the center of the edge.
104
+ Finally, use the :ref:`Set Origin <bpy.ops.object.origin_set>` menu, and select *Origin to 3D Cursor*.
105
+ This will move the object's origin (and thus, the mirror plane) to where the 3D cursor is located,
106
+ and the mirroring will be exact.
107
+
108
+ An alternative is to use an Empty as a *Mirror Object* that you move to the correct position.
multiresolution.rst.txt ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. TODO/Review: {{review|im=needs examples}}.
2
+
3
+ .. _bpy.types.MultiresModifier:
4
+
5
+ ************************
6
+ Multiresolution Modifier
7
+ ************************
8
+
9
+ The *Multiresolution* modifier (often shortened to "Multires") gives you the ability to subdivide a mesh similarly
10
+ to the :doc:`Subdivision Surface </modeling/modifiers/generate/subdivision_surface>` modifier,
11
+ but also allows you to edit the new subdivision levels in :doc:`Sculpt Mode </sculpt_paint/sculpting/introduction>`.
12
+
13
+ .. note::
14
+
15
+ *Multiresolution* is the only modifier that cannot be repositioned in the stack after any modifier that will
16
+ change geometry or other object data (i.e. all *Generate*, some *Modify* and some *Simulate* modifiers
17
+ cannot come before the *Multiresolution* one).
18
+
19
+
20
+ Options
21
+ =======
22
+
23
+ .. figure:: /images/modeling_modifiers_generate_multiresolution_panel.png
24
+ :align: right
25
+
26
+ The Multiresolution modifier.
27
+
28
+ Type
29
+ Sets the type of subdivision.
30
+
31
+ Simple
32
+ Maintains the current shape, and simply subdivides edges.
33
+ Catmull-Clark
34
+ Creates a smooth surface, usually smaller than the original, using the standard
35
+ `Catmull-Clark <https://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface>`__
36
+ subdivision surface algorithm.
37
+
38
+
39
+ Levels
40
+ ------
41
+
42
+ The left column of settings control the general quality generated by the modifier in various contexts.
43
+
44
+ Preview
45
+ Set the level of subdivisions to show in Object Mode.
46
+ Sculpt
47
+ Set the level of subdivisions to use in Sculpt Mode.
48
+ Render
49
+ Set the level of subdivisions to show when rendering.
50
+ Quality
51
+ How precisely the vertices are positioned (relatively to their theoretical position),
52
+ can be lowered to get a better performance when working on heavy meshes.
53
+
54
+
55
+ Operations
56
+ ----------
57
+
58
+ The right column gathers several operators necessary to manage multi-resolution workflow.
59
+
60
+ Subdivide
61
+ Adds another level of subdivision.
62
+ Delete Higher
63
+ Deletes all subdivision levels that are higher than the current one.
64
+ Reshape
65
+ Copies vertex coordinates from another mesh.
66
+
67
+ To use it, first select a different mesh object with matching topology and vertex indices,
68
+ then :kbd:`Shift` select the object you wish to copy vertex coordinates to, and click *Reshape*.
69
+
70
+ Apply Base
71
+ Modifies the original unsubdivided mesh to match the form of the subdivided mesh.
72
+
73
+
74
+ Further Options
75
+ ---------------
76
+
77
+ UV Smooth
78
+ How to handle UVs during subdivision.
79
+
80
+ Smooth, keep corners
81
+ UV islands are smoothed, but their boundary remain sharp.
82
+ Sharp
83
+ UV remain unchanged.
84
+
85
+ Subdivide UVs
86
+ When enabled, the UV maps will also be subdivided.
87
+ (I.e. Blender will add "virtual" coordinates for all sub-faces created by this modifier.)
88
+ Optimal Display
89
+ When rendering the wireframe of this object, the wires of the new subdivided edges will be skipped
90
+ (only displays the edges of the original geometry).
91
+
92
+ Save External
93
+ Saves displacements to an external ``.btx`` file.
ocean.rst.txt ADDED
@@ -0,0 +1,220 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.OceanModifier:
2
+
3
+ **************
4
+ Ocean Modifier
5
+ **************
6
+
7
+ The *Ocean* modifier is a tool to simulate and generate a deforming ocean surface,
8
+ and associated texture, used to render the simulation data.
9
+ It is intended to simulate deep ocean waves and foam.
10
+
11
+ It is a port from the open source `Houdini Ocean Toolkit <https://code.google.com/archive/p/houdini-ocean-toolkit/>`__.
12
+
13
+
14
+ Options
15
+ =======
16
+
17
+ .. figure:: /images/modeling_modifiers_simulate_ocean_panel.png
18
+ :align: right
19
+
20
+ The Ocean modifier.
21
+
22
+
23
+ Geometry
24
+ --------
25
+
26
+ Geometry
27
+ Generate
28
+ Creates a tiled mesh grid that exactly corresponds with the resolution of the simulation data.
29
+
30
+ When generating a mesh surface, the existing mesh object is completely overridden with the ocean grid.
31
+ A UV channel is also added, mapping the (0.0 to 1.0) UV space to the simulation grid.
32
+
33
+ Repeat X, Repeat Y
34
+ Controls the number of times the grid is tiled in X and Y directions.
35
+ UVs for these tiled mesh areas continue outside of the (0.0 to 1.0) UV space.
36
+
37
+ Displace
38
+ Uses the existing geometry rather than replacing it. Vertices are displaced along the local Z axis.
39
+
40
+ Time
41
+ The time at which the ocean surface is being evaluated.
42
+ To make an animated ocean, you will need to :ref:`animate <bpy.ops.anim.keyframe_insert>` this value.
43
+ The speed that the time value is changing will determine the speed of the wave animation.
44
+ Depth
45
+ The constant depth of the ocean floor under the simulated area.
46
+ Lower values simulate shallower waters by producing
47
+ higher frequency details and smaller waves.
48
+ Random Seed
49
+ A different :term:`seed` will produce a different simulation result.
50
+ Resolution
51
+ The main control of quality vs speed in the simulation engine.
52
+ This determines the resolution of the internal 2D grids generated by the simulation.
53
+
54
+ The internal grids are powers of two of the resolution value,
55
+ so a resolution value of ``16``, will create simulation data of size ``256×256``.
56
+ The higher the resolution, the more details will be produced, but the slower it will be to calculate.
57
+
58
+ .. note::
59
+
60
+ When using the *Generate* modifier geometry option,
61
+ this resolution value also determines the resolution of the generated mesh surface,
62
+ equal to the resolution of the internal simulation data.
63
+
64
+ Size
65
+ A simple scaling factor that does not affect the height of the waves or behavior of the simulation.
66
+ Spatial Size
67
+ The width of the ocean surface area being simulated, in meters.
68
+ This also determines the size of the generated mesh, or the displaced area.
69
+ Of course, you can scale the object with the *Ocean* modifier in Object Mode
70
+ to tweak the apparent size in your scene.
71
+
72
+
73
+ Wave
74
+ ----
75
+
76
+ Choppiness
77
+ The choppiness of the wave peaks.
78
+ With a choppiness of 0, the ocean surface is only displaced up and down in the Z direction,
79
+ but with higher choppiness, the waves are also displaced laterally in X and Y, to create sharper wave peaks.
80
+ Scale
81
+ An overall scale control for the amplitude of the waves.
82
+ It approximates the height or depth of the waves above or below zero.
83
+
84
+ Rather than just scaling the ocean object in Z, it scales all aspects of the simulation,
85
+ displacement in X and Y, and corresponding foam and normals too.
86
+
87
+ Alignment
88
+ The directionality of the wave shapes due to wind.
89
+ At a value of 0, the wind and waves are randomly, uniformly oriented.
90
+
91
+ With higher *Alignment* values, the wind is blowing in a more constant direction,
92
+ making the waves appear more compressed and aligned to a single direction.
93
+
94
+ Direction
95
+ When using *Alignment*, the direction in degrees that the waves are aligned to (using local X axis as reference).
96
+ Damping
97
+ When using *Alignment*, this will define the amount that inter-reflected waves are damped out.
98
+ This has the effect of making the wave motion more directional (not just the wave shape).
99
+
100
+ With a *Damping* of 0.0, waves are reflected off each other in every direction, with a *Damping* of 1.0,
101
+ these inter-reflected waves are damped out, leaving only waves traveling in the direction of the wind.
102
+
103
+ Smallest Wave
104
+ A minimum limit for the size of generated waves.
105
+ Acts similarly to a low-pass filter, removing higher frequency wave detail.
106
+ Wind Velocity
107
+ Wind speed in meters/second. With a low velocity, waves are restricted to smaller surface waves.
108
+
109
+
110
+ Simulation Data Generation Options
111
+ ----------------------------------
112
+
113
+ .. figure:: /images/modeling_modifiers_simulate_ocean_foam-layer-name.png
114
+ :width: 640px
115
+ :align: center
116
+
117
+ Using foam vertex colors with a named data layer.
118
+
119
+ By default, the simulator only generates displacement data,
120
+ since it takes the least amount of work and gives the fastest feedback.
121
+ Additional simulation data can be generated for rendering as well.
122
+
123
+ Generate Normals
124
+ Simulates additional normal map data.
125
+
126
+ This can be used by the Ocean texture, when mapped to Normals,
127
+ as a bump map, and enables generating normal map image sequences when baking.
128
+
129
+ Generate Foam
130
+ Simulates additional foam data.
131
+
132
+ This can be retrieved by the Ocean texture for use in texturing (perhaps as a mask),
133
+ and enables generating foam map image sequences when baking.
134
+
135
+ Coverage
136
+ Tweaks the amount of foam covering the waves, negative values will reduce the amount of foam
137
+ (leaving only the topmost peaks), positive values will add to it. Typically ranges from (-1.0 to 1.0).
138
+
139
+ Foam Data Layer Name
140
+ Optional name for the vertex data layer,
141
+ used by the Ocean Modifier to store foam maps as vertex colors.
142
+ This is required for accessing the foam data in the renderer.
143
+
144
+
145
+ Baking
146
+ ======
147
+
148
+ Rather than simulating the ocean data live, it can be baked to files in a given directory.
149
+ When a simulation is baked, the simulator engine is completely bypassed,
150
+ and the modifier/texture retrieves all information from the baked files.
151
+
152
+ Baking can be advantageous for a few reasons:
153
+
154
+ - It is faster to use the stored data rather than re-calculating it.
155
+ - It allows rendering of ocean data in external renderers.
156
+ - It enables more advanced foam maps.
157
+
158
+
159
+ Data Files
160
+ ----------
161
+
162
+ Simulation data is stored as sequences of ``OpenEXR`` image maps,
163
+ one for each of displacement, normals, and foam (if enabled to be generated).
164
+ Upon loading the data from these baked files, when a frame of the bake sequence is read,
165
+ it is cached in memory. This means that accessing loaded frames subsequent times is fast,
166
+ not incurring the overhead of drive access.
167
+
168
+ Since these baked files are plain ``OpenEXR``\ 's,
169
+ they can also be opened and rendered in any other application or renderer that supports them.
170
+
171
+
172
+ Baking Foam
173
+ -----------
174
+
175
+ Baking also provides improved foam capabilities. When simulating live,
176
+ the ocean simulator retrieves data for that current frame only. In the case of the foam map,
177
+ this represents the tips of wave crests for that given frame. In reality,
178
+ after foam is created by wave interactions,
179
+ it remains sitting on the top of the wave surface for a while, as it dissipates. With baking,
180
+ it is possible to approximate that behavior, by accumulating foam from previous frames,
181
+ leaving it remaining on the surface.
182
+
183
+ .. vimeo:: 17517981
184
+ :width: 500
185
+ :height: 256
186
+
187
+
188
+ Baking Options
189
+ --------------
190
+
191
+ Start, End
192
+ Frames of the simulation to bake (inclusive).
193
+ The start and end frames of the bake are repeated when accessing frames outside of the baked range.
194
+ Cache Path
195
+ Folder to store the baked EXR files in.
196
+ The sequences will be in the form ``disp_####.exr``, ``normal_####.exr``,
197
+ and ``foam_####.exr``, where ``####`` is the four digit frame number.
198
+ If the cache path folder does not exist, it will be created.
199
+
200
+
201
+ Simulation Internals
202
+ ====================
203
+
204
+ The simulator itself uses FFT methods to generate 2D grids of simulation information internally,
205
+ very similar to 2D texture maps.
206
+ The simulator can generate three types of data: displacement, normals,
207
+ and extra data, that is used to calculate wave crest intersections (i.e. foam).
208
+ After simulation, these maps are used to displace the ocean surface geometry in 3D,
209
+ and also can be used for shading via the Ocean texture. The internal simulation engine is
210
+ multi threaded with OpenMP to take advantage of multiple cores.
211
+
212
+
213
+ Examples
214
+ ========
215
+
216
+ .. vimeo:: 18911131
217
+ :width: 500
218
+ :height: 256
219
+
220
+ Simulated and baked to image maps in Blender, rendered in 3Delight.
particle_instance.rst.txt ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.ParticleInstanceModifier:
2
+
3
+ **************************
4
+ Particle Instance Modifier
5
+ **************************
6
+
7
+ When a *Particle Instance* modifier is added to an object,
8
+ the mesh of this object will be duplicated
9
+ at the location of the particles of the selected *Particle System* from another target object.
10
+ This means that to use this modifier, you must have at least one other object
11
+ that has a :doc:`Particles System </physics/particles/index>` on it.
12
+
13
+ Because of the correlation in which the *Particle Instance* modifier is
14
+ influenced by the underlying particle systems on other objects, some of the apparent effects
15
+ generated by the modifier can look and act vastly different,
16
+ depending on the underlying settings of the particle systems it is associated with.
17
+ This is worth taking account of, when it seems that the *Particle Instance* modifier settings
18
+ do not return the expected results.
19
+
20
+
21
+ Options
22
+ =======
23
+
24
+ .. figure:: /images/modeling_modifiers_simulate_particle-instance_panel.png
25
+ :align: right
26
+
27
+ The Particle Instance modifier.
28
+
29
+ Object
30
+ The target object which has a particle system associated with it.
31
+ Particle System
32
+ Which particle system from the target *Object* to apply this modifier to.
33
+
34
+
35
+ Create From
36
+ -----------
37
+
38
+ Normal
39
+ When enabled, the modifier will use the regular (parents) particles
40
+ to duplicate the mesh of the modified object.
41
+ Children
42
+ When enabled, the modifier will use the :doc:`children </physics/particles/emitter/children>` particles
43
+ to duplicate the mesh of the modified object.
44
+ Size
45
+ Scale the instanced copies of the mesh by the particle size attribute.
46
+ When this is disabled, all the copies appear the same size as the origin.
47
+
48
+ See the particle system's :doc:`Render </physics/particles/emitter/render>`
49
+ and :doc:`Children </physics/particles/emitter/children>` panels for particle's size options.
50
+
51
+
52
+ Show Particles When
53
+ -------------------
54
+
55
+ Unborn
56
+ When enabled, the modifier will use the unborn particles
57
+ to duplicate the mesh of the modified object.
58
+ Alive
59
+ When enabled, the modifier will use the alive particles
60
+ to duplicate the mesh of the modified object.
61
+ Dead
62
+ When enabled, the modifier will use the dead particles
63
+ to duplicate the mesh of the modified object.
64
+
65
+
66
+ Further Options
67
+ ---------------
68
+
69
+ Space
70
+ World, Local
71
+ Use :term:`World Space`, or :term:`Local Space` of the target object (that the particle system is assigned to).
72
+
73
+ - World space means that the locations of the copies of the modified mesh will depend
74
+ on the location of the modified object **and** of the target object.
75
+ - Local space means that the locations of the copies of the modified mesh will depend
76
+ only on the location of the modified object.
77
+
78
+ Amount
79
+ The proportion of particles to be used.
80
+ Allows you to **randomly** skip particles to adjust the amount of instances.
81
+
82
+ .. warning::
83
+
84
+ The random algorithm used currently only ensures that relative amount to be respected *statistically*.
85
+ The actual amount of instances generated will differ from the theoretical one,
86
+ depending on the *Seed* value of the target particle system (and the *Offset* value described below, too).
87
+
88
+ That deviation is not significant with high number of particles,
89
+ but it will be highly noticeable with low numbers
90
+ (e.g. with 100 particles in the target system, and an *Amount* value of ``0.1``,
91
+ it can generate either up to 15 or 5 instances, instead of the 10 expected).
92
+
93
+ Offset
94
+ A relative offset in the range of particles used for instantiation.
95
+ Allows you to avoid overlapping of the used particles,
96
+ when the same particle system is used in multiple modifier instances.
97
+
98
+ .. tip::
99
+
100
+ If you want to fully avoid overlaps, your *Offset* value must be at least as high as your *Amount* value.
101
+
102
+ Rotation Axis X/Y/Z
103
+ Specify which axis of the modified object to use as pole axis to apply
104
+ the rotation from the instantiated particles.
105
+
106
+
107
+ Using Paths
108
+ -----------
109
+
110
+ By default, the instances are placed depending on the particles position in the current frame.
111
+ By enabling this option, you can select the position along the particles path regardless of the current frame.
112
+
113
+ You can adjust the particles' path (using the *Path* visualization type)
114
+ on the :doc:`Render </physics/particles/emitter/render>` panel of the *Particle System* tab.
115
+
116
+ .. note::
117
+
118
+ The particle system must be :doc:`baked </physics/baking>`, except for *Hair* type or *Keyed* physics.
119
+
120
+ Create Along Paths
121
+ This option tries to make the instance of the modified object to follow,
122
+ to deform its shape along the particle path (or the hair strand).
123
+ Keep Shape
124
+ Enabling this prevents the instance from being deformed,
125
+ and places it on the path according to the *Position* value.
126
+ Position
127
+ Specify what percentage of the path the instance fills,
128
+ or the position on the path if the *Keep Shape* option is enabled.
129
+
130
+ Random
131
+ Adds some randomness to the *Position* value of each instance.
132
+
133
+ Rotation
134
+ Specifies the rotation around the path.
135
+
136
+ Random
137
+ Adds some randomness to the *Rotation* value of each instance.
138
+
139
+
140
+ Custom Data Layers
141
+ ------------------
142
+
143
+ These fields allow you to select vertex color layers,
144
+ which will be filled with colors based on the particles information.
145
+ These vertex color layers can be used, for example, in a shader to add variance to a material.
146
+
147
+ Index Layer
148
+ A vertex color layer for values based on the particles index.
149
+ Value Layer
150
+ A vertex color layer for random per-particle values.
151
+
152
+
153
+ Examples
154
+ ========
155
+
156
+ .. figure:: /images/modeling_modifiers_simulate_particle-instance_split-plane.jpg
157
+ :width: 600px
158
+ :align: center
159
+
160
+ Particle Instance modifier example.
161
+
162
+ The render above shows a single plane mesh object assigned to two different vertex groups
163
+ and each of those vertex groups is assigned to a separate and independent particle system,
164
+ with each particle system being assigned to a different *Particle Instance* modifier.
165
+ In the case shown the *Particle Instance* modifiers are added to a sphere and a cube.
166
+ See `example blend-file
167
+ <https://en.blender.org/uploads/4/48/Manual_-_Modifiers_-_Particle_Instance_Modifiers_-_Split_Plane.blend>`__.
168
+
169
+ .. figure:: /images/modeling_modifiers_simulate_particle-instance_create-along-paths.jpg
170
+ :width: 600px
171
+ :align: center
172
+
173
+ Create Along Path example.
174
+
175
+ In this example, a single *Keyed* particle travels through four points (green planes),
176
+ on an elliptical path. The *Particle Instance* modifier is added to a cylinder object
177
+ and then associated with that *Keyed* particle system.
178
+
179
+ When the *Create Along Paths* is activated,
180
+ instead of the cylinder location just following the position of the particle,
181
+ the cylinder mesh is fitted to the shape of the path followed by the particle.
182
+ The mesh geometry of the object which is deformed
183
+ can have an impact on how well the deformation is carried out.
184
+ In the case of the cylinder, it has many loop cuts along its length so
185
+ that it can bend at those points to deform along the particle path.
186
+
187
+ The *Particle Instance* modifier *Create Along Paths* feature works for hair (strand)
188
+ particles as well as with keyed particles. In this case, the mesh of the *Particle Instance* modifier
189
+ will follow the length and profile of the hair strands paths.
190
+
191
+ .. note::
192
+
193
+ Strands, when they are generated, instantly die when created, so for the *Create Along Paths* checkbox
194
+ to be of any use, you must also have the *Dead* checkbox enabled.
remesh.rst.txt ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.RemeshModifier:
2
+
3
+ ***************
4
+ Remesh Modifier
5
+ ***************
6
+
7
+ The *Remesh* modifier is a tool for generating new mesh topology.
8
+ The output follows the surface curvature of the input, but its topology contains only quads.
9
+
10
+
11
+ Options
12
+ =======
13
+
14
+ .. figure:: /images/modeling_modifiers_generate_remesh_panel.png
15
+ :align: right
16
+
17
+ The Remesh modifier.
18
+
19
+ Mode
20
+ There are three basic modes available in the *Remesh* modifier.
21
+ The output topology is almost identical between the three modes, what changes is the smoothing.
22
+
23
+ Blocks
24
+ There is no smoothing at all.
25
+ Smooth
26
+ Output a smooth surface.
27
+ Sharp
28
+ Similar to *Smooth*, but preserves sharp edges and corners.
29
+
30
+ Octree Depth
31
+ Sets the resolution of the output. Low values will generate larger faces relative to the input,
32
+ higher values will generate a denser output.
33
+ Scale
34
+ The result can be tweaked further by this, lower values effectively decrease the output resolution.
35
+ Sharpness
36
+ Shown when using the *Sharp Mode*. Higher values produce edges more similar to the input,
37
+ while lower values filter out noise.
38
+ Smooth Shading
39
+ Output faces with smooth shading rather than flat shading.
40
+ The smooth/flat shading of the input faces is not preserved.
41
+ Remove Disconnected Pieces
42
+ Filter out small disconnected pieces of the output.
43
+
44
+ Thin parts of the input mesh can become lose, and generate small isolated bits of mesh.
45
+ This option will remove those.
46
+
47
+ Threshold
48
+ Use this to control how small a disconnected component must be to be removed.
49
+
50
+ .. note::
51
+
52
+ The input mesh should have some thickness to it. If the input is completely flat,
53
+ add a :doc:`Solidify Modifier </modeling/modifiers/generate/solidify>` above the *Remesh* one.
54
+
55
+
56
+ Examples
57
+ ========
58
+
59
+ .. list-table::
60
+
61
+ * - .. figure:: /images/modeling_modifiers_generate_remesh_example-none.png
62
+ :width: 320px
63
+
64
+ Unmodified mesh.
65
+
66
+ - .. figure:: /images/modeling_modifiers_generate_remesh_example-blocks-depth-3.png
67
+ :width: 320px
68
+
69
+ Blocks mode with Octree Depth 3.
70
+
71
+ - .. figure:: /images/modeling_modifiers_generate_remesh_example-smooth-depth-3.png
72
+ :width: 320px
73
+
74
+ Smooth mode with Octree Depth 3.
75
+
76
+ * - .. figure:: /images/modeling_modifiers_generate_remesh_example-sharp-depth-2.png
77
+ :width: 320px
78
+
79
+ Sharp mode with Octree Depth 2.
80
+
81
+ - .. figure:: /images/modeling_modifiers_generate_remesh_example-sharp-depth-3.png
82
+ :width: 320px
83
+
84
+ Sharp mode with Octree Depth 3.
85
+
86
+ - .. figure:: /images/modeling_modifiers_generate_remesh_example-sharp-depth-4.png
87
+ :width: 320px
88
+
89
+ Sharp mode with Octree Depth 4.
90
+
91
+ .. figure:: /images/modeling_modifiers_generate_remesh_example-text-topology.png
92
+ :width: 520px
93
+
94
+ The Remesh Modifier applied to a text to improve its topology.
95
+
96
+ .. youtube:: Mh-gUnS2c0Y
97
+
98
+ .. vimeo:: 21096739
screw.rst.txt ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.ScrewModifier:
2
+
3
+ **************
4
+ Screw Modifier
5
+ **************
6
+
7
+ The *Screw* modifier is similar to the :doc:`Screw </modeling/meshes/editing/duplicating/screw>` tool
8
+ in the *Toolbar*, in that it takes a profile object, a mesh or a curve, to create a helix-like shape.
9
+
10
+ .. figure:: /images/modeling_modifiers_generate_screw_align.png
11
+ :width: 540px
12
+
13
+ Properly aligning the profile object is important.
14
+
15
+ The profile should be properly aligned to the cardinal direction of the object rather than to the screw axis.
16
+
17
+
18
+ Options
19
+ =======
20
+
21
+ .. figure:: /images/modeling_modifiers_generate_screw_panel.png
22
+ :align: right
23
+
24
+ The Screw modifier.
25
+
26
+ Axis
27
+ The axis along which the helix will be built.
28
+
29
+ Screw
30
+ The height of one helix iteration.
31
+
32
+ Axis Object
33
+ The name of an object to define the axis direction.
34
+
35
+ Object Screw
36
+ Use the distance from the *Axis Object* to define the height of one helix iteration.
37
+
38
+ Angle
39
+ Degrees for a single helix revolution.
40
+ Steps
41
+ Number of steps used for a single revolution displayed in the 3D View. Beware of setting this higher than
42
+ *Render Steps*, which is the value used for rendering.
43
+ Render Steps
44
+ As above, but used during render time. Increase to improve quality.
45
+ Smooth Shading
46
+ Output faces with smooth shading rather than flat shading.
47
+ The smooth/flat shading of the input geometry is not preserved.
48
+ Calc Order
49
+ Order of edges is calculated to avoid problems with normals and shading. Only needed for meshes, not curves.
50
+ Flip
51
+ Flip normals direction.
52
+ Iterations
53
+ Number of revolutions.
54
+ Stretch U/V
55
+ Stretch the UV coordinates from (0.0 to 1.0) when UVs are present.
56
+ Merge Vertices
57
+ Merge vertices that lie on the axis of rotation.
58
+ Use this to close off end points with a triangle fan.
59
+
60
+ Merge Distance
61
+ Vertices under this distance to the axis are merged.
skin.rst.txt ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.SkinModifier:
2
+
3
+ *************
4
+ Skin Modifier
5
+ *************
6
+
7
+ The *Skin* modifier uses vertices and edges to create a skinned surface,
8
+ using a per-vertex radius to better define the shape.
9
+ The output is mostly quads, although some triangles will appear around intersections.
10
+
11
+ It is a quick way to generate base meshes for sculpting and/or smooth organic shapes with
12
+ arbitrary topology.
13
+
14
+ .. note::
15
+
16
+ Faces in the original geometry are ignored.
17
+
18
+
19
+ Options
20
+ =======
21
+
22
+ .. figure:: /images/modeling_modifiers_generate_skin_panel.png
23
+ :align: right
24
+
25
+ The Skin modifier.
26
+
27
+ Branch Smoothing
28
+ A branch point is a vertex with three or more connected edges.
29
+ These areas tend to produce more complicated topology, some of which may overlap.
30
+ This setting relaxes the surface around these points,
31
+ with the side effect of shrinking it.
32
+
33
+ Smooth Shading
34
+ Output faces with smooth shading rather than flat shading.
35
+ The smooth/flat shading of the input geometry is not preserved.
36
+
37
+ Symmetry Axes X/Y/Z
38
+ These checkboxes are used to keep the output topology symmetrical in their respective axes.
39
+ In other words, using it avoids merging triangles across an axis unless the triangles form a symmetric quad.
40
+
41
+ .. note::
42
+
43
+ They do not add geometry flipped across an axis.
44
+ For that, the :doc:`Mirror </modeling/modifiers/generate/mirror>` modifier should be used,
45
+ typically placed above the *Skin* one.
46
+
47
+
48
+ Add Skin Data
49
+ -------------
50
+
51
+ This modifier uses a :ref:`custom set of data <modeling-modifiers-generate-skin-data>` in the mesh,
52
+ that is generated automatically when you add the modifier the first time.
53
+
54
+ However, you may remove that data, or loose it some way or the other. That operator will generate it again.
55
+
56
+
57
+ Selected Vertices
58
+ -----------------
59
+
60
+ Those operators modify the original mesh 'control data' for the *Skin* modifier. They help manage its behavior.
61
+
62
+ Mark/Clear Loose
63
+ By default, a branch vertex (vertex with three or more connected edges)
64
+ will generate extra edge loops along adjacent edges in order to keep the output tight.
65
+ Branches can be made loose by clicking *Mark Loose*, which will allow the output to stretch between
66
+ all adjacent vertices. This can be disabled again by clicking *Clear Loose*.
67
+ Mark Root
68
+ Marking a vertex as root causes that vertex to be used for calculating rotations for connected limbs.
69
+ Root vertices also affect the armature output, they will be used as the origin for the root bones.
70
+
71
+ ..
72
+ Not true anymore:
73
+ Roots are shown in the *3D View* with a red dashed circle around the vertex.
74
+
75
+ Each set of connected vertices should have one root node
76
+ (one is selected by default if you do not assign any manually).
77
+ *Mark Root* enforces the one-root per set rule, so it is not necessary to manually unmark roots.
78
+
79
+ Equalize Radii
80
+ Makes the skin radii of selected vertices equal on each axis.
81
+
82
+
83
+ Create Armature
84
+ ---------------
85
+
86
+ Create an armature on top of the object. Each edge becomes a bone.
87
+
88
+ .. note::
89
+
90
+ If the root vertex has more than one adjacent edge,
91
+ an extra bone will be created to serve as the root.
92
+
93
+ This tool does the following:
94
+
95
+ #. A new armature object is added with bones matching the input mesh.
96
+ The active selection is switched to the new armature.
97
+ #. Weight groups are added to the input mesh. The *Skin* modifier propagates these weights to the output as well.
98
+ #. An :doc:`Armature </modeling/modifiers/deform/armature>` modifier is added directly below the *Skin* one.
99
+ Note that the *Armature* modifier is being applied after
100
+ the *Skin* one because it should only deform the output,
101
+ whereas if it were above, it might change the resulting topology.
102
+
103
+
104
+ .. _modeling-modifiers-generate-skin-data:
105
+
106
+ Skin Mesh Data
107
+ ==============
108
+
109
+ That modifier needs a set of specific data in the original mesh to work properly.
110
+ This data allows to define the root vertices of each tree, which ones are loose (see `Selected Vertices`_ above),
111
+ and the size (radius) of the skin at each vertex.
112
+
113
+
114
+ Skin Size
115
+ ---------
116
+
117
+ The radii of input vertices can be individually scaled in Edit Mode by pressing :kbd:`Ctrl-A`.
118
+ Non-uniform scaling of the X and Y axes is accessible by the usual axis locking with :kbd:`X` or :kbd:`Y`.
119
+ The radius can also be adjusted in the *Transform* panel of the Sidebar, in the 3D View.
120
+
121
+
122
+ Examples
123
+ ========
124
+
125
+ .. _fig-modifier-skin-creature:
126
+
127
+ .. figure:: /images/modeling_modifiers_generate_skin_example.png
128
+
129
+ Simple creature, made with only the Skin and Subdivision Surface modifiers.
130
+
131
+
132
+ External Links
133
+ ==============
134
+
135
+ - `Skin Modifier Development at Blender Nation
136
+ <http://www.blendernation.com/2011/03/11/skin-modifier-development/>`__ --
137
+ An early demonstration of the Skin Modifier by Nicholas Bishop (March 2011).
138
+ - Ji, Zhongping; Liu, Ligang; Wang, Yigang (2010).
139
+ `B-Mesh: A Fast Modeling System for Base Meshes of 3D Articulated Shapes
140
+ <http://www.math.zju.edu.cn/ligangliu/CAGD/Projects/BMesh/>`__,
141
+ Computer Graphics Forum 29(7), pp. 2169-2178. -- The work this modifier is based on
142
+ (`direct link to PDF <http://www.math.zju.edu.cn/ligangliu/cagd/projects/bmesh/paper/bmesh.pdf>`__).
143
+ - `Related thread on Blender artists
144
+ <http://blenderartists.org/forum/showthread.php?209551-B-mesh-modeling-tools-papers-better-than-zsfere>`__.
solidify.rst.txt ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.SolidifyModifier:
2
+
3
+ *****************
4
+ Solidify Modifier
5
+ *****************
6
+
7
+ The *Solidify* modifier takes the surface of any mesh and adds depth, thickness to it.
8
+
9
+
10
+ Options
11
+ =======
12
+
13
+ .. figure:: /images/modeling_modifiers_generate_solidify_panel.png
14
+ :align: right
15
+
16
+ The Solidify modifier.
17
+
18
+ Thickness
19
+ The depth to be solidified.
20
+ Offset
21
+ A value between (-1 to 1) to locate the solidified output inside or outside the original mesh.
22
+ Set to 0.0, the solidified output will be centered on the original mesh.
23
+ Clamp
24
+ A value between (0 to 2) to clamp offsets to avoid self-intersection.
25
+
26
+ .. figure:: /images/modeling_modifiers_generate_solidify_clamp.png
27
+
28
+ Clamp Offset.
29
+
30
+ Vertex Group
31
+ Only vertices in this group are solidified. Their weights are multiplied by the thickness,
32
+ so vertices with lower weights will be less thick.
33
+
34
+ Invert
35
+ Reverses the vertex group, so that only vertices which are **not** in the vertex group are solidified.
36
+ Factor
37
+ How much the vertex weights are taken into account.
38
+
39
+ - On 0.0 , vertices with zero weight will have no thickness at all.
40
+ - On 0.5 , vertices with zero weight will be half as thick as those with full weight.
41
+ - On 1.0 , the weights are ignored and the *Thickness* value is used for every vertex.
42
+
43
+ Crease
44
+ These options are intended for usage with
45
+ the :doc:`Subdivision Surface </modeling/modifiers/generate/subdivision_surface>` modifier.
46
+
47
+ .. figure:: /images/modeling_modifiers_generate_solidify_rims.png
48
+ :width: 350px
49
+
50
+ Rim and edges. In this example, the object was assigned a second material used to color the rim red.
51
+
52
+ Inner
53
+ Set a crease to the inner edges.
54
+ Outer
55
+ Set a crease to the outer edges.
56
+ Rim
57
+ Set a crease to the rim.
58
+
59
+ Flip Normals
60
+ Reverse the normals of all geometry (both the inner and outer surfaces).
61
+ Even Thickness
62
+ Maintain thickness by adjusting for sharp corners.
63
+ Sometimes improves quality but also increases computation time.
64
+ High Quality Normals
65
+ Normals are calculated to produce a more even thickness.
66
+ Sometimes improves quality but also increases computation time.
67
+ Fill Rim
68
+ Fills the gap between the inner and outer edges.
69
+ Only Rim
70
+ Will not extrude surfaces parallel to the original one, but instead will only generate the perpendicular rim.
71
+
72
+ .. note::
73
+
74
+ *Fill Rim* and *Only Rim* only make a difference on :term:`non-manifold` objects,
75
+ since the rims are generated from the borders of the original geometry.
76
+
77
+ Material Index Offset
78
+ Choose a different material to use for the new geometry.
79
+ This is applied as an offset from the original material of the face from which it was solidified.
80
+
81
+ - A value of 0 means it will use the same material.
82
+ - A value of 1 means it will use the material immediately below the original material.
83
+ - A value of -2 means the material two positions above the original material will be used.
84
+
85
+ These are clamped to the top-most and bottom-most material slots.
86
+
87
+ Rim
88
+ Similarly, you can give another material to the rim faces.
89
+
90
+ .. important::
91
+
92
+ The modifier thickness is calculated using local vertex coordinates. If the object has non-uniform scale,
93
+ the thickness will vary on different sides of the object.
94
+
95
+ To fix this, either :ref:`apply <bpy.ops.object.transform_apply>`
96
+ or :ref:`clear <bpy.ops.object.*clear>` the scale.
97
+
98
+
99
+ Known Limitations
100
+ =================
101
+
102
+ Even Thickness
103
+ --------------
104
+
105
+ Solidify thickness is an approximation.
106
+ While *Even Thickness* and *High Quality Normals* should yield good results,
107
+ the final wall thickness is not guaranteed and may vary depending on the mesh topology.
108
+
109
+ In order to maintain precise wall thickness in every case, we would need to add/remove faces on the offset shell,
110
+ something this modifier does not do since this would add a lot of complexity and slow it down.
subdivision_surface.rst.txt ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.SubsurfModifier:
2
+
3
+ ****************************
4
+ Subdivision Surface Modifier
5
+ ****************************
6
+
7
+ The *Subdivision Surface* modifier (often shorten to "Subdiv")
8
+ is used to split the faces of a mesh into smaller faces, giving it a smooth appearance.
9
+ It enables you to create complex smooth surfaces while modeling simple, low-vertex meshes.
10
+ It avoids the need to save and maintain huge amounts of data,
11
+ and gives a smooth "organic" look to the object.
12
+
13
+ As with any modifier, order of execution (position in the :ref:`modifier stack <modifier-stack>`)
14
+ has an important bearing on the results.
15
+
16
+ Keep in mind that this is a different operation than its companion,
17
+ :ref:`Smooth Shading <modeling-meshes-editing-normals-shading>`.
18
+ You can see the difference between the two in the grid image below.
19
+
20
+ .. figure:: /images/modeling_modifiers_generate_subdivision-surface_grid.png
21
+
22
+ Subdivision levels 0 to 3, without and with Smooth Shading.
23
+
24
+ .. tip::
25
+
26
+ The *Subdivision Surface* modifier does not allow you to edit the new subdivided geometry without applying it,
27
+ but the :doc:`Multiresolution </modeling/modifiers/generate/multiresolution>` modifier does (in Sculpt Mode).
28
+
29
+ .. note::
30
+
31
+ This modifier now uses
32
+ the `OpenSubdiv library <http://graphics.pixar.com/opensubdiv/docs/intro.html>`__ as a backend.
33
+
34
+
35
+ Options
36
+ =======
37
+
38
+ .. figure:: /images/modeling_modifiers_generate_subdivision-surface_panel.png
39
+ :align: right
40
+
41
+ The Subdivision Surface modifier.
42
+
43
+ Type
44
+ This toggle button allows you to choose the subdivision algorithm:
45
+
46
+ Catmull-Clark
47
+ The default option, subdivides and smooths the surfaces.
48
+ According to its `Wikipedia page <https://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface>`__,
49
+ the "arbitrary-looking formula was chosen by Catmull and Clark based on the aesthetic appearance of
50
+ the resulting surfaces rather than on a mathematical derivation."
51
+ Simple
52
+ Only subdivides the surfaces, without any smoothing
53
+ (the same as the :ref:`Subdivide <bpy.ops.mesh.subdivide>` operator, in Edit Mode).
54
+ Can be used, for example, to increase base mesh resolution when using displacement maps.
55
+
56
+ Subdivisions
57
+ Recursively adds more geometry.
58
+
59
+ The right combination of these settings will allow you to keep a fast and lightweight approximation of your model
60
+ when interacting with it in the 3D Viewport, but use a higher quality version when rendering.
61
+
62
+ .. warning::
63
+
64
+ Higher levels of subdivisions results in more vertices, which means more memory will be occupied
65
+ (both system RAM, and video memory for display).
66
+ Blender could potentially crash or hang if you do not have enough available memory.
67
+
68
+ Render
69
+ The number of subdivision levels shown in renders.
70
+ Viewport
71
+ The number of subdivision levels shown in the 3D View.
72
+ Quality
73
+ How precisely the vertices are positioned
74
+ (relatively to their theoretical position of an infinitely subdivided mesh),
75
+ can be lowered to get a better performance.
76
+
77
+ Using higher values does not necessarily mean real improvement in quality,
78
+ ideal results might be reached well before the maximum *Quality* value.
79
+
80
+ .. tip::
81
+
82
+ Be careful not to set the *Viewport* subdivisions higher than the *Render* subdivisions,
83
+ this would mean that in the 3D View the quality will be higher than the rendered.
84
+
85
+ Options
86
+ UV Smooth
87
+ How to handle UVs during subdivision.
88
+
89
+ Smooth, keep corners
90
+ UV islands are smoothed, but their boundary remain sharp.
91
+ Sharp
92
+ UV remain unchanged.
93
+
94
+ Optimal Display
95
+ When rendering the wireframe of this object, the wires of the new subdivided edges will be skipped
96
+ (only displays the edges of the original geometry).
97
+
98
+ Use Creases
99
+ Use the `Weighted Edge Creases`_ values stored in edges to control how smooth they are made.
100
+
101
+
102
+ Keyboard Shortcuts
103
+ ==================
104
+
105
+ To quickly add a *Subdivision Surface* modifier to one or more objects, select the object(s) and press :kbd:`Ctrl-1`.
106
+ That will add a Subdivision Surface modifier with *Viewport* subdivisions set to 1.
107
+ You can use other numbers too, such as :kbd:`Ctrl-2`, :kbd:`Ctrl-3`, etc,
108
+ to add a modifier with that number of subdivisions.
109
+ Adding a *Subdivision Surface* modifier in this fashion will not modify the *Render* subdivisions.
110
+
111
+ If an object already has a *Subdivision Surface* modifier,
112
+ doing this will simply change its subdivision level instead of adding another modifier.
113
+
114
+
115
+ Control
116
+ =======
117
+
118
+ Catmull-Clark subdivision rounds off edges, and often this is not what you want.
119
+ There are several solutions that allow you to control the subdivision.
120
+
121
+
122
+ .. _modifiers-generate-subsurf-creases:
123
+
124
+ Weighted Edge Creases
125
+ ---------------------
126
+
127
+ Weighted edge creases for subdivision surfaces allows you to change the way
128
+ the *Subdivision Surface* modifier subdivides the geometry to give the edges a smooth or sharp appearance.
129
+
130
+ .. figure:: /images/modeling_modifiers_generate_subdivision-surface_withcrease.png
131
+
132
+ A subdivided cube with creased edges.
133
+
134
+ The crease weight of selected edges can be changed in the *Transform* panel, Sidebar of the 3D View.
135
+ The scale-like dedicated tool :kbd:`Shift-E` can also be used to adjust the crease weight.
136
+ A higher value makes the edge "stronger" and more resistant to the smoothing effect of subdivision surfaces.
137
+
138
+
139
+ Edge Loops
140
+ ----------
141
+
142
+ .. figure:: /images/modeling_modifiers_generate_subdivision-surface_cube-with-edge-loops.png
143
+
144
+ Subdivision Level 2 cube, the same with an extra Edge Loop, and the same with six extra Edge Loops.
145
+
146
+ The *Subdivision Surface* modifier demonstrates why good, clean topology is so important.
147
+ As you can see in the figure, the it has a drastic effect on a default cube.
148
+ Until you add in additional loops (with e.g. :ref:`Loop Cut and Slide <bpy.ops.mesh.loopcut_slide>`),
149
+ the shape is almost unrecognizable as a cube.
150
+
151
+ A mesh with deliberate topology has good placement of edge loops, which allow the placement of more loops
152
+ (or their removal) to control the sharpness/smoothness of the resultant mesh.
153
+
154
+
155
+ Known Limitations
156
+ =================
157
+
158
+ Non-Contiguous Normals
159
+ ----------------------
160
+
161
+ Blender's subdivision system produces nice smooth subdivided meshes, but any subdivided face
162
+ (that is, any small face created by the algorithm from a single face of the original mesh),
163
+ shares the overall normal orientation of that original face.
164
+
165
+ .. list-table::
166
+
167
+ * - .. figure:: /images/modeling_modifiers_generate_subdivision-surface_normal-orientation-1.png
168
+ :width: 320px
169
+
170
+ Comparison of good normals and bad normals.
171
+
172
+ - .. figure:: /images/modeling_modifiers_generate_subdivision-surface_normal-orientation-2.png
173
+ :width: 320px
174
+
175
+ Side view of image on the left.
176
+
177
+ Abrupt normal changes can produce ugly black gouges even though
178
+ these flipped normals are not an issue for the shape itself.
179
+
180
+ A quick way to fix this is to use Blender's
181
+ :doc:`Recalculate Normals </modeling/meshes/editing/normals>` operation in Edit Mode.
182
+
183
+ If you still have some ugly black gouges you will have to
184
+ :doc:`manually flip the normals </modeling/meshes/editing/normals>`.
triangulate.rst.txt ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.TriangulateModifier:
2
+
3
+ ********************
4
+ Triangulate Modifier
5
+ ********************
6
+
7
+ The *Triangulate* modifier converts all faces in a mesh (quads and polygons) to triangular faces.
8
+ It fulfills the exact same function as the :ref:`Triangulate <bpy.ops.mesh.quads_convert_to_tris>` tool in Edit Mode.
9
+
10
+ .. list-table::
11
+
12
+ * - .. figure:: /images/modeling_modifiers_generate_triangulate_before.png
13
+ :width: 320px
14
+
15
+ Mesh before Triangulate modifier.
16
+
17
+ - .. figure:: /images/modeling_modifiers_generate_triangulate_after.png
18
+ :width: 320px
19
+
20
+ Mesh after Triangulate modifier.
21
+
22
+
23
+ Options
24
+ =======
25
+
26
+ .. figure:: /images/modeling_modifiers_generate_triangulate_panel.png
27
+ :align: right
28
+
29
+ The Triangulate modifier.
30
+
31
+ Quad Method
32
+ Beauty
33
+ Split the quads in nice triangles, slower method.
34
+ Fixed
35
+ Split the quads on their 1st and 3rd vertices.
36
+ Fixed Alternate
37
+ Split the quads on their 2nd and 4th vertices.
38
+ Shortest Diagonal
39
+ Split the quads based on the diagonal distance between their vertices.
40
+
41
+ N-gon Method
42
+ Beauty
43
+ Arrange the new triangles nicely, slower method.
44
+ Clip
45
+ Split the polygons using an ear-clipping algorithm
46
+ (gives similar results to the tessellation used for the viewport rendering).
47
+
48
+ Keep Normals
49
+ When using :ref:`custom normals <modeling_meshes_normals_custom>`,
50
+ try to preserve the same shading as before triangulation.
51
+
52
+ Minimum Vertices
53
+ Minimum number of vertices a face must have to be triangulated.
54
+ For example, setting this value to 5, will prevent triangulation of :term:`quads <quad>`
55
+ and only triangulate :term:`N-gons <N-gon>`.
wireframe.rst.txt ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.types.WireframeModifier:
2
+
3
+ ******************
4
+ Wireframe Modifier
5
+ ******************
6
+
7
+ The *Wireframe* modifier transforms a mesh into a wireframe by iterating over its
8
+ faces, collecting all edges and turning those edges into four sided polygons.
9
+ Be aware of the fact that your mesh needs to have faces to be wireframed.
10
+ You can define the thickness, the material and several other parameters of the generated
11
+ wireframe dynamically via the given modifier options.
12
+
13
+
14
+ Options
15
+ =======
16
+
17
+ .. figure:: /images/modeling_modifiers_generate_wireframe_panel.png
18
+ :align: right
19
+
20
+ The Wireframe modifier.
21
+
22
+ Thickness
23
+ The depth or size of the wireframes.
24
+ Offset
25
+ A value between (-1 to 1) to change whether the wireframes are
26
+ generated inside or outside of the original mesh.
27
+ Set to zero, *Offset* will center the wireframes around the original edges.
28
+ Vertex Group
29
+ Restrict the modifier to only this vertex group.
30
+
31
+ Invert
32
+ Inverts the vertex group weights.
33
+ Factor
34
+ Percentage that the vertex has influence over the final wireframe result.
35
+
36
+ Crease Edges
37
+ This option is intended for usage with
38
+ the :doc:`Subdivision </modeling/modifiers/generate/subdivision_surface>` modifier.
39
+ Enable this option to crease edges on their junctions and prevent large curved intersections.
40
+
41
+ Crease Weight
42
+ Define how much crease (0 to 1, nothing to full) the junctions should receive.
43
+
44
+ Even Thickness
45
+ Maintain thickness by adjusting for sharp corners. Sometimes improves quality but also increases computation time.
46
+ Relative Thickness
47
+ Determines the edge thickness by the length of the edge. Longer edges will be thicker.
48
+ Boundary
49
+ Creates wireframes on mesh island boundaries.
50
+ Replace Original
51
+ If this option is enabled, the original mesh is replaced by the generated wireframe.
52
+ If not, the wireframe is generated on top of it.
53
+ Material Offset
54
+ Uses the chosen material index as the material for the wireframe;
55
+ this is applied as an offset from the first material.
56
+
57
+ .. warning::
58
+
59
+ Wireframe thickness is an approximation. While *Even Thickness* should yield good results in many cases,
60
+ skinny faces can cause ugly spikes. In this case you can either reduce the extreme angles in the geometry
61
+ or disable the *Even Thickness* option.
62
+
63
+
64
+ Examples
65
+ ========
66
+
67
+ .. figure:: /images/modeling_modifiers_generate_wireframe_result.jpg
68
+ :width: 420px
69
+
70
+ Wireframes on a displaced plane.
71
+
72
+ In this example, the wireframes carry a second (dark) material while the displaced plane uses its original one.
73
+
74
+ .. figure:: /images/modeling_modifiers_generate_wireframe_example-weights.png
75
+ :width: 420px
76
+
77
+ Vertex Group weighting.
78
+
79
+ The weights of the vertex group gradually change from 0 to 1.
80
+
81
+ .. figure:: /images/modeling_modifiers_generate_wireframe_example-crease.png
82
+ :width: 420px
83
+
84
+ Wireframe and Subdivision Surface modifier.
85
+
86
+ Cube with enabled *Crease Edges* option. The *Crease Weight* is set to 0, 0.5 and 1.