Ich versuche, einen Teil meines Pipeline-Tools (der während des Starts von Maya ausgeführt wird) zu verzögern, nachdem VRay registriert wurde.Maya: Verschieben Sie ein Skript, bis VRay registriert ist?
ich zur Zeit verzögert die Initialisierung des Werkzeugs in einem userSetup.py etwa so:
def run_my_tool():
import my_tool
reload(my_tool)
mc.evalDeferred("run_my_tool()")
Ich habe versucht, mit evalDeferred innerhalb des Werkzeugs um die Ausführung des render_settings Skripts zu verzögern, aber es hält läuft bevor VRay registriert wurde. Haben Sie irgendwelche Gedanken darüber, wie Sie einen Listener für das VRay-Registrierungsereignis erstellen oder welches Ereignis? Vielen Dank!
EDIT:
ein neues Thema gemacht, um herauszufinden, wie man richtig theodox Zustand verwenden, um/scriptJob Befehle Vorschlag here.
, dass eine ziemlich häufige Art und Weise ist aufzuschieben, bis alle Lasten fertig sind. Sie können auch eine benutzerdefinierte Bedingung erstellen, die nach dem Plugin sucht und auslöst, wenn es mit dem 'condition'-Befehl und einem' scriptJob (ct = True) ' – theodox
geladen wird. Das hört sich gut an, ich gebe das auch, danke! –
@theodox Ich probiere Ihren Vorschlag aus, aber es treten Probleme auf, wenn ich mein Bedingungsskript von einem Modul aus starte. Es funktioniert gut, wenn ich es aus dem Skript-Editor ausführen. Ich habe den Code in meinem ursprünglichen Beitrag unter EDIT gepostet –