Bugs/Questions that I have in Blender

What… on earth are you simulating here? :sweat_smile: That’s totally doable, and translate motion is the name of the game (with an attach constraint between root and tip for a closed loop). But I cannot show it to you, because I’m trying to keep this forum kids friendly. :sweat_drops:

Here’s a semi-similar example.

No this wouldn’t be possible to simulate, at the moment. But could be achieved by removing the recorded animation on the other 2 axes.

Ummmmmmmmmmmmmmmmmmmm, just ummmmmmmmm, making balloon dogs…
Oh wait no, it’s uh, putting clothes on. Yeah that’s it. No no, I’m very honest.

But yeah I mean, there are so many things that are very difficult to animate without physics. I was playing around in Daz3d, and it already has automatic shapekeys/blendshapes when you bend the arms or legs, but still it’s impossible to do something like crossing arms without clipping. Soft body physics in animation is yet to be solved I think.

I’ll give the closed loop a try, but I think Blender may have a similar problem as Maya. It doesn’t allow the last bone to be connected back to the first bone. Your approach is a bit different in that the markers form the loop themselves, but they need to be stretched.

I have 2 more questions.

  1. Can ragdoll help in animating a character grabbing another character and throwing him around? For example, https://www.youtube.com/watch?v=nqZ1kN4Wkdw, starting from 1:00. I assume I would use the Attach Constraint between the hand and a marker on the other character, enable the constraint at the frame of grabbing, and disable the constraint at the frame of release/throwing?

  2. Can ragdoll help in animating katana sheathing or unsheathing? Note that katana is curved, so the sheathing/unsheathing motion is also curved. I think this might not be possible because the meshes in ragdoll are convex? Anyway, just to illustrate what I hope to achieve better,
    https://www.youtube.com/watch?v=3PWZZrE0OYI
    Starting from 2:14
    You can see Vergil sheathing and unsheathing his katana many times throughout the fight, although it’s often not fully shown. I think it was done by motion capture so they had real physics. It’s one of the cases where the motion is determined by constant collision in real life, and therefore very hard to animate by hand.

Edit: On second thought, maybe I can make a closed loop with markers for the sheath? But how do I make it so that the sheath would not deform at all?

Nah, just make the hand Behaviour = Animated while she’s being flung, animated it to Simulated upon releasing.

That action would not benefit from physics. It can only move along 1 axis and does so in a linear way. Would not bother with any kind of simulation here.

But katana is not a straight sword. That’s the difficult part. The path it follows as it is unsheathed is a curve following the curvature of the sheath.

This is very off-topic, and I’m effectively saying “Don’t use Ragdoll”, but while Ragdoll is the right tool for many jobs, this just isn’t one of them.

An object of any curvature is a matter of finding the centre of the circle it forms and rotating it from there, such as this 90-degree bent sword.

Simulation would definitely make this far more complicated, for no good reason.

Your other example of a character getting tossed around however, that’s an excellent usecase. :+1:


I cannot set the rotation limit larger than 180 degrees. Why is that?

Edit: Also, I think there might be missing documentation on a feature? I was in Live Mode, using IK to move an arm. I couldn’t push away other markers, until I accidentally pressed Shift. I think what Shift does is keeping all the markers active so they can be moved? I don’t think that’s mentioned anywhere.

Edit 2: I can’t get the ragdoll from Load Physics to attach back to the same character it was created for.

Edit 3: I followed the method you used in this video. https://www.youtube.com/watch?v=zWEO_vCkcwE
Appending in this way works, but linking does not. It’s a bit of a problem because if I have to append the character in every new scene, the file size of the scene will be very big. Linking allows you to use the same object/character in another scene without the full file size.

There is another problem, although maybe the it’s Blender developers that should handle this bug, but I’ll let you know anyway since I think a lot of people will run into this problem. There are two ways to Append or Link. One is as you did, File>Link or File>Append. The other way is from something called Asset Browser. You right click something, then “Mark as Asset”, then put it in a folder. In a new scene, you can drag and drop your asset, and it either Appends or Links depending on the settings of the Asset Browser. Blender has been pushing people to use the Asset Browser, so I think most people use it to “Append” now. But I have tested it, Appending from the Asset Browser also bugs Ragdoll out. It is not the same as Appending from the File dropdown.

Edit 4: Found the solution to the problem with Appending from Asset Browser. After you drag and drop the collection, click the dropdown arrow next to “Add Collection”, tick off “Instance”. Now it works. Now only the Linking problem remains.

  1. This is currently what it looks like when you try to use Ragdoll with a linked character
    https://youtu.be/nS3v2UrqYFk

  1. Another question. How can I select multiple markers in Manipulator Mode?


  1. Another question. The fingers and arm move out of place upon entering Live Mode. Why is that? I suspect it has to do with overlapping markers, but I have made sure the markers do not overlap. I even gave them the same overlap group to make sure they don’t overlap, but it still does this.

    Actually, I just tried turning off Self Collide, still the same results. This has nothing to do with overlapping. It’s happening because of another reason.

    Okay found the bug. For some reason, one of the rotation limits on the hand marker is 5 degrees, which is less than the minimum 10 degrees allowed in Ragdoll. That made the hand twitch upon entering Live Mode. This is definitely a bug because I used the gizmo to set the rotation limit, and there is no way to set it less than 10. I don’t know when it turned to 5 but I think it was after I assigned markers to the fingers.

  2. This is a bug. Parenting a bone to another in a rig messes up Ragdoll pretty badly. I know the best practice is to finish the rig completely first before assigning markers, but sometimes some things are after thoughts.

Looks like the Blender property itself has a maximum value of 90; Ragdoll does support it, so we’ll investigate why this is.

Live Mode is overall actively developed and lacks much comfort. It’s safe to consider it a Tech Preview in today’s version, the next version will be a 2.0 of it with more conveniences.

Load Physics generates an entirely new scene based on the contents of the .rag file. It does not consider anything already in your scene. That’s what Import Physics does, however it is not yet implemented for Blender. See here for how it will eventually work.

Will investigate, I remember we did struggle to cooperate with linking. For now, it seems appending is the safer route. I have not heard of the other Asset Browser approach, will investigate this as well. Thanks for letting me know.

Ah, interesting. Thanks for reporting this, investigating this too.

With Symmetry enabled, both sides of a character will be selected automatically. To manually select multiple Markers, you need to disable symmetry. Top-center icon, it’s orange here.

Hard to say without seeing what you are seeing. Does it work in a new scene with just a box? With a single bone chain?

5 degrees is fine, just make sure the finger doesn’t start outside of the limit. The Manipulator UI only goes to 10, but it’s a recommendation only.

Quite. Try saving and re-opening the scene. Sometimes, making a cube and undoing can help, as undoing generally restores Ragdoll’s internal memory management.

Great observations, many solvable bugs found, thanks for this. :star:

  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.

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.

  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.

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.

  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.

  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.