使曲面变形

本部分介绍如何在动画中使曲面发生变形。

创建簇

本部分介绍如何将簇作为单个图元进行变换和操纵。

“簇”是一个图元,可将任意 CV 和 DAG 节点列表按逻辑分组,以便将这些节点作为单个图元进行变换和操纵。可以将簇视为自身没有几何体,但参考其他几何体的一种对象类型。

创建簇

若要创建簇,请拾取要包含在簇中的所有对象和 CV,然后选择“Animation”>“Create”>“Cluster”。这些 CV 不必属于几何体的同一部分。系统将会创建一个簇节点,上方有一个 DAG 节点。变换该 DAG 节点时,也会变换该簇中的每个 CV。

可以移动簇的轴心点,然后使用“Transform”>“Rotate”“Transform”>“Scale” 变换它。可以相对于一个公共轴心点变换多个对象的 CV。

注:

簇不能包含其中没有 CV 的元素。例如,如果调用“New cluster”时拾取了一个相机或灯光,则簇中不会包含该相机或灯光。这是因为簇的作用是在对象几何体上创建变形,而相机和灯光不含几何体。

示例

  1. 若要创建簇,请首先创建两个基本球体(“Surfaces”>“Primitives”>“Sphere”)。
  2. 使用“Pick”>“Object” 拾取这两个球体,或拾取每个球体上的部分 CV。
  3. 选择“Animation”>“Create”>“Cluster”
    注:

    拾取一个对象时会将其所有 CV 放置在簇中。

  4. 打开 SBD 窗口(“Utilities”>“SBD”>“Open SBD Window”),确认已创建了簇。该簇会显示为上方有一个 DAG 节点的节点。DAG 节点框会亮显,而簇(一串葡萄的图标)就位于紧邻它下方的框中。

    对于组成簇的几何体节点(蓝色节点),几何体框周围有一个额外的蓝框,表明几何体的一部分包含在拾取的簇中。如果取消拾取簇,几何体框周围的蓝框就会消失。

该操作完成后,拾取列表中将仅包含该新簇的 DAG 节点。

注:

在簇中包含 DAG 节点而不是显式包含其 CV 的优势在于,之后将 CV 添加到 DAG 节点下的几何体时,会同时将该 CV 添加到簇中。

拾取簇

可以在任意建模窗口中选择几何体,以便拾取其对应簇包含该几何体的所有簇 DAG 节点。对于包含选定 CV 或 DAG 节点的任何簇,其 DAG 节点都会被拾取并亮显。可以通过下列四种方法之一拾取簇的 DAG 节点:

  1. 选择“Animation”>“Pick”>“Cluster”,然后选择属于该簇的任意 CV,此时整个簇将会亮显。
  2. 像拾取任何其他对象那样在 SBD 窗口中拾取簇的 DAG 节点。如果通过选择“Pick”>“Point Types”>“CV” 在 SBD 窗口中拾取簇,则会选择该簇中的所有 CV。
  3. 按照信息行中的名称选择簇 DAG 节点。
  4. 从“Cluster Editor”中选择簇 DAG 节点。

注意

在“Cluster Editor”窗口(“Animation”>“Editors”>“Clusters”)中创建簇之后,可以更改“Members”状态。

使用“Edit”>“Duplicate”>“Object” 复制簇时,将创建一个空节点。

应创建一个新簇,并使其为空。

然后使用簇编辑器将剪切项从原始簇复制到新簇中。这样将保留簇的百分比。对簇进行重新排序,使新簇紧邻原始簇之后。

使用“Edit”>“Duplicate”>“Object” 复制簇成员时,会将新对象与原始对象放在相同的簇中,而不会创建新簇。

请使用“Edit”>“Copy”“Edit”>“Paste” 创建簇和成员的副本。

编辑簇属性

如何编辑簇。

使用“Animation”>“Editors”>“Clusters” 可以添加或删除簇成员,在簇之间移动或复制成员,修改成员的百分比效果,在关节或叶 DAG 节点之间切换簇的百分比效果类型,或者对簇重排序以设置簇变换的应用顺序。

使用“Cluster Editor”窗口

打开“Cluster Editor”时,列表模式指定的所有簇(默认情况下拾取的或在 DAG 中有活动祖先的簇)都将加载到“Cluster Editor”中。系统将会以压缩形式(即成员不可见且按照全局排序列出)加载簇。

名称字段

可通过双击名称字段来更改簇名。

“Cluster Editor”中的按钮

使用“expand/compress”簇按钮可以展开簇以查看它的每个成员,或者收拢簇以便仅显示簇名。在展开簇时,会按照以下顺序显示成员:首先按名称字母顺序显示 DAG 节点,然后显示曲面 CV,最后是曲线 CV。

将簇展开以显示其成员时,其中一个成员可能是 DAG 节点。在本例中,DAG 节点名称的左侧有一个展开成员箭头。如果选择该箭头,将会展开该 DAG 节点,显示它下面的所有项(例如,其他成组的 DAG 节点或几何体 CV)。如果一个簇成员的所有同级项都包含在该簇中(例如,一个对象的所有 CV 都在该簇中),则该成员的名称右侧有一个压缩箭头。如果选择该箭头,父 DAG 节点会替换簇中的该成员及其同级项。

使用“percentage effect type”按钮可切换簇的百分比效果类型。“joint”百分比效果类型可通知簇将其百分比效果应用于簇上方第一个骨骼关节节点的变换。“Leaf node”百分比效果可通知簇使用紧邻它上方的 DAG 节点中的变换。

使用“pick-in-modeler”按钮可在建模工具中更新簇及其成员的拾取状态。

“lock-in-list”按钮可确保即使在建模工具中取消拾取簇,该簇也仍保留在“Cluster Editor”中。

该功能在“List Mode”>“picked mode”下很有用,在该模式下,“Cluster Editor”将不断更新以反映当前所选的项,因而被取消拾取的簇将会从编辑器中消失。

“multi/exclusive”按钮用于切换簇成员身份类型。独占簇不能包含其他任何簇的成员。

多簇可包含其他多簇中的成员。可以始终将独占簇设置为多簇;但是,只有在多簇的所有成员均不属于任何其他簇时,才能将其设置为独占簇。

簇百分比

如果展开一个簇的 CV 成员,则 CV 右侧会显示一个百分比。该数字表示簇对该 CV 产生的百分比效果。

簇百分比是对簇的简单扩展,可显著提升其功能。系统并不为簇的每个成员指定相同变换,而是为各 CV 簇成员指定一个百分比值。应用簇变换时,簇中的每个 CV 仅使用自己的簇变换百分比。该百分比仅应用于层次中的一个 DAG 节点,这取决于“Percentage Effect”类型(参见下文)。

例如,如果簇变换是在 X 方向平移 5.0,则具有 50% 效果的成员仅平移 2.5;具有 200% 效果的成员平移 10.0,而具有 0% 效果的成员仍位于原位置。

更改簇百分比

可以通过以下两种方式在“Cluster Editor”中更改 CV 的百分比效果:单击其当前百分比并键入新值,或通过按住鼠标键并左右移动使用小滑块。

若要一次更改簇中多个 CV 的百分比,请选择簇中要更改其百分比的所有 CV,再选择其中一个 CV 旁边的值,然后输入新值。所有选择的 CV 都将获得这一新的百分比值。

