# Goaly Net Physics

Hey, I wanted to make a Goaly Net for my soccer game that uses physics to move when hit by a ball.

Similar to how it is in real life, if you hit the ball into the net, the ropes move depending on the force, the ropes aren’t metal and locked in place, they move which depends on the velocity that the ball hits it from.

In awe, I want to make a goaly net that utilizes physics to make the ropes move when the ball hits, making it more aggressive depending on the velocity.

Any help to accomplish this would be appreciated.

2 Likes

boosting cause I am still stumped!

I have almost no knowledge of that but you should put an int value on the ball and an int value on the network and also put an animation on the network which changes according to the value. You can do this by manipulating the position and that. What would remain is to make a can query event which, when the ball touches the net, verifies the value and passes it to the net.

But another option is to play with the player’s mind, you must put a part that surrounds each post and when the ball touches that part, the ball automatically makes an animation next to the net, hitting it fast depends on the height and you move the player’s camera up to that you fool him

If you were to use ropes or parts, it would be incredibly laggy, since they rely on constant calculations and take in many factors like velocity, size of ball, gravity, density/mass, drag and among other things. Physics based goalie net would be deprecated and inefficient. I would use animations or CFrames to make the net move when the ball hits.

hmm, I don’t believe roblox has this functionality quite yet, Only way this could be optimized and run well is to use animations, or! use the new IK controller, connect all IK’s to point of impact and then move that impact a little.

I know it is quite possible, I’ve seen another game do it before, I just am stumped trying to achieve it. If you are curious I can probably get a video of it.

Its probably animations or custom IK, could I see a video of it?

Move the goalie net using a Skinned Mesh. This acts like fabric.

If you google roblox skinned mesh tutorial you’ll see some examples.

I am looking through and am kind of stumped. It doesn’t seem to be the type of thing to react when a ball hits it with high velocity. Maybe am I looking at it from a “wrong” perspective?

If im not mistaken, one way you could do it is to create the net as a mesh with bones, I believe the term would be a “Deformed Mesh”, correct me if im wrong?

You could just have one general animation to make the net bounce around when it’s touched to simulate the idea that it’s been hit and if done right I don’t think it would be too noticable, could try have the animation play at different speeds depending on how high the ball velocity was at the time? Just a theory.

There’s also the possability that you could create 4 different animations and play the most reasonable animation depending on where/which side the ball hit the net.

Skinned meshes are just meshes you can deform through scripts. You can setup some kind of a surface made out of parts that can’t collide with eachother, but can collide with the ball and make them held in place by constraints. As their CFrame changes, change the bone offsets. It’s pretty complicated for something that’s just an effect, but that’s one way I can imagine, unless you’re ready to implement custom cloth physics.

Technically you could do this with rope segements welded with rope constraints, but I don’t think it needs to be this detailed. There’s no popular soccer game with the goalie net reacting to physics accordingly, nobody will see it anyway.

can you use the rope instance + small unanchored balls and attach the rope to them or do you want it to be scripted?

A post I just remembered I ‘helped’ with.

(& @cheesy_roblox190 )
Although a goalie net would be really lag intensive if you had this many Constraints though.

you could have clients generate their own goal nets with the constraints which could significantly reduce lag since the network owner is the client. this works since the ball physics from one client is replicated for every client

1 Like