学习如何使用“Skeleton Editor”设置关节信息,例如限制、静止姿势和刚度,使您可以影响骨骼在反向运动下的移动方式。
使用“Animation”>“IK”>“New Skeleton” 创建一个关节节点层次。
选择“Animation”>“Editors”>“Skeletons” 可打开“Skeleton Editor”窗口。
使用“Skeleton Editor”可创建和修改 DAG 关节节点和骨骼层次,定制关节限制以及 IK 链的其他特性。
“Skeleton Editor”包含两个部分。左侧是一个列表器,包含 DAG 节点的名称;右侧是一个电子表格,列出每个关节的特性。
列表器内容取决于在“List Mode”中所做的选择。列表中的每个元素最多可以有四个图标以及一个 DAG 节点图标和 DAG 节点名称。
此开关将现有 DAG 节点更改为关节节点,或将现有关节节点更改为 DAG 节点。如果启用该图标,则它将显示为深灰色并包含白色骨关节,表示 DAG 节点是关节节点。在 SBD 窗口中,DAG 节点会在其 SBD 框中绘有一个关节图标。如果禁用该图标,则它显示为浅灰色而不是深灰色,表示 DAG 节点不是关节节点。
对于 DAG 关节节点,可以定制某些关节特性,供 IK 控制柄使用。这些特性在“Skeleton Editor”右侧的电子表格部分列出。
单击此图标可以展开关节,以查看所使用的关节组件及其关节限制。展开状态会保留下来,因此下次列出该关节时它将仍处于展开状态。再次单击该图标可以折叠关节。
单击此图标时,无论是否拾取了该项,它都将保留在列表上。图标将变为黑色的图钉。
双击 DAG 节点名称区域可以更改其名称。
下列图标出现在 IK 控制柄名称的左侧,指示 IK 控制柄的控制类型:
“Shared joint”图标指示相应关节由单链和多链共享。
“Skeleton Editor”右侧是一个电子表格,其中包含可以为不同关节节点组件编辑的值。(只能编辑关节的值。若要在此窗口中编辑其他对象,必须先将其更改为关节。)
选择某个关节节点的关节展开图标,可以在电子表格中查看其关节的值。电子表格中每个关节的值由单链 IK 控制柄或多链 IK 控制柄使用。
以下屏幕显示“Skeleton Editor”,其“Show D.O.F.”菜单设置为“All”。
在电子表格中选择“Use Joint”和“Use Limits”列的条目,可以将其设置为“ON”(以复选标记指示)或“OFF”(以短横线指示)。
如果设置为“OFF”,则在变换期间不会更改该参数。若要限制关节的运动,此参数很有用。例如,在腿部的骨骼层次中,可以限制膝关节,使其只能沿着 X 轴弯曲。此时,应将“Use Joint”的沿 Y 轴旋转和 Z 轴旋转设置为“OFF”。
如果设置为“ON”,则在变换期间,关节将使用相邻的“Minimum”和“Maximum”两列中定义的限制。如果希望关节组件在指定的关节范围内移动,此参数很有用。例如,表示肘部的关节节点所需的范围可能是 0 到 170 度。如果“Use Limits”设置为“ON”,并且设置了这些范围限制,则在变换期间,肘关节不会采用该范围之外的值。
如果设置为“OFF”,将忽略为该关节设置的任何关节限制。为了表明这一点,“Minimum”和“Maximum”单元格将灰显,并且不可编辑。
若要定义限制,请参见“Set”菜单部分对“Set”按钮的描述。
将最初绘制骨骼的方向确定为 0 度。如果要倾斜绘制骨骼,上一个示例中的最小值和最大值的范围将如下所示。
这两个列可以使用任何值。这些值表示关节参数的最小值和最大值。对于旋转参数,值是以度为单位的角度。对于平移参数,值以厘米为单位。在相应列中单击要更改的关节对应的行,然后设置该关节的最小值或最大值。
还可以使用“Minimum”和“Maximum”设置菜单项来设置关节的最小值和最大值。
限制要求最小值必须小于最大值,并且静止位置必须介于最小值和最大值之间。如果输入的最小值大于最大值,或如果输入的最大值小于最小值,则最小值和最大值将会交换。如果启用了“Use Limits”,最小值和最大值将限制关节参数可以具有的范围。
此列包含的值介于 0 到 100 之间,表示每个关节参数的百分比刚度。在使用多链控制柄拖动某个链时,该链通常有许多种可能的解决方案来到达其目标。通过对某些关节应用刚度,可以更好地控制该链如何到达其目标。
例如,如果要为手臂设置动画,去取某个对象,如果使肩关节真正具有刚度,将使手臂在肘部弯曲去取该对象。但是,如果使肘关节真正具有刚度,手臂将是直的,强制整个手臂去取该对象。
如果值是 0%,意味着没有对该关节应用刚度,该关节将以最快速度移动,帮助链的效应器到达其目标。如果刚度是 100%,将完全约束该关节,与根本不使用该关节的效果相同(即,就好像“Use Joint”设置为“OFF”)。
“List Mode”菜单控制在“Skeleton Editor”的列表器部分显示的 DAG 节点。
列表器中只显示拾取的 DAG 节点,与其是否是关节节点无关。
列表器中显示当前拾取的关节节点、属于该节点祖先的每个关节节点,直至(包括)第一个关节节点。如果未拾取任何属于关节节点的 DAG 节点,则不会列出任何内容。
列表器中包含拾取的关节节点在骨骼中所属的每个关节节点。与层次不同,骨骼仅列出关节节点。
如果未拾取任何 DAG 关节节点,则不会列出任何内容。如果拾取了属于同一个骨骼的两个 DAG 关节节点,该骨骼仅列出一次。
列表器中显示拾取的 DAG 节点以及位于拾取的 DAG 节点上层的每个 DAG 节点,与是否是 DAG 关节节点无关。
列表器中显示拾取的 DAG 节点以及位于拾取的 DAG 节点下层的每个 DAG 节点,与是否是 DAG 关节节点无关。
列表器中显示层次中包含所拾取 DAG 节点的每个 DAG 节点。
列表器中显示所有现有骨骼的根,无论是否拾取了这些根。
列表器中显示所有现有骨骼,无论是否拾取了这些骨骼。
然后,可以通过单击列表器中的关节按钮,以交互方式将列表器中的任何 DAG 节点切换为关节。为确定列表器中出现的 DAG 节点,系统将找到拾取的 DAG 节点的 DAG 根节点,并列出位于该 DAG 根节点下层的每个 DAG 节点。
如果已创建了层次模型,并且希望使用反向运动来移动或为其设置动画,“Hierarchy”、“Below”和“Above”模式会很有用。然后,可以通过单击列表器中的关节按钮,以交互方式将列表器中的任何 DAG 节点切换为关节。
这些模式还可以用于将层次列表中的信息限制为要处理的骨骼部分。
以下示例显示台灯及其骨骼层次:
关节将分层次列出。
关节将按照 IK 控制柄列出。
“Show D.O.F.”弹出式菜单控制在单击某个关节节点的“joint expansion”按钮时,将会显示的旋转参数和平移参数。D.O.F. 表示从 IK 控制角度看到的自由度。
这是默认模式。在“Skeleton Editor”的列表器中单击某个关节节点的关节展开图标时,将看到该关节节点所有可能的自由度(即 X、Y 和 Z 轴旋转和平移)。
单击某个关节节点的关节展开图标时,列表中仅会显示“Use Joint”列为“ON”的自由度。
“Set”菜单用于将当前选定行中的“Minimum”和“Maximum”列设置为对应关节参数的当前值。
在“Skeleton Editor”列表器中选择关节,然后从“Set”菜单中选择以下设置之一:
所有选定行当前的最小参数值将设置为关节的对应参数的当前值。
所有选定行当前的最大参数值将设置为关节的对应参数的当前值。
例如,假定关节的“Y Rotation”值设置为 60 度:
在“Skeleton Editor”中选择该关节对应的“Y rotate”行。
选择“Set”>“Maximum”。关节对应的“Y rotate”行中的“Minimum”列将设置为 60 度。
如果调用某项“Set”功能使最小值大于最大值,则最小值和最大值将会进行交换,使关节限制仍在有效的范围内。
在建模环境中将自动拾取在“Skeleton Editor”中选择的 DAG 节点。完成此操作之后,“Skeleton Editor”的列表器中选定的和未选定的项与建模环境中拾取的和未拾取的 DAG 节点完全对应。
“List Mode”是“skeleton”或“hierarchy”时,最适合使用此操作。这是因为执行在“Model Pick”>“Selected”操作之后,“Skeleton Editor”中列表器的内容不会更改。
有时,无法拾取在“Skeleton Editor”中选择的所有 DAG 节点。这是因为“Skeleton Editor”是为了显示 DAG 节点的层次而设计的。可以在“Skeleton Editor”的列表器窗口中选择这些层次。但是,在建模环境中,不能同时拾取互为祖先或子孙的 DAG 节点(这种情况称为拾取冲突)。
为了解决这种拾取冲突,如果在“Skeleton Editor”的列表器中选择了 DAG 祖先和子节点,则会在建模环境中拾取所选最低层的 DAG 子节点。在建模环境中无法拾取的 DAG 节点将在“Skeleton Editor”列表器中取消选择。
通过以下示例可以最好地说明其工作过程。假定您已创建了双腿的体形:
在建模环境中拾取“left_knee joint”节点。
在“Skeleton Editor”中选择“List Mode”>“Skeleton”。现在,“Skeleton Editor”的列表器中包含双腿体形的关节节点的层次列表。
在“Skeleton Editor”的列表器中,选择右腿的所有关节(“right_hip”、“right_knee”、“right_ankle”)。
选择“Model Pick”>“Selected”。
因为在列表器中未选择左膝,所以,在建模环境中也取消拾取左膝。因为右腿的关节之间存在拾取冲突,所以,将会选择最低层的关节 (right_ankle),并会在建模环境中拾取该关节。在列表器中将会取消选择右腿的其他关节,因为无法在建模环境中拾取这些关节。
“Skeleton Editor”是一个电子表格,允许您同时编辑某个列中多个所选的元素。可以使用“Skeleton Editor”的列表器部分选择列表中的一个或多个元素。只需单击要选择的第一个元素,然后将光标向上或向下拖动至列表中要选择的最后一个元素。所选的项将亮显。
可以通过按住 键并进行选择,在所选列表中添加或删除元素。例如,若要选择列表的第二个、第三个、第七个、第八个和第九个元素,可单击第二个元素,并拖动至第三个元素。然后按住 键,单击第七个元素并拖动至第九个元素。现在,全部五个元素均已选择。
选择了列表中的多个项后,可以全局编辑所有选定项。全局编辑适用于列表器部分和电子表格部分。例如,如果希望使五个元素成为关节节点,可选择这五个元素,并单击其中任意一个元素的关节图标。现在,全部五个元素均成为关节。通过单击关节展开按钮可以列出一个 DAG 关节节点的所有关节,并选择所有关节特性。在一个选定行对应的“Use Limits”列中单击,现在,所有关节都具有相同的“Use Limits”值(“ON”或“OFF”)。
小心!如果单击多个所选元素来禁用关节图标,将会同时删除所有相关联的关节信息,例如关节限制、关节刚度、所有关节约束或关节上连接的 IK 控制柄。