File: line_set.rst

package info (click to toggle)
blender-doc 4.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 253,604 kB
  • sloc: python: 13,030; javascript: 322; makefile: 113; sh: 107
file content (274 lines) | stat: -rw-r--r-- 9,299 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
.. _bpy.types.Linesets:
.. _bpy.types.FreestyleLineSet:

********
Line Set
********

.. reference::

   :Panel:     :menuselection:`Properties --> View Layer --> Freestyle Line Set`

A line set selects, among the lines (edges) detected by Freestyle,
which ones will be rendered using its attached
:doc:`line style </render/freestyle/view_layer/line_style/introduction>`, through various methods.

.. figure:: /images/render_freestyle_parameter-editor_line-set_panel.png

   Freestyle Line Set panel.

.. _bpy.types.FreestyleLineSet.select_by_image_border:

Select By
   Image Border
      Causes Freestyle to only take geometry within the image border into consideration for line calculation.
      This reduces render times but increases continuity problems when geometry is moved out of and
      into camera view.


Visibility
==========

.. _bpy.types.FreestyleLineSet.visibility:

Type
   Determine how to use visibility for feature edge selection.

   :Visible:
      Only lines occluded by no surfaces are rendered.
   :Hidden:
      Lines occluded by at least one surface are rendered.

      .. figure:: /images/render_freestyle_parameter-editor_line-set_visibility-hidden-edges.png
         :align: center
         :width: 60%

         Proof of concept of visible and hidden edges by LightBWK
         (`blend-file <https://archive.blender.org/wiki/2015/index.php/File:HiddenCreaseEdgeMark.zip>`__).

   :Quantitative Invisibility:
      Lines occluded by a number of surfaces in the given range are rendered.

      .. _bpy.types.FreestyleLineSet.qi_start:
      .. _bpy.types.FreestyleLineSet.qi_end:

      Start, End
         Min/max number of occluding surfaces for a line to be rendered.

      .. figure:: /images/render_freestyle_parameter-editor_line-set_visibility-qi-range.png
         :align: center
         :width: 60%

         QI Range proof of concept demo, Start: 3, End: 7, by LightBWK
         (`blend-file <https://archive.blender.org/wiki/2015/index.php/File:QI-Range.zip>`__).


.. _bpy.types.FreestyleLineSet.exclude:
.. _bpy.types.FreestyleLineSet.select_by_edge_types:

Edge Types
==========

Edge types are basic algorithms for the selection of lines from geometry.
When using the parameter editor you have to choose at least one edge type in order to get a render output,
but several edge types can be combined in one line set.
Edge types can also be excluded from calculation by pressing the *X* next to them.

.. figure:: /images/render_freestyle_parameter-editor_line-set_edge-types-basic.png
   :align: center
   :width: 60%

   Examples of some basic edge types:
   Silhouette (green), Crease (black), Border (blue) and Edge Marks (red)
   (`blend-file <https://archive.blender.org/wiki/2015/index.php/File:EdgeType.zip>`__ by LightBWK).

.. _bpy.types.FreestyleLineSet.select_silhouette:

Type
   Silhouette
      Draws silhouettes around your closed objects by rendering lines where the surface normal transitions between
      pointing toward and away from the camera. It is often good for organic objects (like Suzanne & Sphere),
      and bad for sharp edges, like a box. It cannot render open mesh objects like open cylinders and flat planes.

   .. _bpy.types.FreestyleLineSet.select_crease:

   Crease
      Shows only edges whose adjacent faces form an angle sharper than the defined view map's *Crease Angle*.

      .. figure:: /images/render_freestyle_parameter-editor_line-set_edge-types-crease.png
         :align: center
         :width: 60%

         Crease Angle proof of concept for 121° by LightBWK
         (`blend-file <https://archive.blender.org/wiki/2015/index.php/File:CreaseAngle.zip>`__).

   .. _bpy.types.FreestyleLineSet.select_border:

   Border
      Border shows open mesh edges, i.e. edges that belong to only one face. An open cylinder has open edges at
      the top and bottom, and a plane is open all around. Suzanne's eye socket is an open edge.

   .. _bpy.types.FreestyleLineSet.select_edge_mark:

   Edge Mark
      Renders marked edges. See `Edge Marks`_ for details.

   .. _bpy.types.FreestyleLineSet.select_contour:

   Contour
      Draws lines around each object, separating it from other objects behind it, or the scene background.

   .. _bpy.types.FreestyleLineSet.select_external_contour:

   External Contour
      Draws lines around all objects, separating them from the scene background, but not each other.

   .. figure:: /images/render_freestyle_parameter-editor_line-set_edge-types-contour.png
      :align: center
      :width: 60%

      Left pair: Contour; Right pair: External Contour.

   .. _bpy.types.FreestyleLineSet.select_material_boundary:

   Material Boundary
      Draws lines where two materials meet on the same object.

   .. _bpy.types.FreestyleLineSet.select_suggestive_contour:

   Suggestive Contour
      Draws some lines which would form the *Silhouette* of the mesh if the view point was shifted.
      Depends on your view map settings for *Kr Derivative Epsilon* and *Sphere Radius*
      (further information: `File:Manual-2.6-Render-Freestyle-PrincetownLinestyle.pdf
      <https://archive.blender.org/wiki/2015/index.php/File:Manual-2.6-Render-Freestyle-PrincetownLinestyle.pdf>`__).

   .. _bpy.types.FreestyleLineSet.select_ridge_valley:

   Ridge & Valley
      Draws lines marking crests of ridges and valleys, i.e. places where the surface curvature is at
      its minimum or maximum. Depends on your *Sphere Radius* view map settings.


