Help How to find out the rope tension - Printable Version +- Obi Official Forum (https://obi.virtualmethodstudio.com/forum) +-- Forum: Obi Users Category (https://obi.virtualmethodstudio.com/forum/forum-1.html) +--- Forum: Obi Rope (https://obi.virtualmethodstudio.com/forum/forum-4.html) +--- Thread: Help How to find out the rope tension (/thread-3665.html) |
How to find out the rope tension - Kizzualx - 22-11-2022 Good afternoon, how to find out the tension force or remove the rope tension There is a character with three ropes, there is the sum of the length of the ropes. In the screenshot, the left one has a length of 1, the right rope is 5. When I start to reduce the length of the right rope, it pulls the character along, thereby lengthening the left rope, I need it not to go beyond the range of its current length, if it comes out, then uncouple, how to find out when it goes beyond the range [attachment=1569] By this method I change the length of the rope ropeCursor.ChangeLength(rope.restLength + length) Below I tried to find out how long the rope stretches when stretched, but unsuccessfully x = rope.restLength; y = rope.CalculateLength(); z = rope.restLength - rope.CalculateLength(); If you look at these values, then x = 1, y will range from 1 and above RE: How to find out the rope tension - josemendez - 22-11-2022 (22-11-2022, 10:10 AM)Kizzualx Wrote: Below I tried to find out how long the rope stretches when stretched, but unsuccessfully Hi! x is the length of the rope in meters, at rest, so if it's 1 it means your rope is 1 meter long. y would be the current length of the rope including stretching/compression. So if your rope is stretched and its rest length is 1, y will always be larger than 1. I'm not sure I understood your question... the tension force of a rope is a force, if you remove it then the rope will basically collapse under its own weight due to gravity. What you want to find is strain, that is the amount of elongation the rope is undergoing, expressed as a percentage. It can be calculated like this: Code: float strain = rope.restLength / rope.CalculateLength(); strain will be 1 if the rope is not elongated with respect to its rest length, 1.20 if it's elongated by 20%, 1.30 if it's elongated by 30% etc. kind regards, RE: How to find out the rope tension - Kizzualx - 22-11-2022 (22-11-2022, 10:52 AM)josemendez Wrote: Hi!I need the rope, which is already hooked, not to stretch when pulling the other one, but to uncouple the hook, how do I know when to uncouple RE: How to find out the rope tension - josemendez - 22-11-2022 (22-11-2022, 01:06 PM)Kizzualx Wrote: I need the rope, which is already hooked, not to stretch when pulling the other one, but to uncouple the hook, how do I know when to uncouple What do you mean by "uncouple the hook"? If you mean disabling the attachment, you can do that when the strain exceeds a threshold you define. For instance if the rope is stretched by more than 30% (strain > 1.30) then you disable the attachment. cheers, RE: How to find out the rope tension - Kizzualx - 23-11-2022 (22-11-2022, 01:53 PM)josemendez Wrote: What do you mean by "uncouple the hook"? If you mean disabling the attachment, you can do that when the strain exceeds a threshold you define. For instance if the rope is stretched by more than 30% (strain > 1.30) then you disable the attachment.yes, that's exactly what I mean, but the problem is that when I pull even one rope, an object is attached to it, it stretches even more than when two ropes are stretched, is it possible that it doesn't stretch? RE: How to find out the rope tension - josemendez - 23-11-2022 (23-11-2022, 08:59 AM)Kizzualx Wrote: yes, that's exactly what I mean, but the problem is that when I pull even one rope, an object is attached to it, it stretches even more than when two ropes are stretched, is it possible that it doesn't stretch? I'm not entirely sure what you mean by "it stretches even more than when two ropes are stretched", could you share a video/screenshots of the problem? If a rope stretches too much it's usually symptom of one of these: - It's attached to dynamic objects (rigidbodies), but the attachments are set to static instead of dynamic. - The rigidbodies attached to the rope have much greater mass that the rope. - Not enough substeps being used, or too high rope resolution. let me know if I can be of further help, RE: How to find out the rope tension - Kizzualx - 23-11-2022 (23-11-2022, 09:47 AM)josemendez Wrote: I'm not entirely sure what you mean by "it stretches even more than when two ropes are stretched", could you share a video/screenshots of the problem?where can I see the mass of the rope, see the substeps and the resolution of the rope RE: How to find out the rope tension - josemendez - 23-11-2022 (23-11-2022, 11:30 AM)Kizzualx Wrote: where can I see the mass of the rope, see the substeps and the resolution of the rope Those are all pretty important settings, specially substeps and resolution. Mass of the rope: per-control point, in the path editor: http://obi.virtualmethodstudio.com/manual/6.3/ropesetup.html Resolution: in the rope blueprint: http://obi.virtualmethodstudio.com/manual/6.3/ropesetup.html Substeps: in the updater component (by default, ObiFixedUpdater): http://obi.virtualmethodstudio.com/manual/6.3/updaters.html kind regards, RE: How to find out the rope tension - Kizzualx - 25-11-2022 [attachment=1573][attachment=1573] (23-11-2022, 12:04 PM)josemendez Wrote: Those are all pretty important settings, specially substeps and resolution.I have another question, why does the rope go through the wall? [attachment=1573] I tried to hang up the ob collider, it gives this error [attachment=1574] RE: How to find out the rope tension - josemendez - 25-11-2022 (25-11-2022, 08:47 AM)Kizzualx Wrote: I have another question, why does the rope go through the wall? Hi! Because the mesh is not readable. You need to enable the Read/write checkbox in the mesh import settings, as the error message instructs you to do. Note that if you don't make the mesh readable but use it in a MeshCollider and: -The Mesh Collider’s Transform has negative scaling (for example, (–1, 1, 1)) and the Mesh is convex.- -The Mesh Collider’s transform is skewed or sheared (for example, when a rotated transform has a scaled parent transform). -The Mesh Collider’s Cooking Options flags are set to any value other than the default. It won't work. This is standard Unity behavior and holds true regardless of you using Obi or not. https://docs.unity3d.com/Manual/class-MeshCollider.html kind regards, |