【Maya】 폴리곤 오브젝트를 강제 정리하는 스크립트

4319 단어 파이썬maya
Maya는 엉망이 될 때마다 머티리얼을 할당 할 수 없게되고, 뒷면도 아니고 꼭지점 색상도 없지만 얼굴이 새까맣게되어 버리거나, 뭔가 도구로 편집하려고해도 오류가되어 버리거나, 다양한 객체의 거동이 이상해질 때가 있네요(잘 일어나는데 좋은 예가 떠오르지 않았지만 어쨌든 여러가지).

적당히 큐브를 만든다 → 결합 → 큐브의 부분 삭제를 하고 강제적으로 오브젝트를 깨끗하게 하는 것이 손쉬운 일이 많아, 이번은 그 일련의 동작을 스크립트화해 보았습니다.

도입 방법



아래 소스 코드를 스크립트 편집기의 파이썬 탭에 붙여넣고 중간 버튼으로 선반 필드로 드래그 앤 드롭.
import maya.cmds as cmds

def Main():
    selectedObjects = cmds.ls(sl=True, tr=True)

    targetMesh = []

    for i in selectedObjects:   #ポリゴンオブジェクトだけを抽出
        shape = cmds.listRelatives(i, s=True, typ='mesh')
        if shape:
            targetMesh.append(i)


    if len(targetMesh) == 0:
        cmds.confirmDialog(t='エラー', m='ポリゴンオブジェクトを選択してください')
        return

    for i in targetMesh:
        temp = cmds.polyCube()
        afterMesh = cmds.polyUnite(temp, i, op=True)    #キューブを作成し結合

        cmds.delete(temp)   #不要になったメッシュの削除
        cmds.delete(afterMesh, ch=True) #ヒストリを削除
        cmds.rename(i)  #名前を元に戻す

Main()



사용법



다각형 객체를 선택하고 스크립트를 실행하기만 하면 됩니다.
복수 선택에 대응하고 있습니다만 아이에게 다른 메쉬를 가지고 있는 경우는 대응하고 있지 않습니다.

좋은 웹페이지 즐겨찾기