43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
|
#!/usr/bin/env python
|
|||
|
# -*- coding: utf-8 -*-
|
|||
|
|
|||
|
"""
|
|||
|
版权所有: 深圳时光科技有限公司
|
|||
|
联系方式: q.100@qq.com
|
|||
|
创建日期: 2024/03/23
|
|||
|
"""
|
|||
|
|
|||
|
import maya.cmds as cmds
|
|||
|
|
|||
|
def sg_repair_vertex_order():
|
|||
|
"""
|
|||
|
修复所有网格的顶点顺序
|
|||
|
遍历前54个网格,将其顶点顺序与参考模型对齐
|
|||
|
"""
|
|||
|
# 遍历所有网格
|
|||
|
for i in range(54):
|
|||
|
# 获取目标模型
|
|||
|
target = cmds.SGGetMeshes(m=i)
|
|||
|
|
|||
|
if cmds.objExists(target):
|
|||
|
# 清除历史记录
|
|||
|
cmds.select(target, replace=True)
|
|||
|
cmds.DeleteAllHistory()
|
|||
|
|
|||
|
# 获取源模型并重命名
|
|||
|
source = cmds.SGGetMeshes(cm=i)
|
|||
|
source_buffer = f"{source}_buffer"
|
|||
|
source_buffer = source_buffer[1:] # 移除第一个字符
|
|||
|
source_buffer = cmds.rename(source, source_buffer)
|
|||
|
|
|||
|
# 应用顶点顺序
|
|||
|
cmds.SGSetMeshes(tvo=source_buffer, value=target)
|
|||
|
|
|||
|
# 删除临时模型
|
|||
|
cmds.delete(source_buffer)
|
|||
|
|
|||
|
print("Repair Vertex Order Repair Completed...")
|
|||
|
|
|||
|
# 如果直接运行此脚本
|
|||
|
if __name__ == '__main__':
|
|||
|
sg_repair_vertex_order()
|