常规特性

本页面所列的角色特性配置了 HumanIK 反向运动学和重定目标解算器的常规操作。

拉动引擎

以下特性配置了反向运动学和重定目标解算器所使用的拉动引擎。

HIKPullIterationCount

确定反向运动学解算器调用其拉动引擎以解析角色节点和效应器的相对拉动值的次数。

值越高,产生的结果越精确,但同时需要越多的 CPU 资源。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 030 之间的值

0 实际上会禁用拉动引擎。

默认值:

10

刚度

使用以下特性,可以控制角色骨架选定部位的刚度。

HIKCtrlSpineStiffnessId

如果 HumanIK 弯曲具有许多脊椎节点的角色,则每个节点对整体 IK 解决方案做出贡献时通常会自由弯曲,从而使角色显得非常灵活。使用该特性可以将旋转从其他脊椎骨骼移向基础脊椎节点。该操作使脊椎显得更为僵硬。

值越高,旋转越移向基础脊椎节点;值为 1.0 时,仅基础脊椎节点旋转,而其他脊椎节点相对于基础脊椎节点保持固定。值越小,旋转在所有脊椎节点之间移动地更加均匀;值为 0.0 时,可将旋转平均应用于所有脊椎节点。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKCtrlNeckStiffnessId

HumanIK到达旋转引擎使头部旋转到新方向时,该特性用于控制是将该旋转仅限于角色颈部的最后一个(最高)节点,还是在颈部的所有节点之间达到平衡。

值越高,旋转越移向最后一个(最高)颈部节点;值为 1.0 时,仅最后一个节点旋转,而其他颈部节点保持固定。值越小,旋转在所有颈部节点之间移动地更加均匀;值为 0.0 时,可将旋转平均应用于所有颈部节点。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKCollarStiffnessX

围绕 X 轴旋转时,控制角色锁骨节点(LeftCollarNodeIdRightCollarNodeIdLeftCollarExtraNodeIdRightCollarExtraNodeId 节点)的灵活性。

值越高,导致锁骨越僵硬,越不倾向于围绕 X 轴旋转;值越低,导致锁骨越灵活,越倾向于围绕 X 轴旋转。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 -1、0.01.0 之间的值

默认值:

0.0

HIKCollarStiffnessY

围绕 Y 轴旋转时,控制角色锁骨节点(LeftCollarNodeIdRightCollarNodeIdLeftCollarExtraNodeIdRightCollarExtraNodeId 节点)的灵活性。

值越高,导致锁骨越僵硬,越不倾向于围绕 Y 轴旋转;值越低,导致锁骨越灵活,越倾向于围绕 Y 轴旋转。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 -1、0.01.0 之间的值

默认值:

0.0

HIKCollarStiffnessZ

围绕 Z 轴旋转时,控制角色锁骨节点(LeftCollarNodeIdRightCollarNodeIdLeftCollarExtraNodeIdRightCollarExtraNodeId 节点)的灵活性。

值越高,导致锁骨越僵硬,越不倾向于围绕 Z 轴旋转;值越低,导致锁骨越灵活,越倾向于围绕 Z 轴旋转。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 -1、0.01.0 之间的值

默认值:

0.0

膝部和肘部

以下特性控制角色的膝部和肘部弯曲和旋转的方式。

HIKLeftArmMaxExtensionAngle

确定左臂沿其偏转轴伸展的最大角度。

默认值 180.0 允许手臂完全伸直,但不能向后弯曲。较小的值会阻止手臂完全伸直。

模式类型:

HIKPropertyNoMode

单位类型:

接受的值:

介于 0.0180.0 之间的值

默认值:

180.0

HIKCtrlResistMaximumExtensionLeftElbow

应用随着左肘接近其最大伸展角度逐渐抑制其伸展的刚度因子,从而防止肢体折断。

值越大,左肘伸展地越慢;值越小,肢体伸展地越快。默认值 50.0 可更正大多数肢体折断情况,并适用于大多数情况。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.5

HIKCtrlResistCompressionFactorLeftElbow

应用抑制左肘向内压缩或弯曲的刚度因子。

较大的值会导致左肘抗弯曲。设置最大值会强制肘部保持其原始 FK 角度,从而可能导致角色的胸部移动。

较小的值会使左肘更自由地向内弯曲。设置最小值会完全自由移动。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.5

HIKLeftElbowKillPitchId

确定反向运动学解算器是否禁止左肘围绕其俯仰轴旋转,从而防止左肘以失真的方式侧向弯曲。

如果取消激活该特性,反向运动学解算器通常会阻止以其为角色生成的姿势围绕肘部俯仰旋转。但是,在某些情况下可以允许俯仰旋转 - 例如,直接对左肘效应器指定到达旋转和俯仰旋转的情况。

如果激活该特性,即使您尝试直接为效应器指定俯仰旋转,也将禁止所有 15 度以上的俯仰旋转。而在这种情况下,肩部将旋转直至 90 度,以使前臂指向请求的方向。

模式类型:

HIKPropertyOffOn

接受的模式:

0:允许围绕俯仰轴旋转。

1:始终禁止围绕俯仰轴旋转。

默认模式:

0

HIKRightArmMaxExtensionAngle

确定右臂沿其偏转轴伸展的最大角度。

默认值 180.0 允许手臂完全伸直,但不能向后弯曲。较小的值会阻止手臂完全伸直。

