次级骨骼生成

#
#此脚本在python中运行
#
#选择所需要的面,执行脚本即可生成次级控制骨骼
#
#对话框中输入角色名字 如:“xr_JYB_L_brown_”,"xr_JYB_mouth_"
#
#如遇到旋转,可将locator属性 fixPolyFlip 打开。

import maya.cmds as mc
import maya.mel as mm
jntg = []
aShape = []

selFace = mc.filterExpand( ex=1, sm=34 )

for h in selFace:
mm.eval('cMuscleSurfAttachSetup()')
a = mc.ls(sl=1)
for p in range(len(selFace)):
mc.select(cl=1)
jnt = mc.joint(n="jnt_%d_ctrl"%p)
jntg.append(jnt)
mc.select(cl=1)

for (w,e) in zip(a,jntg):
mc.parent(e,w)
mc.setAttr("%s.t"%e,0,0,0)

for j in jntg:
mc.setAttr('%s.sx'%j,cb=0,l=1,k=0)
mc.setAttr('%s.sy'%j,cb=0,l=1,k=0)
mc.setAttr('%s.sz'%j,cb=0,l=1,k=0)
mc.setAttr('%s.rx'%j,cb=0,l=1,k=0)
mc.setAttr('%s.ry'%j,cb=0,l=1,k=0)
mc.setAttr('%s.rz'%j,cb=0,l=1,k=0)
mc.setAttr('%s.visibility'%j,cb=0,l=1,k=0)
mc.setAttr('%s.radius'%j,cb=0,l=1,k=0)
for q in a:
c = mc.listRelatives(q,s=1)
aShape.append(c[0])

for r in aShape:
mc.setAttr("%s.overrideEnabled"%r,1)
mc.setAttr("%s.overrideVisibility"%r,0)

def reNa(name):
mc.select(jntg,a)
objects = mc.ls(sl=1)
[mc.rename(k,"%s%s"%(name,k))for k in objects]

mc.window()
mc.columnLayout(adj=1)
mc.textFieldButtonGrp("nameFTG",l="name",bl="doIt",bc="doIt()")
mc.showWindow()

def doIt():
text = mc.textFieldButtonGrp("nameFTG",q=1,tx=1)
reNa(text)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值