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 =
ik极向量控制器应该往哪里放——where a ik handle's pole vector should live
最新推荐文章于 2023-01-17 17:56:09 发布