数据传递修改器

数据传递修改器将多种类型的数据从一个网格传输到另一个网格。数据类型包括顶点组、UV贴图、颜色属性、自定义法线……

传输的工作原理是在源网格的元素(顶点、边等)和目标网格的元素(顶点、边等)之间生成映射,或者以一对一的方式,或者使用插值将多个源元素映射到单个目标元素。

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

物体间传递法向,见 样例 blend 文件

选项

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

数据传递修改器。

要复制数据的网格物体。

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

混合模式

控制如何影响目标数据:

全部

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

高于阈值

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

低于阈值

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

混合、相加、相减、相乘

应用该操作,使用混合因子来控制要使用的源值或目标值量。仅适用于少数类型(顶点组、颜色属性)。

混合因子

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

顶点组

允许对混合因子进行每元素的精细控制。顶点组的影响可以使用右侧的小 "箭头" 按钮进行还原。

生成数据层

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

选择要传输的数据

为了保持修改器的大小合理,必须首先选择要受影响的元素类型(顶点、边、面角和/或面)。

映射类型

如何生成这些源元素和目标元素之间的映射。每种类型都有自己的选项,有关详细信息,请参阅下面的 几何映射

数据类型

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

多层数据类型选项

在这些情况下(顶点组、颜色属性、UV),可以选择要传输的源图层(通常,是所有源图层,还是单个指定的源图层),以及如何影响目标(通过匹配名称、匹配顺序/位置,或者,如果选择了单个源,则通过手动指定目标图层)。

UV孤岛处理精简

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

用法

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

几何映射

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

拓扑

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

一对一映射

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

顶点
最近的顶点

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

最近的边顶点

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

最近的面顶点

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

最近的顶点

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

最近的边

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

最近的面边

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

面拐

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

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

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

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

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

最近面的最近拐角

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

最近的面

使用最近的来源面数据。

最佳法线匹配

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

插值映射

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

顶点
最近边插值

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

最近的面插值

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

投影面插值

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

投影边插值

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

面拐

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

最近的面插值

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

投影面插值

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

投影面插值

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

拓扑映射

最大距离

启用右侧的 "压力手写笔" 图标按钮时,这是源和目标之间的最大距离,以获得成功的映射。如果目标元素在该范围内找不到源元素,则不会获得任何传输的数据。

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

光线半径

当对顶点或边进行 射线投射 时,要使用的起始射线半径。在网格之间传输数据时,Blender会执行一系列的光线投射来生成映射。Blender从这里定义的半径的射线开始,如果这没有得到任何结果,那么半径就会逐渐增加,直到得到一个正的结果或达到一个极限。

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