[Niagara 4.25] Rope Physics Mini Tutorial

Very cool stuff, I made an extremely similar behavior using a custom dynamic input and the maintain distance between points module, but the problem with both of these is that the rope points dont really have a nice inertia like you’d expect (like we can see in the niagara youtube video where the lead tech guy shows that kind of behavior off - how did he do that???)
If you find more out Id be very interested to hear!

This is so cool, I can’t wait for more documentation so I can get a solid grasp on Niagara and scripting. I was wondering though if this could be used for tail simulations with a local transform?

I seem to have run into a snag and I can’t see anything when I put the module in


How dumb am I?

I cant see your node network due to the resolution, so it’s hard to tell if your script is off or not.
Also, make sure you don’t have anything funny going on with your Position in Initialize Particle module as i know OP doesn’t use it in his example. Lastly, have you checked the usual Local/World Space params?

1 Like

As i can see from your module screenshot you created local vector instead of global one for TipPosition. Local variables are working only inside your module(like local variables in functions), so you cant link them after.

https://imgur.com/BqPtssh

Make sure to update pendulum and velocity parameters with this new TipPosition vector, after you added new module, as you can see in last step.

1 Like

Awesome tutorial!

Teeny tiny remark
you don’t actually need to make int32, you can add int32 inputs to the subtract node and just fill it in.
I believe that should do the same thing, but it is neater than the swivle nodes.
image

3 Likes

Nice, thank you! Good to know)

That was it, thanks for coming to my rescue! (Still getting my head into a scripting mind space)

I can’t thank you enough for sharing your knowledge!

Great tutorial!! Has anyone gotten this to work? I followed tutorial letter by letter (twice) and I can’t get particles to draw.

Great!!! has anyone tried, starting from this tutorial, to connect and have two controls at the ends with a single rope?

Hi, first off super cool work, thank you very much!
I’m extra new to Niagara so I must have missed something but I can’t find what for hours now ( tried to restart and remake).

Issue: RopeAttributeEmitter isn’t exposed in the Niagara system’s Emitter Attributes (I checked the expose to library)… Maybe worth to note I updated to 4.25.3 today.

Attached a screenshot

@pirate_sheep sorry i’ve messed the order of steps - first you need to add module, then attributes will be exposed so you can use them.

Other thing that maybe better is to make AttributeReader set to Particle instead of Emitter namespace - if you do that, then you will be able to set EmitterName in same module and could skip this step completely:

image

2 Likes

@kmskazka thank you, works like a charm!

1 Like

I have followed through and managed to get to a point where a single arrow is hanging like a pendulum in my level. Also, no matter how many particles I set to spawn, there is only ever two shown in the preview, and one in the level. It’s all I can manage to achieve. I cant see what i’ve missed, any ideas? @kmskazka

Have you done last steps of updating Pendulum Pivot and Accurate Velocity with TipPosition?
Also probably you missed some values here


should be
image

as well as setting ParticleLength to something more than 0

1 Like

Hey @kmskazka! That’s a great tutorial thank you!
I wanted to add collision to this system (along with ribbons) and it works ok so far but the collisions break too much often. I wanted to add some sort of lose on joints between particles, some degrees of freedom (position only) but that will try to always come back to original position, and I’m struggling to achieve that.

I tried to change the way TipPosition is calculated but it looks like the Pendulum constrains is pushing the particles back to the radius of the pendulum pivot + particle length. I also tried to modify this module but it doesn’t work well (particles are bouncing around all the time).

Do you think it would be doable with this kind of setup?
Thanks!

Thanks @cAyou, my tutor is pretty outdated and as you found out there is no real physics - i suggest you take a look at Chain system in ContentExamples project on Niagara_Advanced map, hope it will help you.

2 Likes

thanks for sharing!thanks for sharing!