MetaFusion/scripts/utils/ClothingWeight.py
2025-02-07 05:10:30 +08:00

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"
)