Was this issue resolved because I’m having the same error.
The latest ragdoll and locomotion have been installed ,loco3d can be found.
On Linux.
locomotion.so 2024.11.14
ragdoll 2024.07.01
We have a different path but when I run loco3d it says
Ragdoll: Trial expired
Even tho we have 3 current unlimited lics that show up correctly in Ragdoll
Great, that’s a clue. Then the problem is different from the one above, even though the outcome appears to be the same. Do you have a node-locked or floating licence?
Can you try:
Launch Maya
Simulate anything with Ragdoll, simulation will ensure a licence is allocated to your machine
Then make something with Locomotion
It’s possible it needs Ragdoll to activate the licence before use, which would be a bug and a clue.
We have floating lics.
Yeah Ragdoll works fine and simulates.
Run something simple in Locomotion (cube and 2 spheres below it )
// Warning: Locomotion failed with ‘Solved To Acceptable Level’
Sorry about that, we’ll investigate this on our end. If you stumble upon any more clues or messages, let me know and we’ll try and get to the bottom of this asap.
Hi
Yeah I can confirm that Radoll has a full unlimited lic and when I either make a simple scene of a cube and spheres or load the scene that was mentioned earlier in the thread I get the error in locomotion.
Hi @craigb, we’re investigating this, but we need more information.
Would you be able to set this environment variable?
import os
os.environ["LOCOMOTION_DEVELOPER" ] = "1"
It would need to happen prior to loading the Locomotion plug-in. Could be from the terminal, before launching Maya. Or inside of Maya, using that above Python script, before loading the plug-in.
Once you attempt to simulate, you should find more messages in the terminal window (not the Maya Script Editor).
Hi Alan
I tried setting the enviro Var both in Maya and from a terminal but there were no messages in the terminal window.
I have a new problem now with export physics, once I save a scene and reload it back into Maya I can’t export physics.
While I’m applying ragdoll to a rig I’m able to export but if I save the scene and reload it and try to export,0 markers are saved.
Hm, those look like messages from when you have already loaded the plug-in, and are running a simulation. What I’m looking for is the terminal messages before and during the loading of the locomotion.so plug-in, from the Maya Plug-in Manager. Or, loading ragdoll.so which will load the locomotion.so for you.
Sorry to be a pain, I know it’s tedious. We haven’t encountered this before, and can’t reproduce it on our side, so your efforts are much appreciated!
Hey guys, I work with Craig. I set the env variable in the terminal prior to loading maya, and then again in maya with the snippet you provided. It does not seem to print anything additional than the initial “Failed to solve…” error.
The plugin locomotion plugin loads fine within maya without error. We have 3 floating lics and its pretty easy to tell when we do or do not have one available. I can confirm the path to loco3d is on the PATH within maya and it has been set to executable.
If you try to access the executable on its own, just to see if its working, it does nothing.
We are on
rocky9
Maya 2023
Ragdoll/2024.07.01
locmotion/2024.11.14
We are installing maya 2024/5 for a separate task, but I do not think that will help, since the executable is shared across all versions.
I have tried the simplified steps Marcus has posted and still it will just error.
We have a pretty complex environment, legacy env manager and the like. Perhaps telling me more about how locomotion and ragdoll/maya communicate may help debug this?
from locomotion import constants
constants.LOCOMOTION_DEVELOPER
# Result: True #
Also to add,
I started our maya in a vanilla environment, only the adsk licencing and the locomation plugin with the ragdoll license server set. It still fails with the same error.
And I am doing a polyCube for the body and a sphere for the single leg.
The lines that project out forward are perfectly straight.
I’ve put together a reproducible that I’d like for you to try.
import os
import subprocess
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()
print("\n".join(str(l) for l in out + err))
assert out == []
expected_output = [b'!Reading !16! bytes from parent process..\r\n', b'Sanity checking..\r\n', b'Converting JSON -> Plan\r\n', b'Convert Plan -> Animation\r\n']
assert err == expected_output
This will launch the loco3d executable like normal use would, except without the Maya plug-in. It should also automatically exit that process, but in case it does not you can call this.
# In case the process/window does not close
popen.kill()
It should not throw any assertion errors, you can see I’ve put some in here.
@marcus Hey! Been a while, yes. I hope you are doing well. Congrats on Ragdoll + blender.
I ran the code in Maya, locomotion was loaded.
import os
import subprocess
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()
print("\n".join(str(l) for l in out + err))
assert out == []
expected_output = [b'!Reading !16! bytes from parent process..\r\n', b'Sanity checking..\r\n', b'Converting JSON -> Plan\r\n', b'Convert Plan -> Animation\r\n']
assert err == expected_output
# Error:
# Traceback (most recent call last):
# File "<maya console>", line 26, in <module>
# AssertionError #
loco3d = os.environ["LOCOMOTION_EXECUTABLE"]
print(loco3d)
# ... for security
/.../.../.../.../Ragdoll/2024.07.01-build1/arch/linux-any/x86_64/Locomotion-2024_11_14/shared/unix/loco3d
I am trying with the latest download for locomotion, but it was also not working on the previously installed one. That was due to us not being familiar with it needing to be an executable.
Does locomotion have a different env variable it looks for licensing?