设置滚动提取

设置滚动提取需要配置一组角色特性,然后使用必要的解算步骤设置 HIKEffectorSetState

步骤 1. 设置解算步骤

如果调用 HIKSetIKSolvingStep() 函数来设置HIKEffectorSetState 中的解算步骤,必须包括 HIKSolvingStepRollExtraction 步骤。例如:

HIKSetIKSolvingStep(MyEffectorState, HIKSolvingStepAllParts |
                                     HIKSolvingStepRollExtraction);

有关 IK 解算步骤的详细信息,请参见解算所选身体部位

步骤 2. 启用滚动提取

使用下面的一组角色特性来控制要从角色的肩部、肘部、髋部和膝部提取的滚动量:

这些特性属于 HIKPropertyOffOn 类型。必须激活要使用的每个特性,并设置其值。例如:

HIKSetPropertyMode(MyPropertyState, HIKLeftArmRollId, 1);
HIKSetPropertyValue(MyPropertyState, HIKLeftArmRollId, 0.6f);
HIKSetPropertyMode(MyPropertyState, HIKLeftForeArmRollId, 1);
HIKSetPropertyValue(MyPropertyState, HIKLeftForeArmRollId, 0.6f);

请参见角色特性

步骤 3. 启用滚动传播(可选)

使用下面的一组其他角色特性来控制从每个角色的滚动节点提取的滚动量,并应用到滚动节点的子节点:

与上面介绍的其他滚动提取特性不同,您无需激活这些特性。只需如下所示设置其值:

HIKSetPropertyValue(MyPropertyState, HIKLeftArmRollExId, 0.5f);
HIKSetPropertyValue(MyPropertyState, HIKLeftForeArmRollExId, 0.5f);

有关更多详细信息,请参见角色特性下的特性描述。