motionbuilder 使用总结

脚本篇

安装额外的python库需要 mobupy.exe -m pip install
执行脚本的窗口在window->Python Editor

常用的记录整理

正规化动捕数据

def normalize_trans_rots(trans,rots,refid=0):
    r = sciR.from_euler("xyz", rots, degrees=True).as_matrix()
    r1 = r[refid]

    b1 = r1[0]
    b2 = np.array([0,1,0])

    b1 = b1 - (b1*b2).sum(-1) * b2
    b1 = b1 / np.linalg.norm(b1)
    b3 = np.cross(b1, b2)

    rref = np.vstack((b1, b2, b3)).T # inv
    
    r = np.einsum('cd,bda->bca', rref, r)
    trans = np.einsum('cd,bd->bc', rref, trans)
    rots = sciR.from_matrix(r).as_euler("xyz", degrees=True)
    
    basetrans = trans[refid:refid+1].copy()
    #print(  basetrans, trans[:5] )
    basetrans[:, 1] = 0
    trans = trans - basetrans
    #print(  basetrans, trans[:5] )
    print( r[refid] )
    return trans,rots
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值