模式类型:

HIKPropertyNoMode

单位类型:

接受的值:

介于 0.0180.0 之间的值

默认值:

180.0

HIKCtrlResistMaximumExtensionRightElbow

应用随着右肘接近其最大伸展角度逐渐抑制其伸展的刚度因子,从而防止肢体折断。

值越大,右肘伸展地越慢;值越小,肢体伸展地越快。默认值 50.0 可更正大多数肢体折断情况,并适用于大多数情况。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.5

HIKCtrlResistCompressionFactorRightElbow

应用抑制右肘向内压缩或弯曲的刚度因子。

较大的值会导致右肘抗弯曲。设置最大值会强制肘部保持其原始 FK 角度,从而可能导致角色的胸部移动。

较小的值可以使右肘更自由地向内弯曲。设置最小值会完全自由移动。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.5

HIKRightElbowKillPitchId

确定反向运动学解算器是否禁止右肘围绕其俯仰轴旋转,从而防止右肘以失真的方式侧向弯曲。

如果取消激活该特性,反向运动学解算器通常会阻止以其为角色生成的姿势围绕肘部俯仰旋转。但是,在某些情况下可以允许俯仰旋转 - 例如,直接对右肘效应器指定到达旋转和俯仰旋转的情况。

如果激活该特性,即使您尝试直接为效应器指定俯仰旋转,也将禁止所有 15 度以上的俯仰旋转。而在这种情况下,肩部将旋转直至 90 度,以使前臂指向请求的方向。

模式类型:

HIKPropertyOffOn

接受的模式:

0:允许围绕俯仰轴旋转。

1:始终禁止围绕俯仰轴旋转。

默认模式:

0

HIKLeftLegMaxExtensionAngle

确定左腿沿其偏转轴伸展的最大角度。

默认值 180.0 允许腿部完全伸直,但不能向后弯曲。较小的值会阻止腿部完全伸直。

模式类型:

HIKPropertyNoMode

单位类型:

接受的值:

介于 0.0180.0 之间的值

默认值:

180.0

HIKCtrlResistMaximumExtensionLeftKnee

应用随着左膝接近其最大伸展角度逐渐抑制其伸展的刚度因子,从而防止肢体折断。

值越大,左膝伸展地越慢;值越小,肢体伸展地越快。默认值 50.0 可更正大多数肢体折断情况,并适用于大多数情况。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.5

HIKCtrlResistCompressionFactorLeftKnee

应用抑制左膝向内压缩或弯曲的刚度因子。

较大的值会导致左膝抗弯曲。设置最大值会强制膝部保持其原始 FK 角度,从而可能导致角色的胸部移动。

较小的值会使左膝更自由地向内弯曲。设置最小值会完全自由移动。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.5

HIKLeftKneeKillPitchId

确定反向运动学解算器是否禁止左膝围绕其俯仰轴旋转,从而防止左膝以失真的方式侧向弯曲。

如果取消激活该特性,反向运动学解算器通常会阻止以其为角色生成的姿势围绕膝部俯仰旋转。但是,在某些情况下可以允许俯仰旋转 - 例如,直接对左膝效应器指定到达旋转和俯仰旋转的情况。

如果激活该特性,即使您尝试直接为效应器指定俯仰旋转,也将禁止所有 15 度以上的俯仰旋转。而在这种情况下,髋部将旋转直至 90 度,以使小腿指向请求的方向。

模式类型:

HIKPropertyOffOn

接受的模式:

0:允许围绕俯仰轴旋转。

1:始终禁止围绕俯仰轴旋转。

默认模式:

0

HIKRightLegMaxExtensionAngle

确定右腿沿其偏转轴伸展的最大角度。

默认值 180.0 允许腿部完全伸直,但不能向后弯曲。较小的值会阻止腿部完全伸直。

模式类型:

HIKPropertyNoMode

单位类型:

接受的值:

介于 0.0180.0 之间的值

默认值:

180.0

HIKCtrlResistMaximumExtensionRightKnee

应用随着右膝接近其最大伸展角度逐渐抑制其伸展的刚度因子,从而防止肢体折断。

值越大,右膝伸展地越慢;值越小,肢体伸展地越快。默认值 50.0 可更正大多数肢体折断情况,并适用于大多数情况。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.5

HIKCtrlResistCompressionFactorRightKnee

应用抑制右膝向内压缩或弯曲的刚度因子。

较大的值会导致右膝抗弯曲。设置最大值会强制膝部保持其原始 FK 角度,从而可能导致角色的胸部移动。

较小的值会使右膝更自由地向内弯曲。设置最小值会完全自由移动。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.5

HIKRightKneeKillPitchId

确定反向运动学解算器是否禁止右膝围绕其俯仰轴旋转,从而防止右膝以失真的方式侧向弯曲。

如果取消激活该特性,反向运动学解算器通常会阻止以其为角色生成的姿势围绕膝部俯仰旋转。但是,在某些情况下可以允许俯仰旋转 - 例如,直接对右膝效应器指定到达旋转和俯仰旋转的情况。

如果激活该特性,即使您尝试直接为效应器指定俯仰旋转,也将禁止所有 15 度以上的俯仰旋转。而在这种情况下,髋部将旋转直至 90 度,以使小腿指向请求的方向。

模式类型:

HIKPropertyOffOn

