数据传递修改器

The Data Transfer modifier 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, using interpolation.

../../../_images/modeling_modifiers_modify_data-transfer_normals-example.jpg

物体间传输法线,见 样例 blend 文件

See also

Transfer Mesh Data Operator

选项

../../../_images/modeling_modifiers_modify_data-transfer_panel.png

数据传递修改器。

要复制数据的网格物体。

如果未设置字段右侧的按钮,则在生成映射时会在全局空间中考虑来源与目标几何体,否则将在局部空间中对它们进行计算(即,好像两个物体的原点位于同一位置)。

混合模式

控制如何影响目标数据:

  • 全部

    替换全部目标数据 (注意还是要用到 混合系数 )。

    高于阈值

    只有当目标值高于给定的阈值 混合系数 时,才替换目标值。如何解释该阈值取决于数据类型,请注意,对于布尔值,此选项将充当逻辑与。

    低于阈值

    只有当目标值低于给定的阈值 混合系数 时,才替换目标值。如何解释该阈值取决于数据类型,请注意,对于布尔值,此选项将充当逻辑或。

    混合、相加、相减、相乘

    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).

混合因子

传递的数据与现有数据的混合系数(不支持所有数据类型)。

顶点组

Allows per-element fine control of the mix factor. Vertex group influence can be reverted using the small “arrow” button to the right.

生成数据层

这个修改器不能生成所需的数据层本身。如果需要,一旦选择了数据源数据集,该按钮将被用来生成匹配的目标层。

选择要传输的数据

To keep the size of the modifier reasonable, the kind of elements to be affected must be selected first (vertices, edges, face corners and/or faces).

映射类型

How is generated the mapping between those source and destination elements. Each type has its own options, see Geometry Mapping below for details.

数据类型

切换按钮的左列,以选择要传输的数据类型。

多层数据类型选项

In those cases (vertex groups, Color Attributes, UVs), one can select which source layers to transfer (usually, either all of them, or a single specified one), and how to affect destination (either by matching names, matching order/position, or, if a single source is selected, by specifying manually the destination layer).

UV孤岛处理精简

此设置目前只影响UV的传递。它允许避免一个给定的目标面获得来自不同源UV岛的UV坐标。将其保持在0.0意味着完全不处理岛屿。通常,像0.02这样的小值就足以获得良好的结果,但是如果您要从一个非常多面的的源映射到一个非常低面的目标,那么您可能必须大幅提高它。

用法

在使用这个修改器时要记住的第一个关键事项是它将 不会 创建目标数据层。为此,一旦选择了传输的源数据集, 生成数据层 按钮应始终开启。这也应该很好理解,在目标网格上创建的这些数据层 不是 修改器堆栈的一部分,这意味着如果删除了修改器,或者更改源数据选择,它们仍会继续存在。

几何映射

几何映射是一个给定的目标网格如何与源网格相关联。在这个过程中,一个目标顶点/边缘/…获取指定的源网格作为其数据源的一部分。要想用这个修改器得到良好的效果,理解透这个主题是至关重要的。

拓扑

最简单的选项,需两个网格有相同数量的对应几何元素,按次序(编号)匹配这些元素。使用情境如相同网格的副本,但存在不同形变。

一一映射

这些映射总是仅为一个源元素选择一个目标元素,通常是依据距离最短原则。

  • 顶点

    • 最近的点

      使用源网格最近的顶点数据。

      最近的边顶点

      使用源网格最近边的顶点数据。

      最近的面顶点

      使用源网格最近面的顶点数据。

    • 最近的顶点

      使用源网格中距离目标边最近的顶点所在边的数据。

      最近的边

      用源网格中距离目标边最近的边线数据(使用边线的中点计算)。

      最近的面边

      用源网格中距离目标边最近的面的边线数据(使用边线的中点计算)。

    面拐

    面拐不是真实的元素,类似连在特定表面的拆分顶点。因此匹配时,会同时匹配顶点(位置)和面(法向…)数据。

    • 最近的拐角和最匹配的法线

      从最近的源拐点中,选取与目标拐点 拆分 法向最相近的源拐点数据。

      最近的拐角和最匹配的面法向

      从最近的源拐点中,选取与目标拐点 法向最相近的源拐点数据。

      最近面的最近拐角

      使用最近来源面的最近拐点数据。

    • 最近的面

      使用最近的来源面数据。

      最佳法线匹配

      使用与目标法向最匹配的来源面数据。

插值映射

对每一个目标元素使用多个源元素,传递时对这些数据进行插值。

  • 顶点

    • 最近边插值

      使用最近来源边的最近点数据,对来源边的两个顶点数据插值。

      最近的面插值

      使用最近来源面的最近点数据,对来源面的顶点数据插值。

      投影面插值

      使用目标顶点沿自身法向投影到来源面的点数据,对该来源面的顶点数据插值。

    • 投影边插值

      这是一个采样的过程。沿目标边(对边的两个顶点都进行插值)发射多条射线,如果足以击中来源边,则将所有被击中的来源边数据插值到目标。

    面拐

    面拐不是真实的元素,类似连在特定表面的拆分顶点。因此匹配时,会同时匹配顶点(位置)和面(法向…)数据。

    • 最近的面插值

      使用最近的来源面的最近点数据,对来源面的所有拐角插值。

      投影面插值

      使用目标拐角沿自身法向投影到来源面的点数据,对该来源面的拐角数据插值。

    • 投影面插值

      这是一个采样的过程。从目标面(沿其自身法向)发射多条射线,如果足以击中来源面,则将所有被击中的来源面数据插值到目标。

拓扑映射

最大距离

When the “pressure stylus” icon button to the right is enabled, this is the maximum distance between source and destination to get a successful mapping. If a destination element cannot find a source one within that range, then it will get no transferred data.

这样可以将一个小的细分的模型传递到更复杂的模型上(比如将手部模型传递到 “整体模型” 上)。

光线半径

The starting ray radius to use when 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 return a hit then the radius is progressively increased until a positive hit or a limit is reached.

此属性用作准确性/性能控制;使用一个较小的半径将会更准确,然而如果Blender必须逐渐增加限制,将耗时更长。较小的值适合拥有很多细节的稠密网格,而较大的值适合简单的网格。