Edge Marks
----------

In Edit Mode you can mark "Freestyle Edges" in the same manner
you can mark "Seams" for UV unwrapping or "Sharp" for edge split.
These marked edges are available to render when you select *Edge Mark*.

This is done as follows:

#. Select the mesh object and enter *Edit Mode*.
#. Select the edges you want to be marked.
#. Press :kbd:`Ctrl-E` and select *Mark Freestyle Edge*.

Edge marks are useful when you want to draw lines along particular mesh edges.
The examples below explain the use of edge marks.

.. figure:: /images/render_freestyle_parameter-editor_line-set_edge-marks-mark-freestyle-edge.png
   :align: center
   :width: 60%

   Marking Freestyle Edges in Edit Mode; the edge marks are highlighted in green.

With *Edge Marks* enabled, the previously-marked lines are always rendered.
You can see the black contour lines and the blue lines that are made with edge marks.

.. list-table::

   * - .. figure:: /images/render_freestyle_parameter-editor_line-set_edge-marks-example-1.png

          Render without Edge Marks.

     - .. figure:: /images/render_freestyle_parameter-editor_line-set_edge-marks-example-2.png

          Render with Edge Marks enabled.

What are edge marks good for?

- When you need to render marks on an almost-flat plane, when other edge types cannot detect any line.
- When you want full control of edge rendering. Often used for edges of squarish shapes.
- Mark the whole base mesh to be rendered for base mesh preview.

What are edge marks not good for?

- Round outer edges (use instead *Contour/External Contour/Silhouette*).


.. _bpy.types.FreestyleLineSet.select_by_face_marks:

Face Marks
==========

Face marks are useful for removing lines from certain areas of a mesh.

To set a face mark:

#. Select a mesh object and enter *Edit Mode*.
#. Select the faces you want to be marked.
#. Press :kbd:`Ctrl-F` and select :menuselection:`Face Data --> Mark Freestyle Face`.

In this example, two faces of the default cube are marked like the image on the left.
On the right is a render without face marks activated.

.. list-table::

   * - .. figure:: /images/render_freestyle_parameter-editor_line-set_face-marks-example-1.png

          Marked faces (Edit Mode).

     - .. figure:: /images/render_freestyle_parameter-editor_line-set_face-marks-example-2.png

          Render output.

The line selection can be controlled via inclusion and faces options:

.. _bpy.types.FreestyleLineSet.face_mark_negation:

Negation
   Whether to include or exclude edges matching defined face mark conditions from the line set.

.. _bpy.types.FreestyleLineSet.face_mark_condition:

Condition
   :One Face:
      (De)select all edges which have one or both neighbor faces marked.
   :Both Faces:
      (De)select all edges which have both of their neighbor faces marked.

.. list-table::

   * - .. figure:: /images/render_freestyle_parameter-editor_line-set_face-marks-example-3.png

          Inclusive, One Face.

     - .. figure:: /images/render_freestyle_parameter-editor_line-set_face-marks-example-4.png

          Inclusive, Both Faces.

   * - .. figure:: /images/render_freestyle_parameter-editor_line-set_face-marks-example-5.png

          Exclusive, One Face.

     - .. figure:: /images/render_freestyle_parameter-editor_line-set_face-marks-example-6.png

          Exclusive, Both Faces.


.. _bpy.types.FreestyleLineSet.select_by_collection:

Collection
==========

Include or exclude objects for line calculation,
based on their belonging to a :doc:`Collection </scene_layout/collections/index>`.

.. _bpy.types.FreestyleLineSet.collection:

Line Set Collection
   The name of the object collection to use.

.. _bpy.types.FreestyleLineSet.collection_negation:

Negation
   Whether to include or exclude lines from those objects in this line set.