Dieser Artikel ist der 15. Tagesartikel von Maya Adventskalender 2019.
Sie haben neulich zebraeds Rückruf mit pyside: MEventMessage gesehen. Ist es?
Es wird gesagt, dass OpenMaya die gleichen Funktionen wie scriptJob leicht und einfach ausführen kann, also werde ich es in Zukunft verwenden.
Dieses Mal werde ich mit scriptJob schreiben, aber ...
Doppelte Knotennamen verursachen in Maya keinen schwerwiegenden Fehler. Wenn Sie den Prozess jedoch beim Erstellen des Mel-Skripts nicht richtig schreiben, wird das angegebene Objekt möglicherweise nicht gefunden und das Skript wird möglicherweise gestoppt.
Vermeiden Sie Mels "Mehr als ein Objekt stimmt mit dem Namen überein"
Es ist kein Problem, wenn das Tool auch bei doppelten Knotennamen ordnungsgemäß funktioniert. Wenn Sie die Daten endgültig bereinigen können, müssen Sie diesen Artikel nicht lesen.
|
(vertikale Linie) enthält, wird der Knotenname dupliziert.python
def rerename(node_uuid):
for node in cmds.ls(node_uuid):
if "|" in node:
basename = re.search("^(.+)?\|(.+?)(\d+)?$", node).group(2)
rename_name = cmds.rename(node, "{}#".format(basename))
ls
ab, konvertieren Sie es in UUID und führen Sie den Umbenennungsprozess aus.def renameEvent():
for node_uuid in cmds.ls(cmds.ls(sl=True), uuid=True):
rerename(node_uuid)
nonSameNameAlliance.py#L11-L13
def duplicateEvent():
for node_uuid in cmds.ls(cmds.ls(sl=True, dag=True, tr=True), uuid=True):
rerename(node_uuid)
nonSameNameAlliance.py#L15-L17
def main():
try:
if jobIds is not None:
for jobId in jobIds:
cmds.scriptJob(kill=jobId, force=True)
except:pass
jobIds = []
jobIds.append(cmds.scriptJob(event=["NameChanged", renameEvent], protected=True))
jobIds.append(cmds.scriptJob(event=["SelectionChanged", duplicateEvent], protected=True))
nonSameNameAlliance.py#L19-L28
userSetup.py
import nonSameNameAlliance;nonSameNameAlliance.main()
Legen Sie nonSameNameAlliance.py in Mayas Scripts-Ordner und fügen Sie den Startvorgang zu userSetup.py hinzu. Wenn Maya jetzt startet, wird der Prozess in scriptJob registriert und automatisch umbenannt.
Klicken Sie hier für diesen Quellcode https://github.com/teionn/nonSameNameAlliance
Der Knoten wird automatisch umbenannt, wenn Sie ihn in der Szene bedienen. Ich denke, er ist im Grunde genommen für Modellierer gedacht.
Es kann nur auf dem Transformationsknoten ausgeführt werden.
Wenn Sie in diesem Status ein Asset zu Unity bringen, können Sie anscheinend bei beiden Objekten "object_a" und "object_A" nicht auf eines der beiden Objekte verweisen.
Der Artikel von morgen handelt von rateionn Entfernen Sie ordnungsgemäß: Unbekannte Plugins?.
Das ... ich schreibe ... ich habe noch keinen Artikel geschrieben ...
Ich habe vor, das Skript rechtzeitig kostenlos zu veröffentlichen. Ich würde mich freuen, wenn ich es nur herunterladen würde.