Hello! So I started getting into spider man and the epicest thing there is a web swinging. Trust me you would wanted to fly through your city doing some cool tricks in air and feel all this wind flying in your face. And so do I.
So Im trying to make my own spider man movement system and current progress is a web swing. It’s heavily inspired by this game.
So here it is! https://www.roblox.com/games/9564312173/Test-Place-Web-Test
That looks insanely good and well done! The only thing I’d change is the music stopping abruptly qhen you lose speed. Maybe add a something like a delay so it only stops if you haven’t moved much in a few seconds.
It would be wonderful if you gave a quick tutorial on how to do it since i’ve been struggling for a while now
especially with the swinging and the raycasting for nearest part
coincidentally, I was just making one of these for my Marvel game right now! What do you use to move the player? I would use BodyVelocity but thats deprecated, so an answer would be appreciated
To get nearest part I advice you to use workspace:GetPartBoundsInBox() or how it called. After what calculate the nearest part.
For swinging, create a rope and attach it to player’s HumanoidRootPart and to the point
Point calculation
To get point, you wanna get the nearest part and get it’s top Part.Position+Vector3.new(0,Part.Size.Y/2,0). Fire a raycast from player to the part and use it’s normal to get side of part and it’s edge. And then you can create attachment and set it’s WorldPosition to point’s Position.
Also for rope make Restitution = 0. Set player’s HumanoidState to Physics so there won’t be any physics for them calculated.
Insert BodyForce into HumanoidRootPart. Make a loop where you will update force to Vector3.new(char.Humanoid.MoveDirection.X*500,-500/10,500/5) (you can change 500 to whatever you want).
And to not make player just look at random sides. Create BodyGyro and insert it into HumanoidRootPart (play with it P and D). Make sure to make it’s MaxTorque = Vector3.new(math.huge,math.huge,math.huge)). And in the loop together with BodyForce make it’s cframe: CFrame.new(HumanoidRootPart.Position,HumanoidRootPart.Position+HumanoidRootPart.AssemllyLinearVelocity). It will make him look at the direction he’s moving.
That’s it! However my BodyForce's force is a little bit other since I too it’s force from yt not gonna lie.
Everything else is just effects.
Im doing the whole web swinging system on client side (effects can be seen by other players)
Since there no any point at keeping all these physics on server if exploiter still can change them.
So answer is no, unless you want web swinging effect be seen others.
If you want that player could move their direction with camera, then its better to humanoid root part.
But if you want more realistic then you must detect a hand and attach rope to it.
I dont understand them quite well thats why I decided to check it on yt. But if you want make it so you could control your swing direction then for BodyForce force do Vector3.new(Camera.CFrame.LookVector.X*500,-500/10,Camera.CFrame.LookVector.Z*500). If it didnt helped you then it’s better to check code from yt.