BackyardStuff

    Информация о пользователе

    Привет, Гость! Войдите или зарегистрируйтесь.


    Вы здесь » BackyardStuff » Где покоятся полезные ссылки » Сохраненные уроки и сливы


    Сохраненные уроки и сливы

    Сообщений 1 страница 2 из 2

    1

    Установка скрипта "перенос весов" для Майя:

    Скрипт:
    Код:
    Привет! Если кому нужно вот скрипт для переноса весов с одного идентичного объекта на другой
    #created by @spaeceman
    import maya.cmds as mc
    '''
    Скрипт позволяет автоматически привязать одежду к скелету целевого меша, и скопировать его веса
    1) Выделяем основной заскиненный меш
    2) Выделяем всё остальное что хотим прибить к персонажу
    '''
    def selectLS(m):
        '''
        Модуль выделения объектов
        '''
        mode = m
        list_of_selections = mc.ls(selection=True)
        
        if mode == 'full':
            
            return(list_of_selections)
            
    
        elif mode == 'last':
            last = list_of_selections[-1]
            return(last)
    
        elif mode == 'first':
            first = list_of_selections[0]
            return(first)
        else:
            pass
    
    selected_cloth = (selectLS(m="full")[1:])
    reference_skin_geo = (selectLS(m="first"))
    joints = []
    
    def skn_name(name):
        '''
        Модуль поиска скинкластера целевого меша
        '''
        history = mc.listHistory(name)
        skinClusters = mc.ls(history, type='skinCluster')
    
        return "".join(skinClusters[0])
    
    try:
        cluster = skn_name(reference_skin_geo)    
        history = mc.listHistory(cluster)
        joints = mc.ls(history, type='joint')
    
    except:       
        if selectLS(m="full") == None: 
            mc.warning("Nothing selected")
        else:
            mc.warning("The object does not contain a skin cluster")
    
    for objects in selected_cloth:
        '''
        логика бинда
        '''
        mc.skinCluster(objects, joints, bindMethod=0, ih=True, mi=5)
        mc.select([reference_skin_geo, objects])
        mc.copySkinWeights(noMirror=True, surfaceAssociation="closestPoint", influenceAssociation=["label", "closestJoint", "oneToOne"])

    0

    2

    Консультация В. Ахметова

    0


    Вы здесь » BackyardStuff » Где покоятся полезные ссылки » Сохраненные уроки и сливы