接受的模式:

0:允许围绕俯仰轴旋转。

1:始终禁止围绕俯仰轴旋转。

默认模式:

0

HIKRealisticLeftKneeSolvingId

当左踝旋转时,该参数可确定左髋旋转的程度,以使左膝跟随脚的方向。

使用默认值 0.0 时,踝部完全独立于膝部旋转。在不约束膝部位置或旋转的情况下,脚可以指向任意方向,从而可以创建失真的位置。例如,左脚可以向内朝向右脚且成 90 度角,而左膝继续指向正前方。

增加该参数的值,可以将踝部旋转的百分比应用回髋部,使膝盖与脚的方向更为一致。将该参数的值设置为其最大值,会导致在踝部旋转时膝部与脚的方向完全保持一致。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKRealisticRightKneeSolvingId

当右踝旋转时,该参数可确定右髋旋转的程度,以使右膝跟随脚的方向。

使用默认值 0.0 时,踝部完全独立于膝部旋转。在不约束膝部位置或旋转的情况下,脚可以指向任意方向,从而可以创建失真的位置。例如,右脚可以向内朝向左脚且成 90 度角,而右膝继续指向正前方。

增加该参数的值,可以将踝部旋转的百分比应用回髋部,使膝盖与脚的方向更为一致。将该参数的值设置为其最大值,会导致在踝部旋转时膝部与脚的方向完全保持一致。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

滚动提取和传播

以下特性控制 HumanIK 处理应用于角色手臂和腿部的滚动旋转(围绕其关联骨骼的平行轴旋转)的方式。有关详细信息,请参见角色特性

HIKRollExtractionMode

确定 HumanIK 反向运动学解算器从节点到其关联的滚动节点应用滚动旋转所用的方法 - 例如,从 LeftElbowNodeId 节点到 LeftElbowRollNodeId 节点。

模式类型:

HIKPropertyNoMode

单位类型:

枚举

接受的值:

0:相对模式。

1:绝对模式。

默认值:

0

HIKLeftUpLegRollId

确定是否提取 LeftHipNodeId 围绕其滚动轴的旋转并将其应用于关节链下的下一个节点。如果角色化,则旋转将应用于 LeftHipRollNodeId,否则旋转将应用于 LeftKneeNodeId

启用该特性后,该特性值确定了从原始节点提取原始滚动旋转并将其应用于其子节点的百分比。

值为 1.0 时,将所有滚动从原始节点传递到其子节点。

值为 0.5 时,在原始节点与其子节点之间均匀分布滚动。

值为 0.0 时,不将任何滚动传递到子节点,仅移动原始节点。

模式类型:

HIKPropertyOffOn

接受的模式:

0LeftHipNodeId 上的所有滚动旋转始终应用于该节点,而不应用于其子节点。

1:提取应用于 LeftHipNodeId 的滚动旋转并将其应用于其子节点的百分比。百分比由该特性的值进行设置。

默认模式:

0

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.6

HIKLeftUpLegRollExId

确定是否提取 LeftHipRollNodeId 围绕其滚动轴的旋转并将其应用于其子节点:LeftKneeNodeId。该特性的值确定了从滚动节点提取的并将其应用于其子节点的原始滚动旋转的百分比。

值为 0.0 时,不将任何滚动传递到子节点,仅移动滚动节点。

值为 0.5 时,在滚动节点与其子节点之间均匀分布滚动。

值为 1.0 时,将所有滚动从滚动节点传递到其子节点。

大于 1.0 的值会“过度提取”旋转:它们从滚动节点提取的旋转超过最初从父节点应用于该滚动节点的旋转。这实际上会使滚动节点以其父节点的相反方向旋转。然后,所有从滚动节点提取的旋转将以父节点旋转的原始方向应用于子节点。例如,假设有一个滚动节点并将 90 度的滚动旋转(从其父节点中提取)应用于该节点,然后对于该滚动节点将该值设置为 1.5。滚动节点将旋转回 135 度 (1.5 * 90),其结果相当于反方向旋转 45 度。然后将滚动节点的子节点相对于滚动节点的新位置旋转 135 度,使其显示滚动节点的原始旋转。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 0.02.0 之间的值

默认值:

0.0

HIKLeftLegRollId

确定是否提取 LeftKneeNodeId 围绕其滚动轴的旋转并将其应用于关节链下的下一个节点。如果角色化,则旋转将应用于 LeftKneeRollNodeId,否则旋转将应用于 LeftAnkleNodeId

启用该特性后,该特性值确定了从原始节点提取原始滚动旋转并将其应用于其子节点的百分比。

值为 1.0 时,将所有滚动从原始节点传递到其子节点。

值为 0.5 时,在原始节点与其子节点之间均匀分布滚动。

值为 0.0 时,不将任何滚动传递到子节点,仅移动原始节点。

模式类型:

HIKPropertyOffOn

接受的模式:

0LeftKneeNodeId 上的所有滚动旋转始终应用于该节点,而不应用于其子节点。

1:提取应用于 LeftKneeNodeId 的滚动旋转并将其应用于其子节点的百分比。百分比由该特性的值进行设置。

默认模式:

0

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.6

HIKLeftKneeRollExId

确定是否提取 LeftKneeRollNodeId 围绕其滚动轴的旋转并将其应用于其子节点:LeftAnkleNodeId。该特性的值确定了从滚动节点提取的并将其应用于其子节点的原始滚动旋转的百分比。

