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

41 lines
1.2 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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)