(24-05-2021, 08:48 AM)josemendez Wrote: Can see the images now, thanks!Thanks a lot for your pointers! I changed what you mentioned and it seems to behave a lot better than before.
-Stretching scale should always be set to 1, unless you're after some special or unusual effect. You have it set to 0.24, which means the rope will try to shrink to 24% of its size. This is not what you want in this case.
None of the "distance constraints" parameters affect bending, and none of the "bending constraints" parameters affect distance/stretching. If you want to adjust bending, use the bending constraint parameters.
-Your ObiCollider has a thickness of 0.25 meters. This is a lot, will leave a huge gap between colliders and particles and also negatively affect performance. Use small values close to zero, eg. 0.001. The default is zero.
-You're using 20 substeps. That's way too many, will just burn CPU cycles for no good reason and result in bad performance. Using 2-6 substeps is more than enough in most cases. The default is 4.
Note: I see you're using the Oni backend. When possible, use the Burst backend. It's slightly more performant, and has better platform compatibility. Oni should only be used as fallback.
However, now the rope seems to be a lot more wobbly, which results in the ball not being able to launch off of it, and the rope to go all over the place, especially up and down.
My current Max bending setting is at 0.005, and stretching scale is at 1 as you recommended.
You can see it in this video: https://i.gyazo.com/68734514524df7e36177...30e6a0.mp4
Edit: Another question if I may;
I decided to launch the ball manually, not by the force applied on it by the rope.
So I detect when the ball collides with the rope with the Solver.OnCollision event.
Then I get the position of the ball in the moment of collision, and set it in initialPosition variable.
After that, when the ball is released (mouse button is not held), I get the position of the ball, then turn the two positions into a direction vector via subtracting the two positions.
Then I get the RigidBody of the ball and put the vector's z axis into the velocity to launch it.
However, there were a couple of issues with this:
First, the player is supposed to be able to move the ball while it's touching the rope.
The problem is, while the ball is touching the rope, the initialPosition variable is getting the new ball position, so subtracting it by the ball position is resulting in Vector3.zero because both positions are the same.
Do you know have an idea of I can get a launch direction vector while moving the ball against the rope?