值为 0.0 时,不将任何滚动传递到子节点,仅移动滚动节点。

值为 0.5 时,在滚动节点与其子节点之间均匀分布滚动。

值为 1.0 时,将所有滚动从滚动节点传递到其子节点。

大于 1.0 的值会“过度提取”旋转:它们从滚动节点提取的旋转超过最初从父节点应用于该滚动节点的旋转。这实际上会使滚动节点以其父节点的相反方向旋转。然后,所有从滚动节点提取的旋转将以父节点旋转的原始方向应用于子节点。例如,假设有一个滚动节点并将 90 度的滚动旋转(从其父节点中提取)应用于该节点,然后对于该滚动节点将该值设置为 1.5。滚动节点将旋转回 135 度 (1.5 * 90),其结果相当于反方向旋转 45 度。然后将滚动节点的子节点相对于滚动节点的新位置旋转 135 度,使其显示滚动节点的原始旋转。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 0.02.0 之间的值

默认值:

0.0

HIKRightUpLegRollId

确定是否提取 RightHipNodeId 围绕其滚动轴的旋转并将其应用于关节链下的下一个节点。如果角色化,则旋转将应用于 RightHipRollNodeId,否则旋转将应用于 RightKneeNodeId

启用该特性后,该特性值确定了从原始节点提取原始滚动旋转并将其应用于其子节点的百分比。

值为 1.0 时,将所有滚动从原始节点传递到其子节点。

值为 0.5 时,在原始节点与其子节点之间均匀分布滚动。

值为 0.0 时,不将任何滚动传递到子节点,仅移动原始节点。

模式类型:

HIKPropertyOffOn

接受的模式:

0RightHipNodeId 上的所有滚动旋转始终应用于该节点,而不应用于其子节点。

1:提取应用于 RightHipNodeId 的滚动旋转并将其应用于其子节点的百分比。百分比由该特性的值进行设置。

默认模式:

0

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.6

HIKRightHipRollExId

确定是否提取 RightHipRollNodeId 围绕其滚动轴的旋转并将其应用于其子节点:RightKneeNodeId。该特性的值确定了从滚动节点提取的并将其应用于其子节点的原始滚动旋转的百分比。

值为 0.0 时,不将任何滚动传递到子节点,仅移动滚动节点。

值为 0.5 时,在滚动节点与其子节点之间均匀分布滚动。

值为 1.0 时,将所有滚动从滚动节点传递到其子节点。

大于 1.0 的值会“过度提取”旋转:它们从滚动节点提取的旋转超过最初从父节点应用于该滚动节点的旋转。这实际上会使滚动节点以其父节点的相反方向旋转。然后,所有从滚动节点提取的旋转将以父节点旋转的原始方向应用于子节点。例如,假设有一个滚动节点并将 90 度的滚动旋转(从其父节点中提取)应用于该节点,然后对于该滚动节点将该值设置为 1.5。滚动节点将旋转回 135 度 (1.5 * 90),其结果相当于反方向旋转 45 度。然后将滚动节点的子节点相对于滚动节点的新位置旋转 135 度,使其显示滚动节点的原始旋转。

模式类型:

HIKPropertyNoMode

单位类型:

标量

接受的值:

介于 0.02.0 之间的值

默认值:

0.0

HIKRightLegRollId

确定是否提取 RightKneeNodeId 围绕其滚动轴的旋转并将其应用于关节链下的下一个节点。如果角色化,则旋转将应用于 RightKneeRollNodeId,否则旋转将应用于 RightAnkleNodeId

启用该特性后,该特性值确定了从原始节点提取原始滚动旋转并将其应用于其子节点的百分比。

值为 1.0 时,将所有滚动从原始节点传递到其子节点。

值为 0.5 时,在原始节点与其子节点之间均匀分布滚动。

值为 0.0 时,不将任何滚动传递到子节点,仅移动原始节点。

模式类型:

HIKPropertyOffOn

接受的模式:

0RightKneeNodeId 上的所有滚动旋转始终应用于该节点,而不应用于其子节点。

1:提取应用于 RightKneeNodeId 的滚动旋转并将其应用于其子节点的百分比。百分比由该特性的值进行设置。

默认模式:

0

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.6

HIKRightKneeRollExId

确定是否提取 RightKneeRollNodeId 围绕其滚动轴的旋转并将其应用于其子节点:RightAnkleNodeId。该特性的值确定了从滚动节点提取的并将其应用于其子节点的原始滚动旋转的百分比。

值为 0.0 时,不将任何滚动传递到子节点,仅移动滚动节点。

值为 0.5 时,在滚动节点与其子节点之间均匀分布滚动。

值为 1.0 时,将所有滚动从滚动节点传递到其子节点。

大于 1.0 的值会“过度提取”旋转:它们从滚动节点提取的旋转超过最初从父节点应用于该滚动节点的旋转。这实际上会使滚动节点以其父节点的相反方向旋转。然后,所有从滚动节点提取的旋转将以父节点旋转的原始方向应用于子节点。例如,假设有一个滚动节点并将 90 度的滚动旋转(从其父节点中提取)应用于该节点,然后对于该滚动节点将该值设置为 1.5。滚动节点将旋转回 135 度 (1.5 * 90),其结果相当于反方向旋转 45 度。然后将滚动节点的子节点相对于滚动节点的新位置旋转 135 度,使其显示滚动节点的原始旋转。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 0.02.0 之间的值

