orientjoints.py 文件源码

python
阅读 31 收藏 0 点赞 0 评论 0

项目:cmt 作者: chadmv 项目源码 文件源码
def make_position_planar(*args):
    sel = cmds.ls(sl=True, type='joint')
    if len(sel) <= 3:
        raise RuntimeError('Select 3 joints to make a plane and then additional joints to move onto that plane.')
    a, b, c = [get_position(sel[i]) for i in range(3)]
    ab = (b - a).normal()
    ac = (c - a).normal()
    normal = (ab ^ ac).normal()
    joints = sel[3:]
    for joint in joints:
        children = _unparent_children(joint)
        p = get_position(joint)
        pa = a - p
        dot = pa*normal
        p = p + (normal*dot)
        cmds.xform(joint, ws=True, t=(p.x, p.y, p.z))
        _reparent_children(joint, children)

    if sel:
        cmds.select(sel)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号