What I am trying to do is to create rope game. Below you can find a movie how it looks like now.
I am using RopeJoint and I am reducing maxLength each frame to be able to accelerate. Everything seems fine, but the problem appears for bubble kind of ball. I realized that shortening rope does not increase balls velocity. For example if I throw the rope fully vertical and the only "force" is from shortening the rope, the velocity is 0,0. Seems like, body movement is not simulated?
After I let the rope go the momentum is lost. The bubble can fly, but the factor from rope shortening is ignored.
I don't know if you understand what I mean. The movie should clarify it better.
Workarounds I tried:
- Good idea was to use prismaticJoint, but the rotation is fixed, so it doesn't work. I couldn't swing
- Another idea was to use wheelJoint and make use of it's frequency parameter. However here there's a problem that rope becomes rubber. Swing feeling is bad, when it can extend more than initial length, it should always only shorten.
Solutions I see, but they are not available
- RopeJoint which keeps body momentum from rope shortening
- PrismaticJoint without fixed rotation
- WheelJoint with possibility to set max length or create the rope with it's max length, not the rest position.