ik极向量控制器应该往哪里放——where a ik handle's pole vector should live

import pymel.core as pm

def place_correct_pole_locator(joint1, joint2, joint3):
    joint_start_position = pm.xform(joint1, q = 1, ws = 1, rp = 1)
    joint_mid_position = pm.xform(joint2, q = 1, ws = 1, rp = 1)
    joint_end_position = pm.xform(joint3, q = 1, ws = 1, rp = 1)

    joint_start_vector = pm.dt.Vector(joint_start_position)
    joint_mid_vector = pm.dt.Vector(joint_mid_position)
    joint_end_vector = pm.dt.Vector(joint_end_position)

    start_end_vector = joint_end_vector - joint_start_vector
    start_mid_vector = joint_mid_vector - joint_start_vector

    dotP = start_mid_vector.dot(start_end_vector)
    proj = float(dotP)/float(start_end_vector.length())
    start_end_normal = start_end_vector.normal()

    proj_vector = start_end_normal*proj
    arrow_vector = start_mid_vector - proj_vector
    arrow_vector *= 2
    final_vector =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值