国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

制作一個IK定位骨骼模塊

2023-06-13 14:37 作者:Yisacode  | 我要投稿

之前研究過這個問題,這是當(dāng)時我計算極向量位置的解決方案

def computePolePos(ik_joints, **kwargs):
    offset_factor = kwargs.pop("offset", 5.0)
    coordinates = []
    for joint in ik_joints:
        joint_pos = pm.xform(joint, q=True, ws=True, t=True)
        coordinates.append(joint_pos)

    point_A = om.MPoint(coordinates[0][0], coordinates[0][1], coordinates[0][2], 1)
    point_B = om.MPoint(coordinates[1][0], coordinates[1][1], coordinates[1][2], 1)
    point_C = om.MPoint(coordinates[2][0], coordinates[2][1], coordinates[2][2], 1)

    vec_AC = om.MVector(point_C - point_A)
    vec_AB = om.MVector(point_B - point_A)

    cos = (vec_AC * vec_AB) / (vec_AC.length() * vec_AB.length())
    len_AD = vec_AB.length() * cos
    factor = len_AD / vec_AC.length()

    vec_AD = factor * vec_AC
    vec_DB = vec_AB - vec_AD

    loc = pm.spaceLocator()
    loc.visibility.set(False)
    pm.matchTransform(loc, ik_joints[1], pos=True)
    loc_pos = loc.getTranslation(space='world')
    loc.setTranslation(loc_pos + (offset_factor * dt.Vector(*vec_DB)), space='world')

    return loc


制作一個IK定位骨骼模塊的評論 (共 條)

分享到微博請遵守國家法律
博罗县| 瑞安市| 苏尼特左旗| 额尔古纳市| 三穗县| 尉氏县| 富源县| 新竹县| 宿松县| 沙坪坝区| 湟中县| 穆棱市| 双牌县| 贵南县| 呼玛县| 溧水县| 浦江县| 克山县| 辽宁省| 铁岭市| 滦平县| 吉木萨尔县| 崇礼县| 宣武区| 伊宁市| 永仁县| 阿坝县| 如东县| 静安区| 穆棱市| 杨浦区| 乌审旗| 南通市| 罗山县| 响水县| 睢宁县| 婺源县| 广灵县| 探索| 广南县| 田东县|