Я наконец-то нахожусь в конце игры со скриптом Helper Joint, над которым я работаю, и только одна последняя проблема стоит у меня на пути.Вот как скрипт должен работать.Создайте соединение, назовите его «Parent_Joint», затем создайте узел «multDoubleLinear» в редакторе узлов, назовите его «bob, нажмите« Загрузить родительское соединение »после выбора созданного вами соединения и нажмите« Добавить атрибут ». В идеальном мире, где я»Более разумно в этом вопросе. Пользовательский атрибут, добавленный в соединение, будет подключен к «входу1» Боба, вместо этого я получаю сообщение об ошибке: «# Ошибка: исходный атрибут« Parent_Joint_HelperJntAttr »не найден».
В терминахиз того, что я уже пробовал, я помещаю connectAttr ниже addAttr, поскольку здравый смысл будет диктовать, что сначала должен быть создан атрибут, прежде чем он будет подключен: но, несмотря на это, он просто отказывается подключаться. Я знаю, что ошибка не ложится на "bob.input1 ", потому что он вызывает только префиксное имя атрибута для 'Parent_Joint_HelperJntAttr: так что я предполагаю, что это просто мое отсутствие знаний в написании этой конкретной процедуры.
import maya.cmds as cmds
if cmds.window(window, exists =True):
cmds.deleteUI(window)
window = cmds.window(title='DS Attribute adder')
column = cmds.columnLayout(adj=True)
sld_textFld = cmds.textField('sld_surfaceTextHJ', width =240)
def set_textfield(_):
sel = cmds.ls(selection=True)
cmds.textField(sld_textFld, edit=True, text=sel[0])
load_button = cmds.button( label='Load Parent Joint', c = set_textfield)
def add_Attribute(_):
text_value = cmds.textField(sld_textFld, q = True, text=True)
if text_value:
print "attrAdded:"
cmds.addAttr(ln=text_value +'_HelperJntAttr', defaultValue=5.0, minValue=0, attributeType='float', keyable=True)
cmds.connectAttr( text_value +"_HelperJntAttr", 'bob.input1')
else:
cmds.warning("select an object and add it to the window first!")
node_button = cmds.button( label='add attribute', c = add_Attribute)
cmds.showWindow(window)
Я знаю, как использоватьКоманда connectAttr по умолчанию атрибутов в майя, но где я faВсе квартиры - это пользовательские атрибуты.Я надеюсь, что смог понять, как писать код, который создает и связывает пользовательские атрибуты соединения.Заранее благодарю за помощь