簇百分比效果类型

通过更改簇百分比效果类型,可以控制层次中该簇上方的哪个 DAG 节点将百分比应用于其变换。

如果选择“leaf”类型,则紧邻簇上方的 DAG 节点的变换将按照该簇百分比进行。层次中的所有其他 DAG 节点将应用完全变换。

选择“joint”类型时,将仅对簇上方的第一个关节 DAG 节点应用百分比效果。在层次中,该第一个关节节点上方和下方的其他所有 DAG 节点都会对簇成员应用其完全变换。

关节类型的百分比效果还有另一个特性:百分比效果仅应用于关节中当前变换与创建关节类型簇时关节节点的原有变换的差值。

如果一个簇的百分比效果类型设置为“joint”,而该簇上方没有关节节点,则其行为与其百分比效果类型设置为“leaf”时相同。

例如,假设您有一个简单链骨骼,其底部关节下有一个叶类型的簇,而且底部关节变换只是绕 Y 轴旋转 60 度。如果将簇百分比效果类型切换为“joint”,则该簇会“记住”Y 轴旋转。

现在,假设将该关节旋转增加到绕 Y 轴旋转 80 度。百分比效果为 50% 的成员将继承 60 度的原始变换,再加上 60 度与 80 度之差的一半,所以净变换是 70 度。百分比效果为 25% 的成员按 65 度旋转;而百分比效果为 -25% 的成员按 55 度旋转。

对于“leaf”类型的百分比效果,始终假设原始变换相同;也就是说,X、Y、Z 平移为 0,X、Y、Z 旋转为 0,且 X、Y、Z 缩放为 1。继续研究该示例,如果在旋转到 80 度之后,将簇百分比效果类型切换回叶节点,则受该簇影响的成员将移动。百分比效果为 50% 的成员现在将继承 80 度的一半,即净变换为 40 度;百分比效果为 25% 的成员将旋转 20 度;百分比效果为 -25% 的成员将旋转 -20 度。

下图显示了 SBD 窗口中的百分比。

多簇变换

模型中的所有簇都具有全局顺序。该顺序定义对包含在多个簇(多簇)中的 CV 应用簇变换的顺序。如果多簇仅包含平移变换,则该顺序无影响。

不过,如果多簇包含旋转或缩放变换,那么 CV 的实际位置将取决于它所属簇的顺序。

下列图说明了这一点。在第一个图中创建了一个平面并将其放在原点。然后,将该平面放入两个多簇,一个簇的轴心点位于该平面左侧,另一个簇的轴心点位于该平面右侧。

第二个图和第三个图显示了将上述簇分别旋转 60 度时的两种不同效果。在第二个图中,首先应用了轴心点位于平面左侧的簇,而在另一个图中,首先应用了轴心点位于平面右侧的簇。

全局排序可以用于实现分层簇效果。例如,假设您希望沿运动路径滑动鼻涕虫(请参见“Animation”>“Tools”>“Set Motion”,并使用“FLOW”选项)为其设置动画,然后使用簇变形对其眼柄顶部的眼球设置动画。在该例中,影响眼柄的簇变换应该在影响全身的簇变换之前进行。如果在创建眼柄簇之前设置“Animation”>“Tools”>“Set motion”,那么会按照错误顺序应用簇变换,动画显示将不正确。对这些簇重新排序,以便在流簇更正该问题之前显示眼柄的变形簇。

可以通过在“Cluster Editor”中更改簇的顺序,更改对模型应用这些簇的顺序。

在要移动的簇上单击并按住鼠标键,然后将其拖放到另一个簇的顶部。该操作会对簇进行重排序,使所选簇(正被拖动)相邻显示在它过去所在的簇前方(与此时未显示的任何其他簇无关)。将拖动的簇移到当前目标簇上时,目标簇将以白色亮显。“Cluster Editor”无需显示模型中的所有簇;显示的簇将按照正确顺序排列。

如果希望一次移动多个簇,请在开始拖动之前将其全部选中。选择的所有簇都会放在“目标”簇之前。

“Cluster Editor”菜单

Pick

None — 将取消对“Cluster Editor”中所有项的选择。

All — 将选择“Cluster Editor”中的所有项。

Update — 更新建模工具以反映“Cluster Editor”中的选择。

例如,如果在“Cluster Editor”中拾取了一个簇和两个簇成员,那么当选择“Pick”>“Update”时,将在建模工具中拾取一个簇和两个簇成员,而“Cluster Editor”中的其他项将会在该工具中取消拾取。如果发生选择冲突(例如,在“Cluster Editor”中仅在一个簇中选择了包含在两个簇中的 CV),则“Cluster Editor”中出现的第一个选择的状态优先级高。

List Mode

All — 将所有簇加载到“Cluster Editor”中。

Picked — 如果拾取一个簇或其 DAG 节点祖先之一,则该簇将显示在列表器中。

Member — 如果拾取了一个簇的任何成员或其子成员,则该簇将显示在列表器中。

注:

将一个簇加载到编辑器中后,可通过选择“lock”按钮将其锁定。这样,该簇就不受拾取列表中更改的影响。

Edit

Add — 在建模工具中拾取的各个项会添加到“Cluster Editor”中选择的各簇中。只能将曲线 CV 或曲面 CV、DAG 节点或其他簇添加到簇中。

Remove — 如果在“Cluster Editor”中选择了簇的簇成员,则会移除每个选定成员。

Collapse — 对于选择的每个簇,其任何选定成员都将直接应用该簇的变换,然后这些成员将从簇中移除。

Split — 对于在列表器中选择的每个簇,将会创建一个新簇(紧随原始簇之后),然后将原始簇中的所选元素移到新簇中。原始簇或新簇可能为空(如果选择了原始簇的所有簇成员或未选择任何簇成员)。新簇与原始簇类型相同(多簇或独占簇)。两个簇都分组到一个公共 DAG 节点下。

Copy — 在“Cluster Editor”中选择的每个簇成员都会添加到选择的各个簇中(不会从原始簇中移除它们)。百分比动画(如果有)也同时被复制。

Move — 将所选的每个簇成员移到选定簇中。只能为该操作选择一个簇。系统会将成员从所在簇中移除,然后放到所选簇中。

“Cluster Editor”的其他功能

在“Cluster Editor”中单击一个未选定的项会选择它,同时会取消对所有其他项(簇或成员)的选择。

若要选择多个项,请按住 键并单击要选择或取消选择的各项。也可以按住 键并单击一个未选定的项,然后按下鼠标键并执行拖动拾取来选择一组项。对选定项执行上述操作会取消拾取。

拖过列表器末尾会滚动列表器,并继续进行拾取或取消拾取。继续拖过窗口末尾会加速滚动。

如果只选择了成员,则将这些成员拖到另一个簇中时,会将其移到该目标簇中。此时会保留成员的百分比效果。

添加选择控制柄

在设置动画时,如何选择控制柄以便于区分模型的不同部分拾取它们。

  1. 创建一个对象。
  2. 选择要为其添加选择控制柄的对象或 DAG 节点。
  3. 选择“Animation”>“Create”>“New Selection Handle”

    对象或节点的旋转轴心点上会显示一个浅橙色十字和节点名称(十字与图标中的十字相似)。如果选择控制柄处于非激活状态,十字和节点名称将会变为红色。

    提示:

    如果您看不到所创建的选择控制柄,可以使用“Animation”>“Tools”>“Move Selection Handle”“Transform”>“Local”>“Set Pivot” 并打开其选项,将其移出该对象或节点。

