A downloadable asset pack for Windows, macOS, and Android

Buy Now$14.99 USD or more

The Rope Minikit is a code pacakge that brings stable rope physics to your Unity3d project. The rope component can be used to simulate simple hanging wires or more advanced setups with pulleys and weights that require active collision detection. The bundled example scene shows how to connect the rope for a physically simulated crane, a rope bridge and set of swings. The rope component is written with performance in mind and many compute intensive tasks are handled by Unity jobs on separate threads accelerated using the Burst compiler.

WebGL demo (no Burst) | Website

Readme & demos for other platforms can be downloaded below

Features

  • Stable rope physics
  • Many tweakable user parameters
  • Rigidbody connections allow interaction with the built-in physics engine
  • Scene view handles for adjusting the spawn curve
  • High performance is achieved using Unity jobs and the Burst compiler
    • Typical performance for the example scene with collisions enabled:
      • ~0.2 ms spent in job threads
      • ~0.7 ms spent on the main thread
    • Typical performance for the example scene with collisions disabled:
      • ~0.15 ms spent in job threads
      • ~0.35 ms spent on the main thread
    • Full source code
    • Example scene contains:
      • Physically simulated crane
      • Rope bridge
      • Swings
      • Mouse interaction script

Current Limitations

  • Collisions work with convex Mesh, Box, Sphere and Capsule colliders only
  • It is difficult to get perfectly stiff ropes unless very small physics time steps are used
  • Rope bridge currently only takes the resting mass of colliding rigidbodies into account,there is no impact effect
  • Scripting knowledge required for creating stable rope suspended platforms other than rope bridges

Requirements

  • Burst 1.1.2 or above

About the Minikits

Minikits are small, tweakable and extendable packages with full source code that illustrate how to implement interesting behaviours for your project. They're designed to be easy-to-use and self-explanatory.

Purchase

Buy Now$14.99 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $14.99 USD. You will get access to the following files:

RopeMinikit.unitypackage 1 MB
Version 1.03

Download demo

Download
README-PDF.pdf 134 kB
Version 1.03
Download
rm_demo_win.zip 17 MB
Download
rm_demo_osx.zip 38 MB
Download
rm_demo_and.apk 17 MB

Development log

Comments

Log in with itch.io to leave a comment.

Hi, I also bought and implemented this kitt, it`s really cool rope, thank you. But now I need to cut it, and since I recently started learning unity, I still don`t know how to do it, can you help somehow?)

Thank you for the nice words! Cutting is not supported at the moment but I have it on my list of things to consider for the next update :)

Is it Obi Rope?

Nope, this is a completely custom solution built with the Burst compiler in mind.

Hi, I bought and implemented the kit and it worked out great, thank you for creating this! One thing I'm running into trouble with is getting the end of the rope to firmly connect to a gameobject using the rope pin script. It gets close but it mostly just stays in the right area. Is there a way to firmly attach the last segment?

Hi and thank you for the kind words!

I've recently been told about this and I think it's a bug. I'm about to investigate it and hopefully fix it as the next item on my todo-list. When I do you'll see it mentioned in the release-notes of a new version.

Hi again, I've uploaded version 1.03 just now and it should fix the issue you're having!

Hi, I've bought the kit, and played around a little bit and I just have a few questions. 

1. How do you decide on how many spawn points to add ( what do they do ? )

2. I have switched on collision, but it doesn't appear to be working. The rope falls through the ground etc. 

3. My rope needs to be rolled like in your crane example, but it needs to be rolled up from the start. How would I go about doing that ? 

Best regards Jeppe

(1 edit)

Hi,

1. The spawn points let you decide the initial shape of the rope, so the number of them that you use is totally up to you (it doesn't influence the performance in any way, the resolution and total length of the rope does however).

2. Is your ground a non-convex mesh collider perhaps? See this under "Current Limitations" above:

Collisions work with convex Mesh, Box, Sphere and Capsule colliders only

3. That's exactly a use case for multiple spawn points. If you need more fine-grained control of the shape, I suggest that you spawn the rope and then set each particle position using a custom script (for that you can see what functions to use in the README).

Hope this helps! I'll be away on vacation for 2 weeks starting tomorrow so if you have further questions please send an email through my website and I'll get back to you when I come back.

/Gustav

Does this have self-collisions? Or do the ropes not interact with each other / itself

(+1)

Not in its current state. I have been thinking about adding this but there are no concrete plans. What would you like to use it for?

The ropes in your demo seem like rubber bands.  Do you have a demo with less stretchy ropes please?

(1 edit)

The ropes seem stretchy because the mouse interaction script is infinitely strong and forces the rope to be pulled along no matter its strength. You can take a look at the ropes that are free to swing without the mouse pulling them (the crane for example) for a more realistic scenario. Use the up and down arrow on the keyboard to rotate the drum of the crane. (I should  maybe update the demo and make the mouse less strong as quite a few people comment on this)

That said, it's difficult to get perfectly stiff ropes while keeping the simulation stable, there will always be a small amount of stretch. To increase stiffness, one can a) lower the physics time step b) increase the solver iteration count and/or c) lower the resolution of the rope.

Any chance this would work on Android/Oculus Quest?

(3 edits) (+1)

Actually, the demo scene runs at a solid 60 fps on my old Fairphone 2 (Snapdragon 801), so it should definitely work with the Quest! At least as long as the scenes are not overly complex.

I just had to make sure that I had the Android SDK & NDK Tools installed via Unity Hub and everything worked out-of-the-box :)

Awesome! Thanks for that info!

(+1)

UPDATE: I've uploaded an .apk file that you can test on your target phone!