Render.ru

Помогите со скриптом на питоне

Andots

Знаток
Рейтинг
66
#1
Доброго дня.
Пишу скрипт который будет переносить вертексные веса с одного Ncloth объекта на другой, по сути он уже рабочий но никак не могу сделать однуказалось бы простую вещь.
Сам скрипт

import maya.cmds as mc


sel = mc.ls(sl=True, '*ClothShape*_l_*')

sel2= mc.ls(sl=True,'*ClothShape*_r_*' )


Listatri = mc.listAttr (sel , st = '*PerVertex*')

EndVal = len(Listatri)

for n in range(1,EndVal):
Transattrib = Listatri[n]
Inatt = mc.getAttr( sel + '.' + Transattrib )
mc.setAttr( sel2 + '.'+ Transattrib , Inatt, type="doubleArray" )

Никак не могу получить ( sel + '.' + Transattrib ) ну в нормальном виде.
Все время выдает

[u'nClothShape_l_02'].bendPerVertex

[u'nClothShape_l_02'].bendAngleDropoffPerVertex

[u'nClothShape_l_02'].restitutionAnglePerVertex

[u'nClothShape_l_02'].rigidityPerVertex

[u'nClothShape_l_02'].deformPerVertex

[u'nClothShape_l_02'].inputAttractPerVertex

Если руками прописываю вместо [u'nClothShape_l_02'].bendPerVertex -->
nClothShape_l_02.bendPerVertex (ну и соответсвенно setattr также ручками)
Все работает и веса копируются. Но как сделать чтоб getattr и setattr работали автоматом по циклу.
 
Последнее редактирование:

Andots

Знаток
Рейтинг
66
#2
А все разобрался,
sel = mc.ls('*ClothShape*_l_*',sl=True)
SelStart = sel[0]
sel2= mc.ls('*ClothShape*_r_*',sl=True )
SelEnd = sel2[0]

Это решило все проблемы.

такой еще вопрос, при создании ncloth майка дает
doCreateNCloth 0;
createNCloth 0;

Как эту команду запустить через питон?
Стандартные способы не помогли аля
import maya.cmds as mc
import maya.mel as mel
mc.doCreateNCloth 0
mc.createNCloth 0
или
mel.doCreateNCloth 0
mel.createNCloth 0
 
Последнее редактирование:
Сверху