示例

以圆柱体为例,可以将选择控制柄放在组件节点上,并使用它们将组件或圆柱体作为整体轻松激活。添加选择控制柄:

  1. 在 SBD 窗口中选择圆柱体的一个组件。
  2. 选择“Animation”>“Create”>“New Selection Handle”。旋转轴心点上会显示一个新控制柄。

    根据需要,继续添加新控制柄。

    选择“Windows”>“Information”>“Information Window”,了解有关刚刚插入到模型的选择控制柄的详细信息。

    若要删除一个选择控制柄,只需将其选中,然后选择“Delete”>“Animation”>“Delete Selection Handles”

    提示:

    由于“Transform”工具对选择控制柄拾取模式非常敏感,因此您可以非常轻松地仅变换“capB”等组件或整个圆柱体。

在动画中更改原始对象的形式

“Set key shape”允许您通过变换 CV,将一个对象变换为另一个对象。

可以创建两种类型的插值:

Keyshape

通过为基本对象的 CV 设置动画,使其与目标对象的位置匹配来创建“Key shape”插值。

ShapeShifter

通过将基本对象的 CV 放入簇,然后提供选择变换量的方法来创建“ShapeShifter”插值。ShapeShifter 插值还可以用于将各种目标形状混合在一起。

  1. 选择“Animation”>“Tools”>“Set key shape”或选择其图标。

    系统将提示:

    Pick the curves or surfaces which are to change shape. Press GO when ready.
    
  2. 拾取曲线或曲面。系统将提示:
    Enter a keyframe value(s) for the picked item(s) current shape (last frame set is 0):
    
  3. 键入一个数字并按 Enter 键。系统将显示以下消息:
    Setting keyframes for 4 CVs of object (curve#2)
    

    系统将提示您拾取要匹配的曲线或曲面,并为这些元素设置关键帧。

本部分介绍如何使用 keyshape 插值

  1. 从几何体的原始部分开始,将其复制任意次数。
  2. 通过对每个副本的 CV 或 DAG 节点应用“Transform”变换,操纵每个副本的形状。
  3. 在选择“Set key shape”时,系统会提示您选择要更改形状的曲线或曲面,然后输入对象应保留原始形状的关键帧时间。

    然后,系统会提示您选择其他形状,并输入原始对象采用这一新形状的关键帧时间。可以继续选择新形状,直到选择了所有已修改的副本并为其设置了关键帧时间。

  4. 选择了原始几何体要采用的其他形状后,原始几何体将在选择过程中立即接受该形状,并失去其原始形状。
    提示:

    如果希望保留原始几何体形状,请在调用该功能之前先复制原始对象,或为对象的原始形状设置关键帧时间,以便可以通过查看关键帧时间,使对象恢复到其原始形状。

系统通过为原始对象的每个 CV 设置动画来创建关键形状动画。默认情况下,CV 之间的插值(将一个关键形状变换为另一个关键形状的过程)是平滑的插值。可以通过在“Action Window”中修改 CV 的动画曲线的切线,来调整此插值。

完成关键形状动画后,如果您对结果不满意,可以删除该动画并重新开始。但是,在删除该动画之前,可能需要恢复变换对象的原始形状。如果您为原始形状键入了关键帧时间,则可以选择“Animation”>“Show”>“View Frame” 并键入该关键帧的时间来轻松完成恢复。

如果您对动画感到满意,可以删除中间对象,因为其形状现在已记录为关键帧。

“Set Key Shape”的工作原理

可以使用任意数目的插值形状。每个形状必须有相同的拓扑。建议您复制原始几何体(第一个关键帧的几何体形状),然后操纵所复制几何体以获得后续关键帧需要的形状。如果正在对曲线形状进行插值,可以使用“Curves”>“New curve”并在选项窗口中将“Knot Spacing”设置为“Uniform”,确保使用相同拓扑创建曲线。

变换原始对象所使用的对象必须与原始对象具有相同拓扑。具有相同拓扑的曲面在 U 和 V 参数方向上的 CV 数相同。曲线必须具有相同数量的 CV。

示例

在此示例中,使用某个球体创建插值动画,该球体在 10 个关键帧中采用菱形,在接下来的 10 个关键帧中还原为原始形状,在之后的 10 个关键帧中又还原为菱形。

放置两个球体

  1. 选择“Surfaces”>“Primitives”>“Sphere” 并在“Left”窗口的 -5,0,0 位置放置一个球体。
  2. 在 3,0.0 处放置另一个球体。几何体的这两个部分的拓扑相同。

缩放和移动球体

  1. 在第二个球体处于激活状态时,选择“Transform”>“Scale” 并键入 4,将该球体缩放为 4 个单位值。
  2. 选择“ObjectDisplay”>“Control” 并确保“CVs”已设置为“ON”(通过复选标记指示)。单击“GO”。
  3. 不拾取任何对象以确保没有几何体处于激活状态,然后选择“Pick”>“Point Types”>“CV”,并使用边界盒方法仅选择第二个球体顶部的第一行 CV。
  4. 当 CV 处于激活状态时,选择“Transform”>“Move” 并使用 ,沿 Z 轴向上移动这些 CV 以便将球体顶部拉伸为尖形。
  5. 不拾取任何对象以确保没有几何体处于激活状态。选择第二个球体底部的最后一行 CV。
  6. 当 CV 处于激活状态时,选择“Transform”>“Move” 并使用 ,沿 Z 轴向下移动这些 CV 以便将球体底部拉伸为尖形。
  7. 不拾取任何对象以确保没有几何体处于激活状态。选择第二个球体的中间一行 CV。
  8. 当 CV 处于激活状态时,选择“Transform”>“Scale”,然后使用 放大这些 CV,以便在该形状的中部创建凸起,使其类似于图中所示的菱形。

    原始球体定义起始形状,修改后的球体定义最终的插值形状。尽管在此示例中只使用了两个形状,但是可以使用多个插值形状。

设置关键形状

  1. 不拾取任何对象以确保没有几何体处于激活状态,然后选择“Animation”>“Tools”>“Set key shape”。系统将提示:
    Pick the curves or surfaces which are to change shape. Press GO when ready.
    
  2. 选择第一个球体。选中的球体将会亮显,指示其形状将发生改变的对象。

    如果包含了其他几何体动画,需要继续选择几何体来响应提示。

    活动窗口的右下角会显示一个“GO”小图标,而系统会继续提示:

    Pick the curves or surfaces which are to change shape. Press GO when ready.
    
  3. 单击“GO”图标继续,系统将提示:
    Enter a key frame value(s) for the picked item(s) current shape (last frame set is 0):
    
  4. 键入 1 后接一个空格,然后键入 20,并按 Enter 键。

    这表示将为关键帧 1 和 20 使用初始球体的形状。系统将提示:

    Pick the curve or surface to match.
    
  5. 选择第二个球体。原始几何体的形状会更改为与所选几何体匹配。

    如果要匹配的曲面与要改变形状的曲面的拓扑不匹配,将显示错误消息,系统提示:

    Pick the curve or surface to match. 
    

    如果所选曲面的拓扑相匹配,系统将提示:

    Enter a key frame value(s) for this shape (last frame set is 20):
    
  6. 键入 10 后接一个空格,然后键入 30,并按 Enter 键。

    这表示将为关键帧 10 和 30 使用所操纵球体的形状。

  7. 选择“Animation”>“Show”>“Playback” 以查看插值动画。

    在回放期间,在帧 1 到 帧 10 期间,初始球体形状将会插值到处理后的球体的形状。然后,从帧 10 到帧 20,插值回原始形状,之后从帧 20 到帧 30,再次恢复为处理后的形状。

本部分介绍如何创建 ShapeShifter 插值

在使用“ShapeShifter”时,可以组合使用数量不限的表达式和形式,以便将对象变换为各种形状,还可以混合面部表情。

ShapeShifter 通过使用簇和表达式变换 CV,将一个形状变换(或“变形”)为另一个形状。这样,可以选择在任何特定时间应当应用的插值量,并将多个不同的目标形状混合在一起。因为使用了簇,所以基本几何体可以是多边形或 NURBS。源对象和目标对象也可以是层次对象,只要其层次相匹配即可。

“ShapeShifter”显著简化了复杂的面部动画。例如,如果已给出基本(或无表情)面部以及带微笑和皱眉表情的其他面部,可以创建一个 75% 微笑、50% 皱眉的面部,并控制各个目标之间的插值时间。

插值通过确定使源对象中的 CV 移至目标对象中对应的 CV 的平移完成。因此,两个对象必须共享相同的拓扑(即 U 和 V 方向的 CV 数必须相同)。

交互很简单 – 为每个目标创建一个“控制”对象。此对象的 X 平移确定从基础对象到目标对象的过渡量,当然,可以为其设置动画。例如,要使无表情面部在 2 秒钟内放松微笑,只需将控制对象移到滑块左侧,在第 0 帧设置关键帧,然后将控制对象设置到右侧较远处,并在第 60 帧设置另一个关键帧。在“Action Window”中为控制对象的 X_translation 通道设置动画插值(或使用表达式),这样就可以了。

示例

以下示例说明如何使用“ShapeShifter”组合来自两个单独头部表情的特征。

中间的头部组合了另外两个头部的特征。左侧头部已被操作进行夸张小魔鬼的下巴和触角。右侧的头部有一个尖头以及一对非常酷的耳朵。

通过移动顶部滑块的控制对象,可以使中间的头部获得右侧头部的一些特征。请注意中间头部如何也变为尖头,并且已开始显露自己的一对耳朵。可以通过滑块位置控制形状变化量。

在开始移动底部滑块的控制对象时,请注意中间头部如何开始获得左侧头部的一些特征,而且保留右侧头部的效果。

注:

源对象和目标对象必须共享相同的拓扑(UV 方向的 CV 数必须相同)。插值通过确定使源对象中的 CV 移至目标对象中对应的 CV 的平移完成。

设置选项:

  1. 选择“Animation”>“Tools”>“Set Key Shape” ,然后单击选项框的“Interpolation”部分中的“ShapeShifter”。
  2. 当系统提示您选择源对象时,选择左侧头部。
  3. 当系统提示您选择目标对象时,选择中间头部。
  4. 在提示输入控制对象名称时,键入 chin

    此时将创建一个包含 3 个簇的 DAG 节点以及一个用于控制对象的 DAG 节点。

    注:

    如果选中“Create control geometry”,则会在控制对象的 DAG 节点中包含三角形对象。

    注:

    如果选中“Create slider geometry”,还会创建一个包含表示滑块条的几何体的 DAG 节点,以及一个名称标注对象。此时将在模板状态下创建最后一个对象。

层次 ShapeShifter 插值

还可以在由许多成组几何体节点组成的对象之间创建“ShapeShifter”插值。

对于分组对象,会按照如下方式创建“Shape Center”

下面是一个具有两个不同层次的 SBD 视图示例,仍然可以将其用于“ShapeShifter”插值。在每个对象中按照从左到右的顺序匹配几何体节点。

使用变形特性创建簇

在“Deformation Control”窗口中可以设置变形帧的参数,然后将变形帧附加到对象。对于曲线、坐标轴、骨骼或角色生成器变形,将变形帧附加到对象后,可以通过操纵变形帧来交互地修改对象的曲面。

了解在哪些情况下使用变形

需要更改对象的形状时,可以修改控制曲面形状的 CV,通常一次修改一个 CV。因此,您可以灵活地更改对象形状,但如果曲面或对象是使用很多 CV 构建的,那么该过程很快会变得耗时而枯燥。

“Deformation control”允许您创建 CV 组(或簇),从而在更高级别操纵 CV。这类似于推拉曲面,例如在油泥建模中。

共有四种类型的变形帧:

若要将变形帧附加到模型,屏幕上应显示“Deformation Control”窗口。将变形帧附加到模型后,可以关闭该窗口。

注:

“Deformation control”工具对复制对象不起作用。这是因为变形通过簇实现,而簇应用于对象的 CV。复制对象与其源对象共享相同 CV,所以不能跨对象副本分布变形。

注:

“Deformation control”工具对具有构建历史的对象不起作用。这是因为构建历史已经在控制对象的形状。

“Deformation Control”窗口

选择“Animation”>“Editors”>“Deformation Control” 可打开“Deformation Control”窗口。

“Deformation Control”窗口会更新,反映对四种变形之一应用的参数。下图显示了具有默认设置的“Deformation Control”窗口。

在该窗口中设置的所有参数都会应用于将附加到模型的帧。附加帧之后,改变参数不会影响对已附加到模型的帧所做的任何更改。

如果希望更改参数以改变变形效果,可使用“SKELETON Frame Types”和“CHARACTER BUILDER Frame Types”窗口中的“Modify”选项。否则,必须首先打断当前附加到对象的帧,设置新参数,然后将新帧附加到模型。在某些情况下,您可能希望离开附加到模型的原始帧,设置新参数,然后再将新帧附加到模型。

“Deformation Control”窗口中的按钮

“Frame Control”和“Edit”按钮位于“Deformation Control”窗口的底部。单击并按住一个按钮可显示关联的菜单。

“Edit”按钮

Reset — 将当前帧类型的所有变形参数重置为系统默认值。

Frame Control

帧类型定义了创建的变形簇类型。对于某些帧类型,需要创建用于附加簇的帧对象。

例如,对于曲线帧类型,帧为曲线。对于骨骼或角色生成器帧类型,帧为骨骼。轴帧类型不需要显式帧。

显示的菜单项取决于指定的帧类型。对于所有帧类型都会显示下列项:

Attach — 附加指定帧类型的帧变形。

如果调用“Attach”功能时没有对象处于激活状态,系统会提示您选择要为其附加帧的对象。

Detach — 从模型打断一个帧,然后取消附加该帧的对象应用的所有变形。

从模型打断一个帧后,系统将会保留该帧,但删除所有关联的变形簇,包括 CHARACTER BUILDER 帧的所有凸起簇。

注:

“AXIS”变形的打断功能实质上与选择或拾取关联簇然后使用“Delete”>“Delete Active” 将其删除的结果相同。

Collapse — 从模型打断变形帧,并将该帧定义的所有变换塌陷到附加的模型。

通过该方法,可以在删除帧时保留模型上的变形效果。系统会保留 SKELETON、CURVE 或 CHARACTER BUILDER 帧,但会删除所有关联的簇。

如果选择“SKELETON”帧类型,则“Frame Control”菜单中包含“Modify”选项。对于“CHARACTER BUILDER”帧类型,“Frame Control”菜单中包含下列选项:

Character Builder Frame Types

Modify — 修改帧上 CV 的当前附加方式。当您要在“Deformation Control”窗口中更改某些选项,并希望已执行的附加反映新设置时,使用该项很方便。该操作实质上与执行“Detach”后再执行“Attach”相同。

Set Attributes — 将当前显示的角色关节和凸起属性存储在拾取的关节上。

如果将“Hierarchy Depth”设置为“BELOW”或“PARTIAL BELOW”,则系统会根据“Hierarchy Depth”设置,将属性存储在所拾取关节下的所有关节上。

Load Attributes — 使用之前在所拾取关节上设置的值更新“Deformation Control”窗口。

Remove Attributes — 从选定对象移除之前设置的所有属性。

变形选项

Frame Type

可用于指定将用于变形的帧类型。单击“Frame Type”标题的右侧可以显示可用帧类型的菜单。

选择帧类型后,“Deformation Control”窗口会自动更新,反映适用于该帧类型的参数。

下文将介绍针对选择的每个“Frame Type”显示的不同参数。

Axis deformation Frame Type

“AXIS”变形是可使用的最简单变形。该变形可创建单个簇以实现变形效果。“AXIS”变形的最大用途是执行弯曲、扭曲或锥化操作。

系统会根据簇中 CV 成员与平面的距离来计算要在这些成员上应用的百分比效果。该平面的位置由“AXIS”变形参数定义。

当“Frame Type”设置为“AXIS”时,“Deformation Control”窗口将更新,如下图所示。

帧参数

Deformation Axis

“Deformation Axis”参数用于指定百分比效果将改变的方向。

单击并拖动这些滑块的底部以选择值,或单击以键入一个新值,然后按 Enter 键。

“interpolation”距离计算为对象 CV 与以变形轴为法线的平面之间的世界空间距离。通过在轴方向投影边界盒并找到效果为 0% 的点来计算该平面的原点。理解上述过程的最简单方法是将圆柱体想象为变形对象。变形轴处于圆柱体长轴的方向。当百分比范围为 0.00 至 100.00 时,原点将位于圆柱体底部的中心。每个“Deformation Axis”参数均可编辑,而且可指定任意变形轴。

百分比效果参数

“Interpolation”值和“Min/Max Percentage”值的“Percentage Effect Parameters”与“AXIS”帧类型和“CURVE”帧类型的“Percentage Effect Parameters”相同。

Interpolation

确定如何在 CV 簇的成员之间分布百分比效果。在“Interpolation”标题的右侧单击可显示以下菜单。

LINEAR — 根据“Min Percentage”和“Max Percentage”值之间的线性插值来分布簇成员的百分比效果。

EXPONENTIAL — 在“Min Percentage”和“Max Percentage”值之间按指数分布簇成员的百分比效果。

SINE — 根据“Min Percentage”和“Max Percentage”值之间的正弦曲线插值分布簇成员的百分比效果。

下图给出了这三种插值类型。

Min/ Max Percentage

确定簇中 CV 可具有的百分比效果范围。这些值可以是正值或负值,包括值 0.00。虽然滑块控制的范围是 -100.00 到 100.00,但可以在参数字段中直接键入该范围以外的值。通过对换值,使“Min Percentage”大于“Max Percentage”,能够有效反转上图所示曲线的方向。

使用 AXIS 帧类型的百分比效果参数

  1. 创建一个圆柱体基本体并将其放在 0,0,0 处。
    注:

    该位置只是举例。可以将实际几何体放置在空间中的任意位置,还可以指定适用的变形轴。

  2. 选择“Transform”>“Non-p Scale” 将圆柱体高度非等比缩放到大约 8 个单位。
  3. 不拾取任何对象以确保没有几何体处于激活状态。
  4. 选择“Animation”>“Editors”>“Deformation control”显示“Deformation Control”窗口,确保“Frame Type”参数设置为“AXIS”。其他所有默认设置应该生效。
  5. 单击窗口底部的“Frame Control”按钮,然后从菜单中选择“Attach”。此时将显示“Go”图标,并且系统提示:
    Pick uninstanced surface(s) to deform, then GO.
    
  6. 选择要变形的曲面。选中的曲面将会亮显。
  7. 选择所有要变形的曲面后,单击“GO”。系统的响应是提示一条信息,指出正在创建轴变形。

    当提示消失时,表明轴变形帧已附加到活动对象(在本例中是圆柱体)。

变换簇

  1. 选择“Transform”>“Rotate” 并使用 绕 Y 轴旋转。注意曲面上的效果。尝试使用其他轴旋转和缩放功能进行试验。
  2. 不拾取任何对象以确保没有几何体处于激活状态。
  3. 选择“Animation”>“Pick”>“Cluster”,然后在模型曲面上选择任意 CV 以选择簇。

    也可以在 SBD 窗口中使用“Pick”>“Object” 或“Animation”>“Pick”>“Cluster”直接选择簇。

  4. 选择“Delete”>“Delete Active” 删除活动簇,使模型返回到其原始状态。

进行更多试验

使用 Y 轴扭曲

  1. 单击“Edit”按钮并选择“Reset”,重置“Deformation control”参数。
  2. 将“Deformation Axis”参数更改为 0,1,0,然后将新的变形帧附加到圆柱体。
  3. 单击并拖动鼠标中键,围绕 Y 轴应用旋转变形。现在,圆柱体绕 Y 轴扭曲。

使用 Y 轴锥化

  1. 单击“Edit”按钮并选择“Reset”重置“Deformation control”参数。
  2. 将“Deformation Axis”参数更改为 0,1,0,然后将新的变形帧附加到圆柱体。
  3. 使用“Transform”>“Non-p Scale” 沿 X 或 Z 非等比缩放圆柱体,圆柱体将在相应方向锥化。

曲线变形

在应用“CURVE Frame Type”时,使用一条普通 NURBS 曲线作为影响变形的“CURVE”帧。将“CURVE”帧曲线附加到对象后,操纵“CURVE”帧可按相同方式将对象变形。在复杂变形中,可以将多个“CURVE”帧附加到一个对象,每个帧控制一个变形层。初步完成初始形状后,可以轻松对其进行细化并应用于较大模型。

将“CURVE”帧附加到对象后,会为帧曲线上的每个 CV 创建一个变形簇。然后,帧的 CV 变为控制柄,可用于操纵帧。

如果曲线变形的“Effect Range”设置为“MULTIPLE CLUSTER”,则帧上的每个控制柄都会影响曲面上的所有 CV,与各 CV 距离较近的控制柄比距离较远的控制柄影响更大。

如果“Effect Range”为“SINGLE CLUSTER”,则曲面上每个 CV 仅受与其距离最近的控制柄的影响。

示例

本示例显示了原始曲面,以及来自“CURVE Frame Type”所生成曲面的复制曲线。为了创建簇,系统会将曲线帧上的每个控制柄与曲面上的一个或多个 CV 进行匹配。当“Effect Range”选项设置为“SINGLE CLUSTER”时,系统会通过将曲面 CV 与世界空间中距其最近的帧 CV 进行匹配来确定匹配。

在本示例中,“CURVE Frame Type”是带七个 CV 的自由形式曲线。其中三个 CV 不像另外四个那样靠近某个 CV。因此,会创建三个空簇。这些簇显示在 SBD 窗口中,但对曲面不产生影响。

创建簇后,“CURVE”帧曲线的控制柄 CV 包含在簇中。因此,可以使用“Animation”>“Pick”>“Cluster”,然后单击影响要操纵的簇的控制柄 CV,来轻松选择任何簇。

注:

对象变形因附加“CURVE”帧时它相对于对象的位置而异。这是因为各个簇的轴心点位于影响该簇的控制柄的 CV 位置。

注:

在您尝试了解“CURVE”帧变形的过程中,首先尝试将“CURVE”帧与对象中心对齐,然后通过将“CURVE”帧附加到其他位置的对象进行试验。或者,也可以拾取要影响的任一簇的控制柄,然后选择“Transform”>“Local”>“Set Pivot”,将该簇的轴心点重新定位。

选择“CURVE Frame Type”时,“Deformation Control”窗口将更新,如下图所示。

帧参数

Effect Range

单击标题右侧可显示“Effect Range”菜单。

MULTIPLE CLUSTERS — 每个控制柄影响对象曲面上的所有 CV。

距离 CV 最近的控制柄产生最大影响,与 CV 的距离越远,其影响就越小。

SINGLE CLUSTER — 确保对象曲面上的 CV 仅受与其距离最近的控制柄影响。

百分比效果参数

Interpolation

确定如何在 CV 簇的成员之间分布百分比效果。

“Interpolation”选项与“AXIS Frame Type”的选项相同。

与帧 CV 距离最近的 CV 具有最大百分比。与帧 CV 距离最远的 CV 具有最小百分比。如果最小值是 0,则最远的 CV 不会加入到簇。

使用 CURVE 帧类型的百分比效果参数

  1. 创建一个圆柱体基本体并将其放在 0,0,0 处。
  2. 选择“Transform”>“Non-p Scale” 将圆柱体高度非等比缩放到大约 8 个单位。
  3. 选择“Curve Edit”>“Create”>“Duplicate Curve” 复制圆柱体曲面上与垂直轴在 0,0,0 处对齐的垂直等参曲线。(可以复制任何其他垂直等参曲线,然后将其移至世界空间 0,0,0 处)。
  4. 不拾取任何对象以确保没有几何体处于激活状态。
  5. 选择“Animation”>“Editors”>“Deformation Control” 显示“Deformation Control”窗口,确保将菜单中的“Frame Type”设置为“CURVE”。其他所有默认设置应该有效:
  6. 单击窗口底部的“Frame Control”按钮,然后从菜单中选择“Attach”。此时将显示“Go”图标,并且系统提示:
    Pick uninstanced surface(s) to deform, then GO.
    
  7. 选择要变形的曲面。选中的曲面将会亮显。
  8. 选择所有要变形的曲面后,单击“GO”。系统将提示:
    Select curve(s) to use as frame, then GO
    

    选择要用作帧的曲线(在本示例中是复制的等参曲线)。选中的曲线将会亮显。

  9. 单击“Go”,然后不拾取任何对象以确保没有几何体处于激活状态。
  10. 选择“Pick”>“Object” 并在圆柱体曲面和“CURVE”帧曲线的至少一部分上拖出拾取框,将这两个对象激活,然后直接在圆柱体曲面的一个边上单击以取消对该曲面的选择,此时将仅激活“CURVE”帧曲线。

变换簇

“CURVE”帧附加到对象后,可以将其移到任意位置,而簇的轴心点仍然位于最初创建“CURVE”帧的位置。虽然可以随时在任意位置设置任一簇的轴心点,但使用该方法可以轻松将它们与簇中心对齐。若要始终保持帧与对象的相对位置不变,只需将它们组成一组。

  1. 选择“Transform”>“Move” 并使用 将“CURVE”帧曲线移到圆柱体曲面的右侧,在此处更加便于操纵该曲线。
  2. 不拾取任何对象以确保没有几何体处于激活状态。
  3. 选择“Animation”>“Pick”>“Cluster”,然后从“CURVE”帧曲线的顶部选择附加到第二个控制柄的 CV。

    选择簇之后,控制柄以及该控制柄控制的所有 CV 都将会亮显。

  4. 选择“Transform”>“Scale” 并使用 将簇放大,使曲面变形。

    观察在其他建模窗口中变形的效果。簇中所有 CV 与帧的距离都相等,所以 CV 之间的百分比效果不存在差别。

打断曲线帧

  1. 不拾取任何对象以确保没有几何体处于激活状态。
  2. 单击“Deformation Control”窗口底部的“Frame Control”按钮,然后从菜单中选择“Detach”。

    系统将提示:

    Pick frame(s) to detach, the GO
    
  3. 选择要从相应对象中打断的“CURVE”帧。选择的“CURVE”帧将会亮显。
  4. 选择要打断的帧之后,单击“Go”继续执行“Detach”操作。
  5. 单击“Go”之后,将会从附加了所选帧的对象中打断这些帧,对象本身恢复其原始形状。此时将保留原始的“CURVE Frame”曲线。

进行更多试验

  1. 使“CURVE”帧曲线仍位于在圆柱体曲面之外的当前位置,然后重新将其附加到圆柱体。
  2. 确保没有几何体处于激活状态,选择“Animation”>“Pick”>“Cluster”,然后从“CURVE”帧曲线的顶部选择附加到第二个控制柄的 CV。

    选择簇之后,控制柄以及该控制柄控制的所有 CV 都将会亮显。

  3. 选择“Transform”>“Scale” 并使用 将簇放大,使曲面变形。

    由于所有 CV 与帧曲线的距离不再相等,所以请注意圆柱体外围的缩放百分比效果如何从“Min Percentage”0 变化到 100。

  4. 从圆柱体打断“CURVE”帧,使圆柱体恢复其原始形状。
  5. 重新将“CURVE”帧附加到圆柱体。
  6. 选择各个控制柄,然后使用“Transform”>“Move” 将曲面变形。使用“Transform”>“Rotate”“Transform”>“Non-p Scale” 进行试验。
    注:

    请记住,如果实现了要保留的效果而且不再需要簇,可以从“Frame Control”菜单中选择“Collapse”从对象打断“CURVE”帧,而该对象不会失去变形变换。

其他提示

创建剪切效果

可以使用下列任一变形技术模拟剪切效果。

骨骼变形

使用“SKELETON”帧变形可以将现有骨骼附加到一个对象,有效地创建灵活的身体。然后,可以通过仅修改骨骼来操纵身体,从而显著提高反馈速度。系统会为“SKELETON”帧上的每个关节或骨骼创建一个簇。这些簇包含环绕关节或骨骼的所有 CV。

注:

通常,可使用 IK 控制柄操纵“SKELETON”帧。

指定了“SKELETON Frame Type”时,“Deformation Control”窗口会更新:

帧参数

Effect Area

单击标题右侧可显示“Effect Area”菜单。

使用这些选项可以选择是按“JOINTS”还是“BONES”对 CV 分组。

BONES — 将最接近每个骨骼的 CV 集合到簇中,该簇将分组到该骨骼的上部关节 DAG 节点下。“BONES”是默认选项而且最常用。

JOINTS — 关节周围区域中的 CV 集合到簇中,该簇将分组到该关节 DAG 节点下。

Hierarchy Depth

单击标题右侧可显示“Hierarchy Depth”菜单。

因为要指定几何体在骨骼中每个关节或骨骼周围的行为,所以限制受当前变形操作影响的层次中关节数量通常很有用。

使用下列选项可以指定在附加过程中要考虑包含多少个关节级别。

NONE — 仅考虑将当前所拾取的关节作为变形帧。

BELOW — 包含骨骼层次中所拾取关节和它下面的所有关节。

PARTIAL BELOW — 包含所拾取关节和它下面用户指定数量的关节级别。

例如,如果拾取一个关节并指定两个级别的“PARTIAL BELOW”深度,将最多影响三个关节。

百分比效果参数

Percentage

确定簇中所有 CV 将具有的效果的百分比。该值可以是正值或负值。值 0.00 将导致变形帧根本不产生影响。

角色生成器变形

“CHARACTER BUILDER Frame Type”延伸了“SKELETON”变形,用于指定附加到骨骼的几何体如何绕关节弯曲,以及如何在两个关节之间凸起。

例如,绕关节弯曲能够使手臂几何体在肘部平滑变形(使用弯曲和蜷缩完成),而在两个关节之间凸起可以模拟在手臂弯曲时放松和紧张的二头肌。

指定了“CHARACTER BUILDER Frame Type”时,“Deformation Control”窗口的更新如下所示。

如果选择了“CHARACTER BUILDER”,则当您单击“Frame Control”按钮时,菜单中还包含下列项。

Modify — 修改帧上 CV 的当前附加方式。当您要在“Deformation Control”窗口中更改某些选项,并希望已执行的附加反映新设置时,使用该项很方便。该操作实质上与执行“Detach”后再执行“Attach”相同。

注意事项

如果已在多个附加操作中使用骨骼层次,或者要修改的层次范围大于执行附加时使用的层次,那么“Character Builder”中的“Modify”操作可能无法正常运行。

在“Animation”>“Editors”>“Deformation Control”中,如果下列条件都成立,则一次只能对骨骼的一个部分执行“Modify”操作:

  • 在骨骼的上部设置了“Hierarchy”时使用了“Frame Control”>“Attach”
  • 之后,在骨骼的下部设置了“Hierarchy”时又执行一次“Frame Control”>“Attach”

至少有一个关节属于两个层次。

Set Attributes — 在所拾取关节上存储当前显示的角色关节和凸起属性。

如果“Hierarchy Depth”设置为“BELOW”或“PARTIAL BELOW”,则系统会根据“Hierarchy Depth”设置,将属性存储在所拾取关节下面的关节上。

Load Attributes — 使用之前在所拾取关节上设置的值更新“Deformation Control”窗口。

Remove Attributes — 从选定关节移除之前设置的所有属性。

帧参数

Hierarchy Depth

这些选项与“SKELETON Frame Type”的选项相同,用于指定在附加过程中要考虑多少个关节级别。详细信息请参见“骨骼变形”。

Bulging

该切换参数指示是否应对所选层次中的关节应用凸起效果。关节上的“Bulging”表明为该关节与其下面的相邻关节之间的几何体创建了凸起簇。

“Bulging”为“ON”(由复选标记指示)时,“Deformation Control”窗口会扩展,包含关节和凸起属性、凸起定义以及凸起断面编辑器。

关节属性

这些选项用于控制关节周围的几何体 CV 在该关节弯曲和蜷缩时的平滑程度。

“Upper Bound”和“Lower Bound”

“Upper Bound”和“Lower Bound”的值用于指定关节的变换将影响这些边界内 CV 的程度。换句话说,这些边界定义骨骼关节周围将发生弯曲和蜷缩的区域。

“Upper Bound”定义了骨骼上从当前关节到其父关节的百分比。

“Lower Bound”定义了每个骨骼上从当前关节到每个子关节的百分比。

上边界的 CV 接收 0% 的变换(上部骨骼的全部效果),而下边界的 CV 接收 100% 的变换(下部骨骼的完全效果)。中间 CV 的百分比根据所选插值而逐渐变化。正是上述百分比渐变生成了关节旋转时几何体的平滑弯曲和蜷缩效果。

值范围为 0.0 到 1.0,表示上部骨骼和下部骨骼的长度百分比。例如,一个关节的上边界和下边界分别为 0.25 和 0.333,则会为从关节上部骨骼的后四分之一到关节下部骨骼前三分之一的所有 CV 指定渐变百分比。

Interpolation

关节的“Upper”与“Lower”边界之间的“Interpolation”表示包含在关节下簇中的 CV 的百分比效果如何渐变。对于“AXIS”和“CURVE”变形帧类型作为百分比效果参数的插值选项是相同的。

凸起属性

凸起的定义取决于具体项目,存储在当前项目的“misc_data”文件夹下的“bulge_types”文件中。项目中的所有 Wire 文件访问同一凸起。如果打开“Deformation Control”窗口时该文件不存在,系统会使用默认凸起类型创建它。

因为凸起主要定义几何体在骨骼上不同位置的行为,所以它们由有角度断面组成。每个断面表示在骨骼周围特定角度处凸起效果的轮廓曲线。

Bulge Type

单击标题右侧可显示“Bulge Type”菜单。

该菜单显示当前满足“bulge_types”文件中凸起定义的凸起。拾取凸起名称将其选中。

Scale Factor

该滑块用于增强或减弱给定凸起的效果。

Zero Degree Section

说明骨骼周围的哪一方向表示零度。由此,您可以指定骨骼上的哪一切割可以接收在“Bulge Section Editor”中的“Zero Degree Section”中绘制的凸起轮廓。单击标题右侧可显示“Zero Degree Section”菜单。

“X LOCAL AXES”、“Y LOCAL AXES”和“Z LOCAL AXES”选项是指下一层关节的局部坐标轴(详细信息请参见“Basic Tools”中的“Transform”>“Local”>“Set Local Axes”)。

Section Placements

确定在“Attach”过程中使用“Bulging”创建的簇的位置。单击标题右侧可显示一个菜单,从中可以选择下列项:

BULGE DEFINITION — 完全按照“Bulge Section Editor”中的定义创建簇,为每个断面中的每个关键点创建一个簇。

EVENLY SPACED — 根据在“Sections Around”和“Sections Along”滑块中指定的值,围绕并沿着骨骼均匀分布凸起的簇位置。

当您从弹出菜单中选择“EVENLY SPACED”时,该窗口的“Bulging Attributes”部分扩展为包含“Sections Around”和“Sections Along”参数。

Relate to

单击标题右侧可显示“Relate to”菜单。

LOWER JOINT — 将凸起与骨骼下部关节的变换相关联。这是默认设置,将用于上臂或大腿肌肉凸起。

OTHER NODE — 将凸起与其他任何 DAG 节点上的变换相关联;可在“OTHER NODE”文本框(仅在选择“Relate to OTHER NODE”时显示)中输入该节点的名称。由此,您可以在变换场景中的 DAG 节点时创建凸起效果。

Relate Transform

单击标题右侧可显示“Relate Transform”菜单。

该菜单显示“X”“Y”以及“Z ROTATE”、“TRANSLATE”“SCALE”选项,可以选择这些选项以指定所选 DAG 节点的哪一变换生成凸起。

Transform Range

该滑块用于指定从初始状态(执行“Attach”时)开始的可生成凸起的有效变换值范围。例如,上臂凸起的 75 度值(“Relate”设置为“LOWER JOINT”“Relate Transform”设置为“Y ROTATE”)表示当下方关节的 Y 旋转值介于其附加时的当前值与当前值加 75 之间时生成凸起。

“Bulge Definitions”列表器

“Bulge Definitions”列表器是指定对关节应用哪一凸起的另一种方法。

如果单击凸起列表器中的一个条目,会选择该凸起并在“Bulge Section Editor”中显示它。若要更改凸起的名称,请在字段中双击,键入名称,然后按 Enter 键。

“Bulge Definitions”中的按钮

Add — 添加包含两个断面,每个断面中有三个关键点的新常规凸起。

Delete — 删除当前选中的凸起类型。

Copy — 复制当前选中的凸起。

注意!凸起定义以代码形式存储在“bulge_types”文件中,并以代码形式在 Wire 文件中引用。如果当前或任何其他 Wire 文件中的关节引用不再存在的凸起代码,您将无法执行“Attach”

凸起断面编辑器

“Angle Selector”

“Angle Selector”显示凸起断面的位置(注视“Angle Selector”相当于俯视骨骼)。

红色指针指示在断面编辑器中正在查看骨骼的哪一个断面。可以移动该指针,通过单击并拖动鼠标以五度增量查看骨骼凸起定义的不同断面。如果已为某个断面定义曲线,会在该断面绘制一个白色“控制柄”。可以四处拖动并重定位该控制柄。

选择“Add”(或按 键)时,单击“Angle Selector”可以添加新断面。此时将创建一个新的断面曲线,作为其两侧的两条曲线的插值。

选择了“Delete”(或按 键 (Windows) 或 键 (Mac))时,在“Angle Selector”中单击会移除断面。

在不激活任何项时,在“Angle Selector”中单击可重定位该指针。

断面编辑器

断面编辑器显示了带轮廓曲线的骨骼。

“Angle Selector”显示轮廓曲线在骨骼周围的位置。这会给出骨骼周围不同位置的凸起效果。当“Angle Selector”指向定义的凸起断面之一时,断面编辑器中的轮廓曲线变为白色且可以修改。否则,该曲线为黑色,表示该位置的凸起效果插值。

断面编辑器中的按钮

Add — 在曲线中添加新的关键点。

Delete — 移除现有的关键点。

当选择任一按钮时,可以使用鼠标拖动关键点。

示例

“Section Editor”中有两类关键点,分别由“x”和“o”表示。

在大多数情况下,凸起方向将与骨骼垂直。如果 ox 关键点之间的线条与骨骼不垂直,则凸起会沿骨骼滑动并离开骨骼。

在下例中,在断面编辑器中使用具有落在骨骼的垂直线的关键点 A 表示这一点。如果沿骨骼抓取 o 关键点,然后使用鼠标拖动它们,可以更改凸起的方向。例如,关键点 B 将沿骨骼轴朝关节下端方向发生凸起。

例如,一个简单的二头肌凸起可以包含两个断面:一个是骨骼上方的零度断面(轮廓曲线类似于弯曲的二头肌);另一个是骨骼之下具有平坦轮廓曲线的 180 度断面,表示没有凸起。

限制

下面是对断面编辑器中的关键点限制。

弯曲和凸起

下列基本步骤说明如何创建在肘部平滑弯曲而二头肌凸起的手臂。

  1. 选择“Animation”>“IK”>“Draw skeleton”创建三个关节的关节层次。顶部关节作为肩部,中间关节作为肘部,最下方的关节作为腕部。
  2. 创建环绕骨骼和关节的手臂几何体,不拾取任何对象以确保没有几何体处于激活状态。
  3. 选择“Animation”>“Editors”>“Deformation control”显示“Deformation Control”窗口,然后选择“CHARACTER BUILDER Frame Type”。此时,默认设置应该生效。为了确保没有问题,在窗口底部单击“Edit”>“Reset”按钮。

执行下列步骤,指定上臂上的凸起。假设您已经定义了具有所需效果的凸起,并将其称为“biceps”。

  1. 由于您只希望对一个关节应用凸起,因此请选择“Hierarchy Depth”的“NONE”(在本示例中,仅为肩部关节设置关节属性)。
  2. 单击“Bulging”开关以启用凸起。
  3. 选择“Pick”>“Object”,然后拾取整个骨骼。该操作会选择骨骼的肩关节。
    • 某些属性非常重要,因为它们决定对骨骼应用凸起的方式。“Zero Degree Section”“Relate Transform”和“Transform Range”都必须考虑骨骼的定义方式:骨骼在空间中的方向、哪一个旋转将弯曲肘部以及该旋转的哪些值会生成凸起。
  4. 从“Frame Control”菜单中选择“Set Attributes”。系统将提示:
    Modify joint attributes, then press GO
    

    当前窗口的右下角会显示“Go”图标。

    因为您处于“Set Attributes”模式,所以在窗口的“Bulging Attributes”“Joint Attributes”部分中所做的任何修改都会存储在所选关节层次中,并将反映在建模窗口中显示的凸起效果表示中。

  5. “Bulge Type”菜单或“Bulge Definitions”列表器中选择“biceps”凸起。
  6. 更改“Deformation Control”窗口中的选项,直到对建模窗口中显示的凸起满意为止。

    请注意,即使已在该窗口中禁用“Bulging”,也会设置肩部关节的凸起属性。选择“Attach”时,窗口中的选项状态说明,对于尚未在其上显式存储属性的层次,为其中的关节使用了哪些属性。

  7. 单击“Go”退出“Set Attributes”模式。
  8. 在仍然拾取骨骼层次的情况下,拾取手臂几何体。
  9. “Bulging”切换为关并将“Hierarchy Depth”设置为“BELOW”
    注:

    即使并未设置肘部关节的“Upper Bound”和“Lower Bound”属性,也会得到肘部周围的平滑弯曲;这些属性源于窗口中显示的当前值(当然,手臂肘部附近应该有足够 CV 来进行平滑弯曲,而且显示的“Bound”值应该足以涵盖这些 CV)。

  10. 从“Frame Control”菜单中选择“Attach”

    完成“Attach”操作后,对肘部关节应用需要的旋转并观察上臂凸起。

    注意事项

    若要观察旋转肘部关节时(而不是松开鼠标键后)的凸起效果,请在“Preferences”>“Performance Options” 窗口中启用“Expression Updates: During Transform”。

    “CHARACTER BUILDER”的“Attach”操作自动完成两个单调的任务:创建所有弯曲和凸起簇,生成用于将凸起簇与 DAG 节点变换相链接的表达式。必须记住:

    • 弯曲簇在“SBD”中的关节节点下组成组。对于执行“Attach”期间选择的层次中每个关节,将创建一个弯曲簇。
    • 凸起簇将在关节层次之外创建。复杂凸起会生成多个凸起簇,这些簇在 SBD 中创建时会进行压缩,可以在需要时将它们解压缩。