默认值:

0.0

HIKLeftArmRollId

确定是否提取 LeftShoulderNodeId 围绕其滚动轴的旋转并将其应用于关节链下的下一个节点。如果角色化,则旋转将应用于 LeftShoulderRollNodeId,否则旋转将应用于 LeftElbowNodeId

启用该特性后,该特性值确定了从原始节点提取原始滚动旋转并将其应用于其子节点的百分比。

值为 1.0 时,将所有滚动从原始节点传递到其子节点。

值为 0.5 时,在原始节点与其子节点之间均匀分布滚动。

值为 0.0 时,不将任何滚动传递到子节点,仅移动原始节点。

模式类型:

HIKPropertyOffOn

接受的模式:

0LeftShoulderNodeId 上的所有滚动旋转始终应用于该节点,而不应用于其子节点。

1:提取应用于 LeftShoulderNodeId 的滚动旋转并将其应用于其子节点的百分比。百分比由该特性的值进行设置。

默认模式:

0

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.6

HIKLeftShoulderRollExId

确定是否提取 LeftShoulderRollNodeId 围绕其滚动轴的旋转并将其应用于其子节点:LeftElbowNodeId。该特性的值确定了从滚动节点提取的并将其应用于其子节点的原始滚动旋转的百分比。

值为 0.0 时,不将任何滚动传递到子节点,仅移动滚动节点。

值为 0.5 时,在滚动节点与其子节点之间均匀分布滚动。

值为 1.0 时,将所有滚动从滚动节点传递到其子节点。

大于 1.0 的值会“过度提取”旋转:它们从滚动节点提取的旋转超过最初从父节点应用于该滚动节点的旋转。这实际上会使滚动节点以其父节点的相反方向旋转。然后,所有从滚动节点提取的旋转将以父节点旋转的原始方向应用于子节点。例如,假设有一个滚动节点并将 90 度的滚动旋转(从其父节点中提取)应用于该节点,然后对于该滚动节点将该值设置为 1.5。滚动节点将旋转回 135 度 (1.5 * 90),其结果相当于反方向旋转 45 度。然后将滚动节点的子节点相对于滚动节点的新位置旋转 135 度,使其显示滚动节点的原始旋转。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 0.02.0 之间的值

默认值:

0.0

HIKLeftForeArmRollId

确定是否提取 LeftElbowNodeId 围绕其滚动轴的旋转并将其应用于关节链下的下一个节点。如果角色化,则旋转将应用于 LeftElbowRollNodeId,否则旋转将应用于 LeftWristNodeId

启用该特性后,该特性值确定了从原始节点提取原始滚动旋转并将其应用于其子节点的百分比。

值为 1.0 时,将所有滚动从原始节点传递到其子节点。

值为 0.5 时,在原始节点与其子节点之间均匀分布滚动。

值为 0.0 时,不将任何滚动传递到子节点,仅移动原始节点。

模式类型:

HIKPropertyOffOn

接受的模式:

0LeftElbowNodeId 上的所有滚动旋转始终应用于该节点,而不应用于其子节点。

1:提取应用于 LeftElbowNodeId 的滚动旋转并将其应用于其子节点的百分比。百分比由该特性的值进行设置。

默认模式:

0

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.6

HIKLeftElbowRollExId

确定是否提取 LeftElbowRollNodeId 围绕其滚动轴的旋转并将其应用于其子节点:LeftWristNodeId。该特性的值确定了从滚动节点提取的并将其应用于其子节点的原始滚动旋转的百分比。

值为 0.0 时,不将任何滚动传递到子节点,仅移动滚动节点。

值为 0.5 时,在滚动节点与其子节点之间均匀分布滚动。

值为 1.0 时,将所有滚动从滚动节点传递到其子节点。

大于 1.0 的值会“过度提取”旋转:它们从滚动节点提取的旋转超过最初从父节点应用于该滚动节点的旋转。这实际上会使滚动节点以其父节点的相反方向旋转。然后,所有从滚动节点提取的旋转将以父节点旋转的原始方向应用于子节点。例如,假设有一个滚动节点并将 90 度的滚动旋转(从其父节点中提取)应用于该节点,然后对于该滚动节点将该值设置为 1.5。滚动节点将旋转回 135 度 (1.5 * 90),其结果相当于反方向旋转 45 度。然后将滚动节点的子节点相对于滚动节点的新位置旋转 135 度,使其显示滚动节点的原始旋转。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 0.02.0 之间的值

默认值:

0.0

HIKRightArmRollId

确定是否提取 RightShoulderNodeId 围绕其滚动轴的旋转并将其应用于关节链下的下一个节点。如果角色化,则旋转将应用于 RightShoulderRollNodeId,否则旋转将应用于 RightElbowNodeId

启用该特性后,该特性值确定了从原始节点提取原始滚动旋转并将其应用于其子节点的百分比。

值为 1.0 时,将所有滚动从原始节点传递到其子节点。

值为 0.5 时,在原始节点与其子节点之间均匀分布滚动。

值为 0.0 时,不将任何滚动传递到子节点,仅移动原始节点。

模式类型:

HIKPropertyOffOn

接受的模式:

