码迷,mamicode.com
首页 > 其他好文 > 详细

advanceskeleton插件分身体和表情单独绑定的时候合并表情步骤

时间:2018-08-01 01:04:37      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:分割   ble   删除   eal   一对一   代码   头部   去掉   融合   

advanceskeleton插件分身体和表情单独绑定的时候合并表情使用的代码以及合并步骤

1.身体单独绑定

2.表情单独绑定

3.合并步骤

①原有adv表情文件删掉除了curve组以外所有东西 删除无用节点之后保存curve_ctrl

②原有adv表情文件curve组整个从父级到子级加个facial前缀(这个用于将来放在原地链接属性用) 单独保存整个文件为face_v02

③打开表情face_v02 导入  curve_ctrl 并去掉名词空间

④选择facial前缀的组单独显示(这时候会显示出所有表情facial前缀的控制器),然后框选所有显示出的facial前缀的控制器(注意单独取消face方块表情面板的那个主控制器的选择) 执行下面代码 做一对一链接  之后保存为facial_final

 #——————————————华丽分割—————————————————————————————————————————————————————————————————————————————————
 

##选中facial——
import  maya.cmds  as  mc
myAllReal_ctrl=mc.ls(sl=True)
for  a  in   myAllReal_ctrl:
    myHideAttr=a.split("facial_")[1]

    myallAttr=mc.listAttr(a,k=1)
    myallAttr_01=mc.listAttr(a,ud=1)
     
    if  myallAttr:
        if myallAttr_01:
            for b in myallAttr_01:
                if b not in myallAttr:
                    myallAttr.append(b)
    for  b  in   myallAttr:
        if  mc.getAttr(a+‘.‘+b,l=1)==0   :
            mc.connectAttr(myHideAttr+‘.‘+b,a+‘.‘+b,f=1)
            
        if  mc.getAttr(a+‘.‘+b,l=1)==1   :
            
            mc.setAttr(a+‘.‘+b,l=0)
            mc.setAttr(myHideAttr+‘.‘+b,l=0)
            
            mc.connectAttr(myHideAttr+‘.‘+b,a+‘.‘+b,f=1)
            
            mc.setAttr(a+‘.‘+b,l=1)
            mc.setAttr(myHideAttr+‘.‘+b,l=1)
                
#————————————————————————————————————————————————————————————————————————————————————————
 

⑤打开身体绑定,导入facial_final文件     表情里面的模型对身体里的做blendshape融合,表情假控制器P给头部

 

 

    完成

 

 

 

 

欢迎交流

VX:27971533

advanceskeleton插件分身体和表情单独绑定的时候合并表情步骤

标签:分割   ble   删除   eal   一对一   代码   头部   去掉   融合   

原文地址:https://www.cnblogs.com/liubingdong/p/9399022.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!