Добавить aiArealights в конвекцию именования списков в Maya с Python - PullRequest
0 голосов
/ 15 мая 2018

Итак, у меня есть функция. Когда я нажимаю на кнопку, в моем списке появляется значок aiAreaLight.Я переименовываю источники света в «PainterLight_aiArealight» + «1», поэтому каждый раз, когда я делаю источник света, у меня есть это имя с 1,2,3 экт ...

В моем планировщике у меня есть правильное имя, нокогда я печатаю свой список, он сохраняет имя «transform1».

Может кто-нибудь объяснить мне, что я делаю не так?

См. Скриншот

Мой код:

import maya.cmds as cmds
lights=[]
def Button_pressed ():
    lights.append(cmds.shadingNode('aiAreaLight', asLight=True))
    cmds.rename(lights[len(lights)-1],'PainterLight_aiArealight'+'1')
    print(lights)

1 Ответ

0 голосов
/ 15 мая 2018

maya.cmds обычно работают со строками.Таким образом, ваш список источников света действительно является списком строк и не имеет никакого отношения к какому-либо реальному объекту в Maya.В этом случае вы можете либо просто сначала переименовать свой источник света, а затем добавить его в свой список, либо использовать pymel, который использует объекты и работает с переименованием.

import pymel.core as pm
lights=[]
def Button_pressed ():
    lights.append(pm.shadingNode('aiAreaLight', asLight=True))
    lights[-1].rename('PainterLight_aiArealight'+'1')
    print(lights)
...