#!/usr/bin/env python # -*- coding: utf-8 -*- import os import maya.cmds as cmds from scripts.utils.Core import GetMeshes, Descriptor, FindSkinCluster, SkinCluster def fast_unbind_skin_cluster(): """ 快速解除蒙皮绑定 - 遍历所有网格 - 导出蒙皮权重 - 解除蒙皮绑定 """ # 遍历所有网格(0-53) for i in range(54): # 获取网格名称 mesh = GetMeshes(m=i) # 检查网格是否存在 if not cmds.objExists(mesh): continue # 查找蒙皮变形器 skin_cluster = FindSkinCluster(mesh) # 如果存在蒙皮变形器 if cmds.objExists(skin_cluster): # 构建保存路径 path = os.path.join(Descriptor(p=True), "skin_buffer") skin_file = os.path.join(path, f"{mesh}.skin") # 如果目录不存在则创建 if not os.path.exists(path): os.makedirs(path) # 导出蒙皮权重 SkinCluster(mesh=mesh, export_file=skin_file) # 解除蒙皮绑定 cmds.skinCluster(mesh, edit=True, unbind=True)