How do you make ropes?

Hi, guys! So how do you make ropes? As far as I understand there is no "rope object" in Unity. I want to do the following: To make a crane with a rope, one end of the rope is attached to a cylinder and when the cylinder rotates it winds the rope onto itself making the hook go up, when it rotetes in the opposite direction it unwinds the rope making the hook go down. The derrick of the crane is also able to go up and down. On the end of the derrick there is anothe cylinder that is also interacts with the rope. I think I post a picture to visualize my words.-) I apologise for the quality of the picture, I'm not that good at Photoshop.So how do you make something like this:

Any suggestions?

P.S. I looked up this topic:

and the scripts are greate, but the rope doesn't interact with rigid bodies. Also I tried to use a skinned cylinder, but it also doesn't interact with rigid bodies.

If you want to make a physics rope, it will take several segments of rigid bodies attached by Joints. Currently your best bet would be the HingeJoint.

I recently worked on a Unity-powered game where we had a chain/rope-like string of objects that trailed behind the character and that was the class we used to tie those rigid bodies together.

I'm going to be honest, this is a pretty intricate task and there isn't really an easy way to implement this - especially the winding/unwinding functionality.

My personal advice is this - fake it as best you can. Unless the entire game is solely about the most realistic crane ever built, just fake it.

Judging by the bottom-left image (stick man "platforming" on the crane) Correct me if I am wrong, but I'm guessing that you are making a platformer of sorts.

When it comes to production you want to look at a cost-per-component ratio. You want the most important features, like your controls and other main game mechanics to have the most time/money invested. If something is rather minute in scope, insignificant in the grand scheme of things, investing so much time as to create absolute real-world physics is going to blow the cost/value of component ratio way out of proportion.

It's really up to you to decide how important any component of the game is, but a rule of thumb I use is how often any one component appears in the game. If you've got 1-2 cranes in a level - not so important. Again, if the crane is the entire game, essentially, disregard what I said, use the HingeJoint class, and I will eat my hat.

In the scenario where it should just be faked, I would do it using animations and coordinated/synced interpolated collision geometry to achieve a "good enough" product.

Sorry for the length, hope this helps.


PhysX (the buildt in physics engine) is useless for creating ropes/chains using RigidBodys and ConfigurableJoints if you are attaching anything “heavy” to the end. The reason is that PhysX only has an itherative solver. You need a direct solver for this.

I’ve done some testing using OpenDynamcsEngine and the direct solver (use the world.step() function, not the world.quickStep() which uses the itherative solver). ODE is originally written in C/C++ but there is a port to Java called ODE4j which quickly can be compiled to a C# .dll using IKVM

My tests so far is really promising!

The attaced image shows my setup:
The load of the ball is 10 000kg, and the steel rope is 47mm thick whith a densyty of 7000kg/m2 which is close to iron. The crane parts are 3 000kg for the main jib and the king(the cylinder thing) and 2 000kg for the knuckle jib. Both jibs are attached using limitless ODE hinge joints and the hydraulic cylinders which hold everyting up are limited ODE PRJoints (whiche is like a slider and a hinge put together)

Physics rope could be created in Unity3 by using the new cloth system. Demo video:

Not sure if you already got what you needed but I remember some time ago I was looking for the same thing and stumbled on this script which pretty much turns a line renderer into a rope. I don’t remember how well it worked but in case you want to give it a try here’s the link.

Has anyone got the c# version of this to work?
Seems broken.

I drop the script in, attach my target object, and the rope part seems to work–a segmented rope attaches between the anchor object and the target–but… the target object deforms as it moves, squeezing and stretching all over the place.