Bugs/Questions that I have in Blender

  1. The video right above the question shows what I saw. It works perfectly fine in a new scene. It also works with a single bone chain. In fact it was working fine until I added the finger markers I think. Not entirely sure though.

  2. Found a bug with Snap to Simulation. The Transfer buttons in Live Mode has the same problem as well.

https://youtu.be/5peV7bje8Qo

In short, the problem is that Snap to Simulation and the Transfer buttons only keyframe the location. You can see in the video that the markers have both “Record translation and rotation” turned on. The workaround is to manually keyframe the bones right after Snap to Simulation or Transfer. Or maybe the intended behaviour is that neither Snap to Simuation or Transfer is supposed to keyframe? Since there is a Transfer and Keyframe button.

  1. Right now there is no way to limit the translation of a marker, right? Is there any plan of implementing that?

  2. The “hand twisting upon entering Live Mode” or “Simulation starts upon entering Live Mode” bug came back to me, but this time the rotation limits of the hand are all at least 10, even though you said lesser shouldn’t be a problem. The fingers definitely didn’t start outside the limit. They were in the default pose with 0 rotation. Also note that, playing the timeline normally or recording the simulation doesn’t make the hand twist, so I don’t think it’s my settings that are unphysical.

https://youtu.be/l9mmVEIiLck

  1. I think there is a bug with collision with parent. I tried to make markers for hair, and they are parented to the head bone, but I can’t get them to collide with the head no matter what, even if I tick the “Collide with Parent” option.

https://youtu.be/ijz9L5RTjHU

I have a couple of questions.

  1. Is the ability to subdivide Environments not in Blender yet?

  2. Is the ability to un-merge solvers not in Blender yet?

  3. Is the “Enabled” option on a marker planned to be animateable?

  4. In Live Mode, Is it possible right now or in the future to select multiple markers and use Drop or Tense on them only?

  5. Do you have any advice on making it more likely to get straight fingers in recording simulation? I have tried the Rotate Stiffness at 1 and lower, but it doesn’t seem to help. The fingers will bend whenever it has the opportunity to regardless of the Rotate Stiffness. A higher Rotate Stiffness just makes it harder to bend back to straight. It’s not that the poses are physically impossible. It’s just that they are likely to break your fingers in real life.

The reason it’s moving is likely due to the arm starting outside of its limits. You can confirm by disabling all fingers, I expect the arm to still move on the start frame. You can solve it by either disabling the limit on the arm, or making sure the arm starts within the limit.

I cannot reproduce this here, would it be possible to send this file?

Once there is demand for it, sure. So far there has not been enough. If you tell us about your usecase it’s possible to add this. Vehicle suspension has been one, but there are many ways to incorporate it without translation limits.

There are no limbs on the human body with a limit of 10 or less, so my expectation is still that some are starting outside of their limits. Try setting all limits to 0. Also, ensure there are no gaps between limbs. There should not be a gap between parent and child, there should however be gaps between parent and grand-child. I don’t expect this to cause movement on the start frame, but it’s good in general.

There is rarely any reason to use “Collide with Parent”. Limbs connected in real-life should have a similar overlap to our fleshy bits.

For your hair, try and think of how this capsule would attach to a real head. At the moment, the attachment hovers above the head, this would not be possible. Try using at least 2-3 bones for each hair clump, the first one having overlap with the head like a real hair clump.

It’s possible Ragdoll only looks at geometry pre-deformation/modifiers. So try applying the modifier.

It is not, but do let me know of the usecase as we haven’t found one.

No this would not make physical sense. Objects cannot appear instantaneously and the solver has no means of understanding that. But if you let us know what you are trying to solve it’s possible I could point you in the right direction already.

Yes.

Do a search here on the forums for “fingers” and you’ll find some tips, like this one.

https://www.dropbox.com/scl/fi/bsiful0ooxctddxw27hfl/Bone-chain.blend?rlkey=hu6b48ki6aiy09rq7c8i581ov&st=fxmokq9o&dl=0

  1. You can see in the Question 14 video, that every single bone in the arm is at 0 degrees of rotation. There is no way they can be outside any limits. I have double-checked it by clearing the rotation on all bones, still same result.

Disabling the limits on the arm reduce the amount of twitching upon entering Live Mode, but it doesn’t remove it completely. Disabling the fingers also didn’t change anything.

I actually didn’t know markers are supposed to overlap with their parents and went out of the way to make all of them not overlap with their parents. I changed them back to overlap with their parents but it didn’t change anything.