0RightShoulderNodeId 上的所有滚动旋转始终应用于该节点,而不应用于其子节点。

1:提取应用于 RightShoulderNodeId 的滚动旋转并将其应用于其子节点的百分比。百分比由该特性的值进行设置。

默认模式:

0

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.6

HIKRightShoulderRollExId

确定是否提取 RightShoulderRollNodeId 围绕其滚动轴的旋转并将其应用于其子节点:RightElbowNodeId。该特性的值确定了从滚动节点提取的并将其应用于其子节点的原始滚动旋转的百分比。

值为 0.0 时,不将任何滚动传递到子节点,仅移动滚动节点。

值为 0.5 时,在滚动节点与其子节点之间均匀分布滚动。

值为 1.0 时,将所有滚动从滚动节点传递到其子节点。

大于 1.0 的值会“过度提取”旋转:它们从滚动节点提取的旋转超过最初从父节点应用于该滚动节点的旋转。这实际上会使滚动节点以其父节点的相反方向旋转。然后,所有从滚动节点提取的旋转将以父节点旋转的原始方向应用于子节点。例如,假设有一个滚动节点并将 90 度的滚动旋转(从其父节点中提取)应用于该节点,然后对于该滚动节点将该值设置为 1.5。滚动节点将旋转回 135 度 (1.5 * 90),其结果相当于反方向旋转 45 度。然后将滚动节点的子节点相对于滚动节点的新位置旋转 135 度,使其显示滚动节点的原始旋转。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 0.02.0 之间的值

默认值:

0.0

HIKRightForeArmRollId

确定是否提取 RightElbowNodeId 围绕其滚动轴的旋转并将其应用于关节链下的下一个节点。如果角色化,则旋转将应用于 RightElbowRollNodeId,否则旋转将应用于 RightWristNodeId

启用该特性后,该特性值确定了从原始节点提取原始滚动旋转并将其应用于其子节点的百分比。

值为 1.0 时,将所有滚动从原始节点传递到其子节点。

值为 0.5 时,在原始节点与其子节点之间均匀分布滚动。

值为 0.0 时,不将任何滚动传递到子节点,仅移动原始节点。

模式类型:

HIKPropertyOffOn

接受的模式:

0RightElbowNodeId 上的所有滚动旋转始终应用于该节点,而不应用于其子节点。

1:提取应用于 RightElbowNodeId 的滚动旋转并将其应用于其子节点的百分比。百分比由该特性的值进行设置。

默认模式:

0

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.6

HIKRightElbowRollExId

确定是否提取 RightElbowRollNodeId 围绕其滚动轴的旋转并将其应用于其子节点:RightWristNodeId。该特性的值确定了从滚动节点提取的并将其应用于其子节点的原始滚动旋转的百分比。

值为 0.0 时,不将任何滚动传递到子节点,仅移动滚动节点。

值为 0.5 时,在滚动节点与其子节点之间均匀分布滚动。

值为 1.0 时,将所有滚动从滚动节点传递到其子节点。

大于 1.0 的值会“过度提取”旋转:它们从滚动节点提取的旋转超过最初从父节点应用于该滚动节点的旋转。这实际上会使滚动节点以其父节点的相反方向旋转。然后,所有从滚动节点提取的旋转将以父节点旋转的原始方向应用于子节点。例如,假设有一个滚动节点并将 90 度的滚动旋转(从其父节点中提取)应用于该节点,然后对于该滚动节点将该值设置为 1.5。滚动节点将旋转回 135 度 (1.5 * 90),其结果相当于反方向旋转 45 度。然后将滚动节点的子节点相对于滚动节点的新位置旋转 135 度,使其显示滚动节点的原始旋转。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 0.02.0 之间的值

默认值:

0.0

HIKRealisticArmSolving

使用此特性可以启用和禁用真实手臂解算。

模式类型:

HIKPropertyOffOn

接受的值:

0:禁用真实手臂解算。

1:启用真实手臂解算。

默认值:

0

挤压和拉伸

以下特性控制挤压和拉伸解算器压缩和伸展角色肢体的方式。请参见使用挤压和拉伸

HIKStretchStartArmsAndLegs

设置这些肢体可以开始拉伸手臂或腿部长度的百分比。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 0.01.0 之间的值

默认值:

0.9

HIKStretchStopArmsAndLegs

设置手臂或腿部将停止自由拉伸的长度的百分比。该设置为软限制;高于该阈值,肢体将继续以降低的速率拉伸,以避免弹出。

模式类型:

HIKPropertyNoMode

单位类型:

浮点型

接受的值:

介于 1.02.0 之间的值

默认值:

1.1

HIKSnSReachLeftWrist

设置挤压和拉伸引擎在解算左臂时的贡献,其相对于使左腕达到其目标位置的其他方法(例如使用拉动引擎,或更改肘部的角度)。

值 0.0 实际上会对肢体禁用挤压和拉伸。

值 1.0 表示尽可能使用挤压和拉伸。但是请注意,使左腕达到其目标位置的其他方法仍对最终解有些贡献。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKSnSReachRightWrist

设置挤压和拉伸引擎在解算右臂时的贡献,其相对于使右腕达到其目标位置的其他方法(例如使用拉动引擎,或更改肘部的角度)。

值 0.0 实际上会对肢体禁用挤压和拉伸。

