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.
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.
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.
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