https://youtu.be/5YR48dZzGuM

  1. Another bug I have found, is that changing the length of markers in Shape Mode sometimes breaks. This is somehow caused by rotating the markers.

  1. About this, I just noticed something new. Although it works fine in a new scene with a box, and it doesn’t move when I enter Live Mode, the timeline in Live Mode always starts moving a bit and stops at frame 3 when I enter Live mode. It doesn’t affect anything, but is this normal?

Oh in that case, it’s not that important for me. Mainly I’m just curious about the possibilities, not really about a particular use case. But if I really have to give an example, it’s the mouth. No no, it’s not about dirty things, I swear :smirk: If I want to use Ragdoll to simulate the mouth bones, it should have a limit on how much the bones can translate.

  1. Performance. A merged solver with 2 characters slows down performance by a lot. I can’t imagine a merged solver with 3 or even more characters. What I’d like to have is only a merged solver when I need interactions between 2 characters, and separate solvers when I know they won’t have interactions. Maybe not necessarily un-merge the solvers, but I want to be able to choose what is being simulated to avoid making it too heavy.

  2. Unrelated question. After one year, how do I upgrade my licence? I don’t see an option to upgrade my licence at the pricing section.

It’s clear that the motion is coming from somewhere above the hand area, and this looks suspicious here.

image

It looks like the arm is intersecting with its grandparent, the torso. Try disabling collisions on the arm or torso.

Oh that’s interesting, yes. Looks like a :beetle:

Yes, it’s to catch any tension present in the first few frames. A good sanity check for yourself to spot whether there are self-intersections or limbs outside of limits. With no motion, all is well. :+1:

You can also set Markers to Enabled: Off

There will be a button on the same page where you purchase the licence, similar to this for studio licences:

Sorry, so is it possible now? If so, how do I do that? The only way I have found so far is to manually select all the markers I don’t want to be affected and inactivate them, but that’s very tedious.

Yes, finally. By shortening the arm, I solved the problem.

There is something else, although this isn’t as big of an issue. The spine markers also twitch a little when entering Live Mode, but just a little. I have checked the rotation, and as always, the bones are at 0 degrees of rotation. One weird thing is that if I set the hips marker to Simulated, which is usually staying as Animated, it reduces the twitching to nearly unnoticeable.

https://youtu.be/BRdEfQJjeFE

It doesn’t improve performance currently.

https://youtu.be/ZAYK-2PMihI

Sorry the video isn’t as smooth as I hoped because I was looking around to see how to disable the markers on one character after merging the solver, but I think it also shows that it’s not very intuitive. I’m not sure if hiding the markers is the same as disabling them. Anyway, in short,

Before merging:
1 character, 24 fps
2 characters, 14 fps
1 character disabled, 1 character enabled, 16 fps

After merging:
2 characters, 14 fps
1 character disabled, 1 character enabled, 14 fps

I see in Maya that there is an option to cut a marker into pieces to better match the shape of the mesh. Maybe that’s a unique feature in Maya. If so, I understand it won’t be coming to Blender. In Unreal Engine, there is something similar. Either you let it automatically generate a collision mesh according to the shape of the original mesh to varying accuracy, or you use multiple collision meshes to form the shape of the original mesh as much as you can. Is anything similar coming to Blender?

Blender does have a few options here, this one is my favourite so far.

https://forums.ragdolldynamics.com/t/ragdoll-beta-for-blender/1171/14

Hm, so he basically made vertices each bone affects into its own mesh. Ok, a bit troublesome but I guess he showed it works. What about meshes without bones, like the ones from https://learn.ragdolldynamics.com/releases/2022.07.20/#convert-to-mesh?
Take the torus for example. It doesn’t have bones, but it needs to be hollow.

That technique is not related to any bones, you can split your geometry in any way, shape or form. Including a torus. I think he split them near bones because that made the most sense for this character.

Okay, I think I get it. So for example, I have a cube that is hollowed like this.

Instead of assigning a marker to this object, I make cubes that match the shapes of the walls that make up the object, and assign markers to them. To make these individual markers to follow the original object, I parent the walls to it.

Now to make sure they won’t move away from each other like the object breaking apart, I set their Behaviour to Animated. But there is one issue here. I actually want the object to be simulated. Like, I want this object to be able to be affected by a character, but I can’t set it to be simulated without it breaking apart.

So basically, I wish we had something like Unreal Engine’s collision meshes. The collision meshes of an object will never move away from each other, but they can be moved by other objects.

To combine multiple meshes into one collision mesh, try Blenders Join command.

Ragdoll looks for connected vertices and considers each “polygon island” as its own convex hull.

  1. That’s neat. There are so many hidden tricks in Ragdoll.

  2. By the way, I do not know if this is related, but here’s something I found in the Blender 4.2 patch notes.