值 1.0 表示尽可能使用挤压和拉伸。但是请注意,使右腕达到其目标位置的其他方法仍对最终解有些贡献。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKSnSReachLeftAnkle

设置挤压和拉伸引擎在解算左腿时的贡献,其相对于使左踝达到其目标位置的其他方法(例如使用拉动引擎,或更改膝部的角度)。

值 0.0 实际上会对肢体禁用挤压和拉伸。

值 1.0 表示尽可能使用挤压和拉伸。但是请注意,使左踝达到其目标位置的其他方法仍对最终解有些贡献。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKSnSReachRightAnkle

设置挤压和拉伸引擎在解算右腿时的贡献,其相对于使右踝达到其目标位置的其他方法(例如使用拉动引擎,或更改膝部的角度)。

值 0.0 实际上会对肢体禁用挤压和拉伸。

值 1.0 表示尽可能使用挤压和拉伸。但是请注意,使右踝达到其目标位置的其他方法仍对最终解有些贡献。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKSnSScaleArmsAndLegs

确定是否可以通过更改节点的平移、更改节点的比例或混合更改两者来实现手臂和腿部的压缩和伸展。

值 0.0 使手臂和腿部的节点的比例始终保持相同。通过更改节点的平移和旋转可以实现挤压和拉伸。

值 1.0 使手臂和腿部的节点的平移和旋转在局部空间保持相同。通过更改节点的比例可以实现挤压和拉伸。

介于 0.0 与 1.0 之间的值在这两个极端之间对节点的比例进行插值。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKSnSReachChestEnd

设置挤压和拉伸引擎在解算脊椎时的贡献,其相对于使 ChestEndEffectorId 达到其目标位置的其他方法(例如使用拉动引擎,或更改脊椎节点的角度)。

值 0.0 实际上会对肢体禁用挤压和拉伸。

值 1.0 表示尽可能使用挤压和拉伸。但是请注意,使胸部达到其目标位置的其他方法仍对最终解有些贡献。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKSnSScaleSpineChildren

确定应用于脊椎的压缩和伸展有多少会同时应用于脊椎的子节点:

NeckNodeId

如果角色化,则应用于 LeftCollarNodeId,否则应用于 LeftShoulderNodeId

RightCollarNodeId(如果角色化)或 RightShoulderNodeId(如果未角色化)

请注意,即使 HIKSnSScaleSpine 特性设置为正值,这些节点的比例也从不更改。始终通过平移节点实现脊椎子节点的压缩和伸展,而不是通过对它们进行缩放。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKSnSScaleSpine

确定是否可以通过更改节点的平移、更改节点的比例或混合更改两者来实现脊椎的压缩和伸展。

值 0.0 使脊椎节点的比例始终保持相同。通过更改节点的平移和旋转可以实现挤压和拉伸。

值 1.0 使脊椎节点的平移和旋转在局部空间保持相同。通过更改节点的比例可以实现挤压和拉伸。

介于 0.0 与 1.0 之间的值在这两个极端之间对节点的比例进行插值。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKSnSReachHead

设置挤压和拉伸引擎在解算颈部时的贡献,其相对于使 HeadEffectorId 达到其目标位置的其他方法(例如使用拉动引擎,或更改颈部节点的角度)。

值 0.0 实际上会对肢体禁用挤压和拉伸。

值 1.0 表示尽可能使用挤压和拉伸。但是请注意,使头部达到其目标位置的其他方法仍对最终解有些贡献。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKSnSScaleNeck

确定是否可以通过更改节点的平移、更改节点的比例或混合更改两者来实现颈部的压缩和伸展。

值 0.0 使颈部节点的比例始终保持相同。通过更改节点的平移和旋转可以实现挤压和拉伸。

值 1.0 使颈部节点的平移和旋转在局部空间保持相同。通过更改节点的比例可以实现挤压和拉伸。

介于 0.0 与 1.0 之间的值在这两个极端之间对节点的比例进行插值。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKSnSSmoothReach

此特性与 HIKSnSReachChestEndHIKSnSReachHead 特性结合使用。它可以指示是否应该平滑到达。

模式类型:

HIKPropertyOffOn

接受的值:

0:禁用平滑。

1:启用平滑。

默认值:

0

肩部控件

以下特性控制 HumanIK 移动角色肩部的方式。

HIKRealisticShoulder

确定从肩部提取的并应用于锁骨骨骼(LeftCollarNodeIdRightCollarNodeId 节点)的肩部(LeftShoulderNodeIdRightShoulderNodeId 节点)所应用的旋转百分比,以模拟手臂抬起时人类肩部的行为。

 

例如,在左图中,在未激活 HIKRealisticShoulder 特性的情况下角色抬起左臂。由此产生的姿势创建了不可能的肩部外形。

 

在该图像中,HIKRealisticShoulder 特性已激活,并且其值设置为 1.0。手臂旋转时,100% 的旋转将传递回锁骨骨骼,使模型的肩部向上移动。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

HIKExtraCollarRatioId

如果角色的骨架中具有附加锁骨骨骼(分别由 LeftCollarExtraNodeIdRightCollarExtraNodeId 节点定义),则该特性控制 HumanIK 如何在这些锁骨节点中扩散旋转和平移。

较低的值会导致移动移向基础锁骨骨骼(LeftCollarNodeIdRightCollarNodeId 节点);较高的值会导致移动逐渐移向附加锁骨骨骼。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.0

