Search Unity

  1. Click here to receive a gift with your purchase of Unity Pro or Unity Enterprise.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

QuickRopes Rope Physics Tools

Discussion in 'Assets and Asset Store' started by reveriejake, Apr 20, 2012.

  1. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    QuickRopes Version 3 Released!

    QuickRopes version 3 is now available for download at the asset store. This new update fixes many problems from the past and will resolve all compatibility issues with Unity 5. The new documentation is up and I have provided new video tutorials on how to setup and use QuickRopes 3!

    Documentation: http://www.picogames.com/quickropes-documentation/

    Rope Renderer Demo: http://www.picogames.com/QuickRopes3/Scenes/RopeEditor/

    Video Tutorials: Tutorial Playlist on YouTube

    Features:
    • Easy to Use Inspector
    • New and Easy to Use Spline Editor (Seen Below)
    • Awesome new Rope Renderer (Update Currently "Pending Review" - Seen Below)
    • Link Caching to Improve Performance
    • Scripts for Raising / Lowering Ropes Included
    • Up-To-Date Documentation and Video Tutorials
    • Free Updates!

    Get it Here on The Asset Store!

    (Rope Renderer Update Currently "Pending Review")


     
    Last edited: May 10, 2015
  2. rosor

    rosor

    Joined:
    Nov 15, 2009
    Posts:
    3,807
    looks great !! nice work ! hope you'll get your money back for the time invested in this asset.
     
  3. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Hey thanks! One of my biggest fears about selling anything is that the ones who buy it wont be satisfied (Weird fear of mine)! So I tried to get it right this time and make it as professional quality as possible using my previous experiences. Also the added benefit of selling is that I will be able to justify the 5-10 hour nights working on solutions!

    Jake
     
  4. wightwhale

    wightwhale

    Joined:
    Jul 28, 2011
    Posts:
    390
    Just got the tool yesterday and I have to say you are justified charging for it. The quality is very high. Also I was wondering how to lower the bounce on the rope. I'm using a prefab rope and my own chain mesh. I'm trying to make it so it bounces very little as a metal chain will go to full extension of the chain but not bounce up and down.
     
  5. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    I hate giving this answer but unfortunately there is always going to be a little bounce or sag in the chain. This is an issue that I have been trying to "hack" out sense I started writing the rope codes and I have yet to find the solution. One day maybe it will happen but for now I still don't have any answers.

    Thanks for the purchase and feel free to email me or PM me if you need anything else or would like to suggest new features. And sorry I could not help in this case!

    Jake
     
  6. wightwhale

    wightwhale

    Joined:
    Jul 28, 2011
    Posts:
    390
    I'm attaching a heavy rigidbody to the rope and the object will stretch the chain so much that the links go super far outside of their starting locations. Any way to fix that issue or maybe I should swap to a line rope?
     
  7. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    In the documents unity mentions that you should generally keep your mass below a value of 10. The ropes I have tested were as high as 300 and at that mass they jitter around. If you are below the mass value of 10 try increasing the drag slightly. If your mass is way above 10 then you might be runing into PhysX issues.
     
  8. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Also if the object your attaching to has a large drag then you will see the mentioned issue. The crane scene I included has the cubes that are able to be picked up by the crane, those cubes are the ones I tested the limits with. Regarding the switch to line ropes, there should be no difference between the two as they share the same base rope type.
     
  9. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    I will be making some tutorials this weekend as well as working on the next update so check the documentation site on Sunday night or Monday and there should be tutorials there! I would also like to update the site to include a physics page that kind of explains a little more about the physics side.

    Jake
     
  10. wightwhale

    wightwhale

    Joined:
    Jul 28, 2011
    Posts:
    390
    Hey Jake,
    Thanks for the help thus far. I've made 2 videos of my issue. Maybe this will allow you to assit me better as I'm not sure what to change to make the chain work to my liking.




    As you can see there's a lot of bouncing going on with the rope. I would like to limit this as much as possible. I've tried making the length shorter but there doesn't seem to be any sort of max rope length.
    Thanks for the help,
    WightWhale
     
  11. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    @wightwhale
    Yeah I see what your saying. I could not really see what your rope setting were very clearly in the video, could you take a screenshot of the settings you have on your rope with the "Rope Physics Settings" visible so I can recreate the scene and run some tests on it.

    Also if this rope isnt an object that you need to view up close maybe using a line rope as you had mentioned with the link texture on it. That way you can decrease the joint count considerably and still have the large number of links? I know this might not be an option so I am still going to try and figure this out for you.

    Thanks,
    Jake
     
  12. wightwhale

    wightwhale

    Joined:
    Jul 28, 2011
    Posts:
    390
  13. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Try to lower your mass in the "Rope Physics Settings" to something like 0.2. In the meantime I will recreate this scene and get back to you within the next 8 hours or so (at day job at the moment).

    Jake
     
  14. wightwhale

    wightwhale

    Joined:
    Jul 28, 2011
    Posts:
    390
    When setting it down around .2 the rope tends to curl up on the bottom after swinging. It's like it doesn't respect that there's a heavier weight at the end of the chain. Also when I do make the ball at the end heavier it just stretches the chain out further.
     
  15. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Okay I will give it a shot tonight for you. I was having troubles getting the ends to behave right before and had to make some changes so it may even be something in the code (hope not). It might even be the center of gravity is set wrong on the end of the weight (again a code issue). I will update you once I get a test scene created.

    Jake
     
  16. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    I do want to mention that the sag issue has always been an issue with the ropes when you get a large amount of joints in the rope. So the solution might not be clear and it may also be inherent in the PhysX engine its self.

    Jake
     
  17. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Hey again, I see what you are talking about with the curling and that is an issue I will need to fix on my end. As for the sag, you can limit it a bit more by increasing your "Solver Iteration Count" in the "Edit -> Project Settings -> Physics" section. I also had the rope joint mass set at 0.5, the Drag at 0.3, and the Angular Drag at 0.2.

    I will put some time in to trying to fix the curl issue and hopefully I can find some info on a workaround for the Physx issue with the sag.

    Jake
     
  18. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,435
    Nicely done Jake, your demos look great! :)
     
  19. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    UPDATE:

    Hey guys, I am going to miss my upload target of Monday but I think I may have a fix for the 'curling' issue that some of you have been having. If any of you dont want to wait until Monday, are brave with C#, and are not worried about mucking things up, please do the following!

    Inside of QuickRopeBASE.cs at line 299 add this line:
    obj.rigidbody.centerOfMass = buildDirection * (buildDistance/2);

    Let me know if this fixes the 'curling' issue. It will be in the next code update which I will submit tomorrow night.

    Here are some Pulley images!
     

    Attached Files:

  20. wightwhale

    wightwhale

    Joined:
    Jul 28, 2011
    Posts:
    390
    I tried your line of code out and it doesn't seem to do much for the curling issue I'm having.
     
  21. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Hmm thats interesting. I used your settings to produce my rope. Maybe there is something else there I am missing? I will keep working to try and reproduce the curling.

    Jake
     
  22. wightwhale

    wightwhale

    Joined:
    Jul 28, 2011
    Posts:
    390
    I'm sending you a link to a demo project I made. Didn't want to post it publicly here as it contains all your code.
     
  23. CaptainKirby

    CaptainKirby

    Joined:
    Dec 12, 2011
    Posts:
    33
    Hello.
    I have question!
    I attemt delete attach from object by script!?
    thanks
     
  24. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Im not quite sure I understand what your question is. If you need to add or remove an object from the rope, you should do it in the same way I did the "hook.cs" script in the example script. The rope needs to have the final joint connected so you must not delete that joint.

    If your talking about adding objects to the rope and removing them via script such as lamps on an electric line, you could use the following script (pseudocode) or something similar. I will be including scripts to attach and detach object in the next version update.

    Code (csharp):
    1.  
    2. using UnityEngine;
    3. using System.Collections;
    4.  
    5. public class AttachObjectToRope : Monobehaviour
    6. {
    7.      public GameObject attachedObject;
    8.      pubic int attachedAtIndex = 5;
    9.      private QuickRopesBASE rope;
    10.  
    11.      void OnRopeInitialized() //Called by QuickRopeBASE when the rope has finished initialized
    12.      {
    13.           rope = GetComponent<QuickRopesBase>();
    14.           attachedObject.transform.position = rope.Joints[attachedAtIndex].transform.position;
    15.           attachedObject.AddComponent<FixedJoint>().connectedbody = rope.Joints[attachedAtIndex].rigidbody;
    16.      }
    17. }
    18.  
    Let me know if this helps or if I missed your question entirely!

    Jake
     
  25. christophm

    christophm

    Joined:
    May 27, 2012
    Posts:
    7
    Hi Jake,

    I bought Quickropes today and was able to generate a nice mesh rope using one of my own rope textures.
    However, I failed at my next task which is pulling a block with a rope. A pole with a wheel is installed next to the block, so that a donkey can pull the rope, thus lifting up the block (similar to your pulley image). Is there any tutorial on how to use a wheel and a rope together?

    Thanks!
    Best regards,
    Christoph

    edit: I uploaded a screenshot to illustrate what I am trying to archive:
    edit2: On the block it should say "...that needs to be moved", not removed. sorry!
    $Bildschirmfoto 2012-05-27 um 23.22.45.png
     
    Last edited: May 29, 2012
  26. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Hey sorry to hear. What exactly is happening that is causing the issue? Without a bit more detail as to the actual error I am left guessing. Here is a list of things you can try.

    1) Make sure the rope has colliders in it. (QuickRopes -> Addons -> collider script)
    2) Make sure the block your pulling doesnt have a massive amount of mass. If it does the rope will go through the pulley.
    3) Make sure pointB is the block
    4) Jittering problems can usually be solved by increasing physics iterations in editor settings.

    If none of those work feel free to contact me again via PM or Skype (reveriejake)

    Jake
     
  27. jeffmorris

    jeffmorris

    Joined:
    Nov 26, 2009
    Posts:
    144
    Jake, Will your Quick Ropes work for 1.5-ton cars pulling 10-ton vaults like "Fast Five" movie?
     
  28. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    As long as everything in your world follows the same physics standards (ex: 1/10th scale) then I dont see why it wouldnt work.

    Jake
     
  29. rockysam888

    rockysam888

    Joined:
    Jul 28, 2009
    Posts:
    650
    (bookmarked)
     
  30. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Hey Guys, I submitted the V1.1 update to the asset store today so look for the update in the Asset Store soon!

    Just a heads up though:
    BACK UP YOUR PROJECT. There has been a pretty major overhaul of the way the ropes are constructed and edited to fix some of the bugs (hopefully). I noticed that the rope at some point was actually building the rope along the swing axis instead of the twist axis which was causing issues.

    Hopefully you guys are happy with the new update. If there are not to many major bugs in this version I can focus on other things like swingable ropes, more complex mesh generator for the mesh rope, a spline editing tool, and preview support.

    As usual, if you have any questions PM me or CONTACT me!

    Jake
     
  31. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,056
    Would Quick Ropes be able to handle the line from a fishing rod?
     
  32. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819

    Yes except you would have to find a custom solution for casting the line as that has not yet been implemented. However reeling in the line should be no problem.

    Jake
     
  33. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,056
    Thanks for the reply, i'll look at my options for casting then. :)
     
  34. jdwieber

    jdwieber

    Joined:
    Mar 20, 2012
    Posts:
    28
    Hi Jake,

    I'm adding climbing to a game I'm working on and want to use a grappling hook. Would quick ropes work for a grappling hook? If I have a treble hook and attach one end of the rope to it, give the hook a suitably high velocity to shoot it, would I be able to make a mesh rope keep up with it? Thanks.
     
  35. wightwhale

    wightwhale

    Joined:
    Jul 28, 2011
    Posts:
    390
    I'm attaching a Quick Rope Attach Objects script to an Object which already has a Quick Rope Line Rope Script on it and I'm getting an error on line 39 in QuickRopeAttachObjects.cs. The error is that rope is null. I put a breakpoint in the start function and it's not getting called before the on rope initialized code.


    NullReferenceException: Object reference not set to an instance of an object
    QuickRopeAttachObjects.OnRopeInitialized () (at Assets/QuickRopes_1-1-0/Scripts/Scripts/QuickRopeAttachObjects.cs:41)
    UnityEngine.Component:SendMessage(String, SendMessageOptions)
    QuickRopeBASE:InitializeRope() (at Assets/QuickRopes_1-1-0/Scripts/BaseClasses/QuickRopeBASE.cs:271)
    QuickRopeLineRope:Start() (at Assets/QuickRopes_1-1-0/Scripts/RopeTypes/QuickRopeLineRope.cs:25)
     
  36. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    PRICE DROPPED TO $30

    I am doing this until I release the next version of the rope script.

    Get it here!


    @wightwhale: Didnt get your message sent to me via email so sorry for the delay. I did not consider the script execution order so that issue may still occur. I will fix that error in next release.

    @jdwieber: Same as above, I dont think I got your email either unless I replied via PM so sorry about that. Grappling hooks cannot really be done in real-time with Quickropes. The best way to do them is by generating a rope after the grapple has touched down.
     
    Last edited: Sep 4, 2012
  37. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,435
    Hey Jake, did you ever get the "pulley" version working? Got a demo someplace I can see? Thanks!
     
  38. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    No I haven't got a pulley version version released yet. Sorry :(

    I am trying to get an IK system implemented into the rope editor so you can design your rope using splines. The problem I have been facing is I cant just flat out use splines to make the ropes because tight curves make joints too close together. So I need to combine splines with IK. I work full-time still and also part time on game projects. Plus I still have these 2 projects to work on so time is still tight on when I can work on things unfortunately!

    Plus financially the support for the rope is still not there to allow me to justify the time. And with about 1350 illegal downloads of QuickRopes in the past 3 months on various websites I have lost a valuable amount of money that would have allowed me to spend 100% of my time on this stuff.

    I'm still working on it for those who legitimately paid for this stuff but it is still incredibly slow progress! Thats why I dropped the price down. Sort of a motivator for me to get the next update out.
     
    Last edited: Sep 5, 2012
  39. dasbin

    dasbin

    Joined:
    Jan 14, 2012
    Posts:
    261
    Hi Jake,

    This looks like possibly the best ropes solution for Unity I've seen.

    Will this work in a 2-dimensional game (ie with one of the axes physically constrained)? Most solutions seem to start acting really funky if they can't move or rotate in all directions.
    Also curious if you have implemented a stretch feature in QuickRopes (with limits). I'd like our rope to be able to stretch to a maximum length under load (and preferably not slingshot back too hard, just decrease length as load is decreased).

    Thanks.
     
    Last edited: Sep 5, 2012
  40. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Well the stretch feature your asking for seems to be the main thing people dont want! I am not sure exactly what your asking for though so I cannot answer you definatly but I can say that the rope does stretch to a point before going haywire. I think if springs were used it would work better but I cannot tell you off the top of my head how to accomplish that with this solution so if you want I can get back to you on that.

    A bug was discovered today with the constraint system and I have a fix for it so if you do decide to pick up the package PM me and I will send you the fix. There are constraints though and you can constrain the rope to the XY, YZ, or ZX planes.

    Jake
     
  41. Apiweb

    Apiweb

    Joined:
    Nov 26, 2011
    Posts:
    57
    I'm very interested in the script and want buy it, but I have two questions:
    • - I am wanting to create a 2d platform game, and would make the rope behave like rope Donkey Kong Country 1? It is possible to make it moves only in the X and Y? Or even just the X?
    • - And another question would be. It is possible by script, procedurally generate rope? I explain. in my game the character will have a gun that can shoot ropes, so I was wondering if it is possible to generate procedurally rope?

    Thanks and hope to buy the script as soon as possible
     
  42. dasbin

    dasbin

    Joined:
    Jan 14, 2012
    Posts:
    261
    This is working pretty well with some physics tweaking. It is easy to get the rope to behave physically the way you want.

    I do have some API concerns:

    - There is an AttachObjectToRope() function, but I didn't see any Detatch() functionality in the documentation. How does one detatch an object at runtime?
    - It seems to me there should be a function to disable (but not destroy) the entire rope, except for a listener script that would re-enable it when needed.
     
  43. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Sorry I have been away for so long.. But I think QuickRopes 2.0 will make up for it ;). Here is a new feature that has been requested shown in action!



    Jake
     
  44. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,435
    Perfect timing, I could really use that feature! :D
     
  45. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Yes lol well I think everyone has been saying the same thing ;). I have just been having a SUPER hard time trying to figure out how to space the links on a spline curve. As you can see I finally figured it out so now I can go ahead and get this wrapped up and add a few more fixes to the rope.

    One major downside to it though is that it will be non-compatable with the previous version so all of the old ropes will need to be replaced =[. I will try to get a converter included but I don't wanna tack too much more time onto this.

    Also I noticed that Spooky Cat has released his rope stuff so I might not be able to compete with that in the future depending on how good it is (But judging by his previous stuff it is probably good).

    Jake
     
  46. kobal

    kobal

    Joined:
    Jan 31, 2012
    Posts:
    48
    Hey Jake,
    Sorry if this is not the best place to ask, but I did not receive a response to my email. It probably got lost or you were slammed with work :)
    Love QuickRopes and think it is perfect for what I am trying to do. However I have run into an issue.
    I am trying to create a set of gauges that have 3 hoses hanging from them. The goal is to have a set of hoses that I can drag the ends and plug into a condensing unit. The hoses are only about 4ft long with a diameter of .02 in QuickRopes. When I scale everything down this small the physics just don't work right. I am guessing that I need to change some settings, but there are so many that I am having trouble.
    Could you point me in the right direction? Here is a picture of the hoses I want to recreate.
     
  47. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    I remember this question. I could have swore I answered but apparently not lol. Its okay to ask any question in here that you'd like. My guess is that you have A LOT of small joints. If you have a large number of joints in a rope I think it will act very eratic. If thats the case then try lowering the number of joints in the settings. Those hoses are very stiff so I think you could get away with 10-15 joints.

    If that is NOT the case then feel free to add me to skype @ reveriejake or PM me your skype/msn/aim info and I will try and help you there in real time.

    Jake
     
  48. kobal

    kobal

    Joined:
    Jan 31, 2012
    Posts:
    48
    Thanks for the quick response. I have started making significant progress in the last hour. It wasn't my joint count. It had more to do with the mass of point B. I had to set it so much higher than I thought I should. I went from default of .5 to 20. This along with Twist Limits of 30 gave a pretty good rubber hose effect. I don't know if this is good or not, but the results sure are.

    I will let you know if I run into any further questions. It's nice to see a developer show this kind of support for his product. Well worth the price.

    BTW, really looking forward to your next update. Using splines to define my hose shape will be a huge help since the hose ends are connected to the Gauge for transport. Any idea when you think it will be released?
     
  49. Taliwut

    Taliwut

    Joined:
    Sep 27, 2012
    Posts:
    34
    May I constraint movement in 2D ?
     
  50. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Should be able to do that with the current one. FIX : www.reverieinteractive.com/downloads/QuickRopesFix.zip

    @kobal: Soon I hope. Its LONG overdue ;). Sorry but no specific dates because I am bad at that and usually don't meet the date I set due to outside events.
     
unityunity