@
Wow!!! I did not think that would happen so quickly O_O
Dude you’re awesome!!!
My mind is seriously blown right now (pun not intended, but I’ll roll with it lol)
@
Wow!!! I did not think that would happen so quickly O_O
Dude you’re awesome!!!
My mind is seriously blown right now (pun not intended, but I’ll roll with it lol)
Do you know when you will be implementing that feature then?
Sorry if I’m asking too much. Just wondering cause I could really need it for a gameplay function. Or if you have a workaround that isn’t too complex it would be fine as well.
I tried your suggestion on the tension rope. Something seems to work but it’s rather acting weird now. It’s not really pulling the object but now the rope extends beyond the rest length, it’s like the particles get pushed out and the end just stretches. All I did was first attaching the rope(without its second particle attachment) to my arrow component. Then when it hit the target it detached the from the arrow component and attached to the simulating actor.
I have a picture of the result:
It keeps stretching the red part the further I go
Not too much at all! The only thing I’d say is if this topic goes for a bit longer we could switch to email and post here the resolved solution. Either way is fine with me.
Regarding the function; how about I simply give you a snippet of code or BP logic of it for now and once the update is out you’ll simply swap the call, cool? Let me know if you want C++ or BP logic.
The stretching is most likely due to the disbalance of mass between the rope and the attached rigid body. The setup currently uses the relative mass as a way to give the attached rigid body sway if it’s heavier. Can you tell me the mass of both, the rope and the rigid body? As well as the number of segments in the rope? Lastly, make sure the rigid body is set as Movable and is Simulating.
Thank you!
Love the pun lol!
Yes sure, we can talk via E-Mail now if you want But I think it’s kind of resolved now.
Thank you it was the mass apparently. I had the mass of the rope too low. It was around 100 and the Cube had 177. Num segments is 25.
I set it to the same as in your examples, so it’s around 1700 now. Is it possible to give the rope less stretch? I set the Stretch property to 1 already, if I set it beyond that it bugs out for me. The rope feels a bit too elastic and bouncy to me.
But it’s a really cool feature thanks for that!
Thank you for your support, I would really appreciate it if you give me some sort of Blueprint solution
Awesome! Happy we got that sorted. As for stretching, try increasing the Constraint Iteration count and Simulation Iteration count in Project Settings->VICODynamics. If you don’t use too many soft-bodies then you should not see a performance hit. The stretchiness is a part of how the solver works, I believe I described it a few posts back, but essentially it’s the underlying algorithm which creates the softness.
Regarding the rest length function: I started putting it together and realized that non of the UObject types are marked as ‘BlueprintType’ which means that they can’t be stored in variables. D’oh! Is it an option for me to get you a C++ snippet which you can use as a static function in a BP Library class? If not, you’ll have to wait until I get the update out. Sorry about that and thank you for helping me discover this bug!
Thank you!
Is it difficuilt to implement? Don’t really know any C++, only noob level python and some minor stuff.
If it’s too much of a hassle I can wait for the release.
It should just involve you adding a C++ class inheriting from BlueprintFunctionLibrary and copy pasting a bit of code that I can post here for you. If that works, I’ll get it up for you tomorrow or sooner.
Okay sure, works for me!
Ok, well I found another little bug deeper in the code which means even my code snippet won’t work.
Tell you what, drop me an email vdue4@.com this way I can have you quickly test the patched version and help test the new helper function. Is that alright with you?
Sorry for the confusion, but I can’t catch all of the bugs myself and really appreciate it when others reveal the ones I completely missed.
It’s no problem! I sent you an email.
Big thank you to @SmthAwful for helping test the new “SetNewRestLength” helper function which allows for easily changing the ropes rest length at runtime:
This will be coming in the next patch which will be submitted to Epic this week.
Hey everyone! Wanted to address the lack of updates this month due to the holidays. Things will get back to the previous pace in January and shortly after that Feature Update 2 should be ready for release!
Happy holidays to you all!
Quick update!
Got an initial test of using a Skinned Mesh as the visual representation of a rope/cable:
I suck at modeling, so I’m using a long box as a test. I wanted to use a vine, but there is no way I can model that.
The process is fairly simple, create a non-skinned root bone [Has to have Root in the name], create sequential bones with sequential names [Bone0, Bone1, etc…] and make sure that each of the bones is it’s own child of the root. That’s it!
Still a couple bugs to fix, but this should make Feature Update 2.
Would it be possible to use this with a player character? for example if you wanted your character to be just a piece of cloth you manipulated with input velocities?
I don’t see why not! As long as you distribute the forces accross multiple points, it should work just fine.
I’m looking for something to use for fishing line in a fishing game. Would this work for this purpose?
I of course need to be able to extend it to the lure in flight and stop extending once it’s landed. I’ve noticed in all the examples I’ve watched the rope seems to stretch like a rubber band. Can you make it more rigid like fishing line?
I have had other devs use VICODynamics in fishing games, so I’m inclined to say yes. But I have not tested it myself.
The extending is very doable especially with the new SetNewRestLength function which allows for changing the length at runtime. The system is elastic at its core, this is how the solver algorithm works. Hence, being a soft-body system. You could turn up the substep and constraint iteration counts higher to achieve more rigidity, but it will never be perfectly rigid. If you know you’ll have a set number of fishing lines in a level, then you should be able to increase the substep and iteration counts for more rigidity while maintaining desired performance.
Hope that helps.
is there any way to add a constant directional force, ie gravity, for example a rope that is falling “left” rather then down.
Are you looking to apply that force Simulation wide or on a specific component?