42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import maya.cmds as cmds
|
|
import maya.mel as mel
|
|
from Core import GetMeshes
|
|
|
|
def clothing_weight():
|
|
"""
|
|
处理服装权重
|
|
- 获取选中的对象
|
|
- 从头部和身体模型复制蒙皮权重
|
|
- 应用到选中的服装模型上
|
|
"""
|
|
# 获取选中的对象
|
|
selection = cmds.ls(selection=True)
|
|
|
|
# 获取头部和身体模型
|
|
head = GetMeshes(m=0)
|
|
body = GetMeshes(m=50)
|
|
|
|
# 清除选择并选择身体和目标模型
|
|
cmds.select(clear=True)
|
|
cmds.select(body, add=True)
|
|
cmds.select(selection, add=True)
|
|
|
|
# 执行蒙皮复制
|
|
mel.eval('copySkin')
|
|
|
|
# 为每个选中的模型复制头部和身体的权重
|
|
for obj in selection:
|
|
cmds.select(clear=True)
|
|
cmds.select(head, add=True)
|
|
cmds.select(body, add=True)
|
|
cmds.select(obj, add=True)
|
|
|
|
# 复制蒙皮权重
|
|
cmds.copySkinWeights(
|
|
noMirror=True,
|
|
surfaceAssociation="closestPoint",
|
|
influenceAssociation="closestJoint"
|
|
) |