solveconstraint
始于版本 | 17.5 |
---|
vector [] solveconstraint(float lengths[], vector targetpos, float tolerance, matrix relmat, vector constraints[])
返回一个以度为单位的局部骨骼旋转数组。
lengths
所有待求解骨骼的长度。
targetpos
世界空间中的目标位置。
tolerance
容差范围。
relmat
用于将目标和扭转位置相对于原点进行变换的相对矩阵。 通常这是骨骼链根节点的逆矩阵。
constraints
这是一个用于定义每根骨骼的静止角度、阻尼、最小角度、最大角度、最小阻尼、最大阻尼和滚降的向量数组。 如果数组为空,则使用骨骼对象中相同的默认值。 如果数组大小等于输入骨骼数量,则定义静止角度。 如果数组大小等于输入骨骼数量的2倍,则定义静止角度和阻尼。 如果数组大小等于输入骨骼数量的3倍,则定义静止角度、阻尼和最小/最大角度(最小/最大角度共享相同值)。 如果数组大小等于输入骨骼数量的4倍,则定义静止角度、阻尼和最小/最大角度(最小/最大角度具有不同值)。 如果数组大小等于输入骨骼数量的5倍,则定义静止角度、阻尼、最小/最大角度和阻尼角度。 如果数组大小等于输入骨骼数量的6倍,则定义静止角度、阻尼、最小/最大角度和最小/最大阻尼角度。 如果数组大小等于输入骨骼数量的7倍,则定义静止角度、阻尼、最小/最大角度、最小/最大阻尼角度和滚降值。