髋部控件

以下特性控制 HumanIK 移动角色髋部的方式。

HIKHipsTranslationModeId

如果角色指定用于保持髋部平移的特殊节点(HipsTranslationId 节点),则该特性确定应用于角色髋部(LeftHipNodeIdRightHipNodeId 节点)的旋转是否也应用于该特殊平移节点。

模式类型:

HIKPropertyNoMode

单位类型:

枚举

接受的值:

0:世界刚性。该设置会导致 HumanIK 将所有的髋部旋转仅应用于角色的髋部节点。

1:身体刚性。该设置会导致 HumanIK 将所有的髋部旋转同时应用于角色的髋部节点和髋部平移节点。

默认值:

0

HIKCtrlEnforceGravityId

确定 HumanIK 反向运动学解算器尝试将角色的重心(即髋部)在角色双脚之间保持平衡的程度。

较高的值会约束髋部的移动,使它们保持在角色双脚的位置之间。较低的值允许髋部自由移动到任何位置,无论双脚的位置如何;这可能会使角色处于一种真人会因重力而失去平衡的姿势。

仅当由 HIKCtrlResistHipsPositionId 特性设置的髋部平移的阻力值大于零时,才使用该特性。

模式类型:

HIKPropertyNoMode

单位类型:

百分比

接受的值:

介于 0.01.0 之间的值

默认值:

0.6

HIKLockXId

激活时,此特性会将 X 轴上的角色髋部位置锁定为默认 T 形站姿的髋部位置。

模式类型:

HIKPropertyOffOn

接受的值:

0:禁用锁定。

1:启用锁定。

默认值:

0

HIKLockYId

激活时,此特性会将 Y 轴上的角色髋部位置锁定为默认 T 形站姿的髋部位置。

模式类型:

HIKPropertyOffOn

接受的值:

0:禁用锁定。

1:启用锁定。

默认值:

0

HIKLockZId

激活时,此特性会将 Z 轴上的角色髋部位置锁定为默认 T 形站姿的髋部位置。

模式类型:

HIKPropertyOffOn

接受的值:

0:禁用锁定。

1:启用锁定。

默认值:

0

髋部和胸部效应器偏移

以下特性控制应用于角色髋部和胸部效应器的偏移。请参见将关节映射到 HumanIK 节点和效应器

HIKHipsTOffsetXId

默认情况下,角色处于其默认 T 形站姿时,HipsEffectorId 会控制位于 LeftHipNodeIdRightHipNodeId 位置中间的骨架上的假想点。该参数沿 X 轴将偏移应用于该假想点。

模式类型:

HIKPropertyNoMode

单位类型:

世界单位

接受的值:

介于 –1000.01000.0 之间的值

默认值:

0.0

HIKHipsTOffsetYId

默认情况下,角色处于其默认 T 形站姿时,HipsEffectorId 会控制位于 LeftHipNodeIdRightHipNodeId 位置中间的骨架上的假想点。该参数沿 Y 轴将偏移应用于该假想点。

模式类型:

HIKPropertyNoMode

单位类型:

世界单位

接受的值:

介于 –1000.01000.0 之间的值

默认值:

0.0

HIKHipsTOffsetZId

默认情况下,角色处于其默认 T 形站姿时,HipsEffectorId 会控制位于 LeftHipNodeIdRightHipNodeId 位置中间的骨架上的假想点。该参数沿 Z 轴将偏移应用于该假想点。

模式类型:

HIKPropertyNoMode

单位类型:

世界单位

接受的值:

介于 –1000.01000.0 之间的值

默认值:

0.0

HIKChestTOffsetXId

默认情况下,角色处于其默认 T 形站姿时,ChestEndEffectorId 会控制位于 LeftShoulderNodeIdRightShoulderNodeId 位置中间的骨架上的假想点。该参数沿 X 轴将偏移应用于该假想点。

重定目标时,仅当将目标角色的 HIKReachActorChestId 特性设置为非零值时,才使用该偏移。

模式类型:

HIKPropertyNoMode

单位类型:

世界单位

接受的值:

介于 –1000.01000.0 之间的值

默认值:

0.0

HIKChestTOffsetYId

默认情况下,角色处于其默认 T 形站姿时,ChestEndEffectorId 会控制位于 LeftShoulderNodeIdRightShoulderNodeId 位置中间的骨架上的假想点。该参数沿 Y 轴将偏移应用于该假想点。

重定目标时,仅当将目标角色的 HIKReachActorChestId 特性设置为非零值时,才使用该偏移。

模式类型:

HIKPropertyNoMode

单位类型:

世界单位

接受的值:

介于 –1000.01000.0 之间的值

默认值:

0.0

HIKChestTOffsetZId

默认情况下,角色处于其默认 T 形站姿时,ChestEndEffectorId 会控制位于 LeftShoulderNodeIdRightShoulderNodeId 位置中间的骨架上的假想点。该参数沿 Z 轴将偏移应用于该假想点。

重定目标时,仅当将目标角色的 HIKReachActorChestId 特性设置为非零值时,才使用该偏移。源角色和目标角色的肩部不匹配时,它会影响肩部的质心,并用于更真实的重定目标。

模式类型:

HIKPropertyNoMode

单位类型:

世界单位

接受的值:

介于 –1000.01000.0 之间的值

默认值:

0.0