File: transfer_mesh_data.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 (171 lines) | stat: -rw-r--r-- 7,191 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
.. _bpy.ops.object.data_transfer:

******************
Transfer Mesh Data
******************

.. reference::

   :Mode:      Object Mode
   :Menu:      :menuselection:`Object --> Link/Transfer Data --> Transfer Mesh Data`

The *Data Transfer* tool transfers several types of data from one mesh to another.
Data types include vertex groups, UV maps, Color Attributes, custom normals...
Transfer works by generating a mapping between source mesh's elements (vertices, edges, etc.)
and destination ones, either on a one-to-one basis, or mapping several source elements
to a single destination one by interpolated mapping.

Transfers data layer(s) from active to selected meshes.

Freeze Operator
   Prevent changes to settings to re-run the operator.
   This is useful if you are editing several settings at once with heavy geometry.
Data Type
   Which data to transfer.

   .. figure:: /images/scene-layout_object_editing_link-transfer_transfer-mesh-data_menu.png

      Data types.

Create Data
   Add data layers on destination meshes if needed.
Vertex Mapping
   Method used to map source vertices to destination ones.
   Because the options change depending on the *Data Type*
   options are explained in `Vertex Mapping`_ below.


Vertex Mapping
==============

Topology
--------

The simplest option, expects both meshes to have identical number of elements, and match them by order (indices).
Useful e.g. between meshes that were identical copies, and got deformed differently.


One-To-One Mappings
-------------------

Those always select only one source element for each destination one, often based on shortest distance.

Vertices
   Nearest Vertex
      Uses source's nearest vertex.

   Nearest Edge Vertex
      Uses source's nearest vertex of source's nearest edge.

   Nearest Face Vertex
      Uses source's nearest vertex of source's nearest face.

Edges
   Nearest Vertices
      Uses source's edge which vertices are nearest from destination edge's vertices.

   Nearest Edge
      Uses source's nearest edge (using edge's midpoints).
   Nearest Face Edge
      Uses source's nearest edge of source's nearest face (using edge's midpoints).
Face Corners
   A face corner is not a real element by itself, it's some kind of split vertex attached to a specific face.
   Hence both vertex (location) and face (normal, ...) aspects are used to match them together.

   Nearest Corner and Best Matching Normal
      Uses source's corner having the most similar *split* normal with destination one,
      from those sharing the nearest source's vertex.
   Nearest Corner and Best Matching Face Normal
      Uses source's corner having the most similar *face* normal with destination one,
      from those sharing the nearest source's vertex.
   Nearest Corner of Nearest Face
      Uses source's nearest corner of source's nearest face.
Faces
   Nearest Face
      Uses source's nearest face.
   Best Normal-Matching:
      Uses source's face which normal is most similar with destination one.


Interpolated Mappings
---------------------

Those use several source elements for each destination one, interpolating their data during the transfer.

Vertices
   Nearest Edge Interpolated
      Uses nearest point on nearest source's edge, interpolates data from both source edge's vertices.
   Nearest Face Interpolated
      Uses nearest point on nearest source's face, interpolates data from all that source face's vertices.
   Projected Face Interpolated
      Uses point of face on source hit by projection of destination vertex along its own normal,
      interpolates data from all that source face's vertices.
Edges
   Projected Edge Interpolated
      This is a sampling process. Several rays are cast from along the destination's edge
      (interpolating both edge's vertex normals), and if enough of them hit a source's edge,
      all hit source edges' data are interpolated into destination one.
Face Corners
   A face corner is not a real element by itself, it's some kind of split vertex attached to a specific face.
   Hence both vertex (location) and face (normal, ...) aspects are used to match them together.

   Nearest Face Interpolated
      Uses nearest point of nearest source's face, interpolates data from all that source face's corners.
   Projected Face Interpolated
      Uses point of face on source hit by projection of destination corner along its own normal,
      interpolates data from all that source face's corners.
Faces
   Projected Face Interpolated
      This is a sampling process. Several rays are cast from the whole destination's face (along its own normal),
      and if enough of them hit a source's face, all hit source faces' data are interpolated into destination one.


Further Options
===============

Auto Transform
   Automatically computes the transformation to get the best possible match between source and destination meshes.

   This allows to match and transfer data between two meshes with similar shape,
   but transformed differently. Note that you'll get best results with exact copies of the same mesh.
   Otherwise, you'll likely get better results
   if you "visually" make them match in 3D space (and use *Object Transform*) instead.
Object Transform
   Evaluate source and destination meshes in global space.
Only Neighbor Geometry
   Source elements must be closer than given distance from destination one.

   Max Distance
      Maximum allowed distance between source and destination element (for non-topology mappings).

Ray Radius
   The starting ray radius to use when `Ray Casting <https://en.wikipedia.org/wiki/Ray_casting>`__
   against vertices or edges. When transferring data between meshes Blender performs a series of
   ray casts to generate mappings. Blender starts with a ray with the radius defined here,
   if that does not detect a hit then the radius is progressively
   increased until a positive hit or a limit is reached.

   This property acts as an accuracy/performance control;
   using a lower ray radius will be more accurate however,
   might take longer if Blender has to progressively increase the limit.
   Lower values will work better for dense meshes with lots of detail
   while larger values are probably better suited for simple meshes.

Mix Mode
   How to affect destination elements with source values.

   All
      Replaces everything in destination (note that *Mix Factor* is still used).
   Above Threshold
      Only replaces destination value if it is above given threshold *Mix Factor*.
      How that threshold is interpreted depends on data type,
      note that for Boolean values this option fakes a logical AND.
   Below Threshold
      Only replaces destination value if it is below given threshold *Mix Factor*.
      How that threshold is interpreted depends on data type,
      note that for Boolean values this option fakes a logical OR.
   Mix, Add, Subtract, Multiply
      Apply that operation, using mix factor to control how much of source or destination value to use.
      Only available for a few types (vertex groups, Color Attributes).
Mix Factor
   How much of the transferred data gets mixed into existing one (not supported by all data types).