https://developer.blender.org/docs/release_notes/4.2/animation_rigging/

Under Constraints, it says the “Limit Rotation” constraint was limited to 180º, but in 4.2, it can be higher than 180º. I don’t know if the backend of Ragdoll uses the same property, but maybe this is the answer.

  1. One suggestion for Masking in Live Mode. Right now, after I masked a marker, if I accidentally drag it, it will disable the mask automatically. It happens quite often accidentally. I think it’s better that the mask stays on until it is manually disabled.


I got this error while trying to Snap to Simulation, while in Live Mode. Why is that and how can I fix it?

Python: Traceback (most recent call last):
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\ragdoll\vendor\bpx.py", line 1267, in property_group
    group = getattr(self._handle, self.type())
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'rdMarker'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\ragdoll\operators\snap_to_simulation.py", line 48, in execute
    commands.snap_to_simulation(solver)
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\ragdoll\commands.py", line 331, in snap_to_simulation
    dsts = marker["destinationTransforms"]
           ~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\ragdoll\vendor\bpx.py", line 477, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\ragdoll\vendor\bpx.py", line 1290, in __getitem__
    return BpxProperty(self, name)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\ragdoll\vendor\bpx.py", line 539, in __call__
    group = xobj.property_group()
            ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\ragdoll\vendor\bpx.py", line 477, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\ragdoll\vendor\bpx.py", line 1271, in property_group
    raise ExistError("No property group for %s" % self)
ragdoll.vendor.bpx.ExistError: No property group for rMarker_rGround.001

Edit: Oh I fixed it by reloading the file. Still, I think this is a bug. I’m not a programmer but it looks to me that it failed to find the object corresponding to the maker “rMarker_rGround.001”, but both the object and the marker were deleted long ago.

Mm, it does sometime struggle during the setup and experimentation phase with objects being removed. A file re-open should handle those most of the time. Sometimes it’s enough to undo and redo, as this also causes Ragdoll to re-sync with Blender.

I have a question. I assume marking something as an Environment is more efficient in terms of performance than a regular marker, so I should use it whenever I can. And I assume the major downside of a Environment marker is that it cannot move at all. For an object that I won’t move, like a table, should I add an Environment marker to it, or should I still use the regular marker?

Yes/no. The environment supports triangles, and does not need to be made into a convex hull, at the expense of not being able to move.

The environment is likely more costly to collide against because of that, but likely cheaper to compute per frame because it cannot move. So if you have a very dense environment/prop like a 100k triangle chair then you should definitely let Ragdoll turn this into a convex hull, even if it doesn’t move. Or you can manually reduce the vertex count, and use an environment.

So there’s no plain yes/no answer, it depends and if performance is important then I would suggest simply measuring it.

I have another question. So far, the tutorials have only shown how to achieve a certain pose, or to enhance existing Mixamo animations. Can you tell me how to use Ragdoll to make an animation like a walk cycle, or climbing up a ladder or a box, from scratch? What would be the workflow? The one I have tried is to pose the character in Live Mode at different frames, then Record the Simulation. But the problem with that is, posing in Live Mode isn’t very accurate, because the markers can move in every direction.

Edit: I’m probably not using Ragdoll as it is intended to be, and I am probably not even asking the right questions, but my problem is that I can’t pose accurately in Ragdoll. Maybe I’m supposed to pose accurately using the original rig before using Ragdoll to make it more physically accurate? I tried that but there is still a problem. I posed using IK bones in the original rig, then snaped the FK bones to the IK bones, but it’s not very accurate. Then I used Ragdoll, mainly for collision between the character and the walls or floor. The problem is, whatever changes I made in Ragdoll, it gets applied to the FK bones. But if I need to tweak the final result, I need to snap the IK bones to the FK bones, which is very inaccurate.

Just to be clear, I mean switching between IK and FK outside Ragdoll is inaccurate. In Ragdoll Live Mode, switching between IK and FK is seamless. But if I have to use the original rig for initial posing, or final tweaking, it is a problem. I don’t know if Ragdoll is meant to replace traditional posing entirely, but preferably I’d pose entirely in Ragdoll since it has physics.

Sorry, this thread has become too general. It’s important to us and our community that topics remain on-topic and searchable.

If you can pick a topic and create a new thread with (1) what you have tried, including research and images and/or videos of what you see, alongside (2) what you expect to see and (3) steps to reproduce the problem on our end.

Then I’d be happy to fill in the missing details such that it can benefit those who search for the information.