Ran this one without loading any of the plugins
import os
import subprocess
from ragdoll import licence
assert "RAGDOLL_FLOATING" in os.environ, "Missing floating licence"
assert licence.has_lease(), "Missing lease of licence"
# Manually lease, typically happens on first simulation or when
# clicking the bottom menu item in the Ragdoll menu
licence.request_lease()
loco3d = os.environ["LOCOMOTION_EXECUTABLE"]
popen = subprocess.Popen(
loco3d,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE
)
text = b"locomotion data\n"
size = b"%08x" % len(text)
t = popen.stdin.write(size)
t = popen.stdin.write(text)
popen.stdin.flush()
out = popen.stdout.readlines()
err = popen.stderr.readlines()
string = "\n".join(str(l) for l in out + err)
assert out == [], string
expected_output = [b'!Reading !16! bytes from parent process..\n', b'Sanity checking..\n', b'Converting JSON -> Plan\n', b'Convert Plan -> Animation\n']
assert err == expected_output, string
from maya import cmds
cmds.unloadPlugin("ragdoll")
# Error: module 'maya.cmds' has no attribute 'ragdollLicence'
# Traceback (most recent call last):
# File "<maya console>", line 6, in <module>
# File "/asset/common/software/thirdparty/Ragdoll/2024.07.01-build1/arch/linux-any/x86_64/Ragdoll-2024_07_01/scripts/ragdoll/licence.py", line 329, in has_lease
# return cmds.ragdollLicence(hasLease=True, query=True)
# AttributeError: module 'maya.cmds' has no attribute 'ragdollLicence' #
This one with the plugin loaded and clicking the bottom ragdoll menu
Looks like that last line crashes maya? This is from the terminal
pymel.internal.factories : WARNING : trying to remove PyNode for maya type 'rdPlanManip', but could not find an associated PyNode registered
pymel.internal.factories : WARNING : trying to remove PyNode for maya type 'rdFootManip', but could not find an associated PyNode registered
Ragdoll: I'm being destroyed.. good bye then
This is with the last commented out
from ragdoll import interactive as ri
ri.welcome_user()
# ragdoll.status_callback() - Successfully acquired a lease #
import os
import subprocess
from ragdoll import licence
assert "RAGDOLL_FLOATING" in os.environ, "Missing floating licence"
assert licence.has_lease(), "Missing lease of licence"
# Manually lease, typically happens on first simulation or when
# clicking the bottom menu item in the Ragdoll menu
licence.request_lease()
loco3d = os.environ["LOCOMOTION_EXECUTABLE"]
popen = subprocess.Popen(
loco3d,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE
)
text = b"locomotion data\n"
size = b"%08x" % len(text)
t = popen.stdin.write(size)
t = popen.stdin.write(text)
popen.stdin.flush()
out = popen.stdout.readlines()
err = popen.stderr.readlines()
string = "\n".join(str(l) for l in out + err)
assert out == [], string
expected_output = [b'!Reading !16! bytes from parent process..\n', b'Sanity checking..\n', b'Converting JSON -> Plan\n', b'Convert Plan -> Animation\n']
assert err == expected_output, string
from maya import cmds
# cmds.unloadPlugin("ragdoll")
I have to head for the day. I hope that is helps(?).