I want to make an effect similar to this: Time slows down But I want it to only slow things down in a certain radius from the player. The only problem is I have no idea how to slow everything down. It would be great if someone could help me out.
Pretty sure you can obtain this by tweening the basepart’s vector force, never really done something like that but I hope this helps.
https://developer.roblox.com/en-us/api-reference/class/VectorForce
Do I need to individually do it for each part or is it possible to effect only the parts in a radius?
you could also just tween a model’s primarycframe on the y axis I believe
Sorry for the late reply but I found a sort of working solution:
- Store the last CFrame of each un-anchored part in an attribute or value.
- After each physics update,
Lerp
between the last and current CFrame.
Example:part.CFrame = part.Previous.Value:Lerp(part.CFrame, slowFactor)
- Finally, set the last CFrame to the current one. Example:
part.Previous.Value = part.CFrame
Warning: This method is a little… weird, so test it to see if it works in your case first.
AND DONT USE IT ON THE CHARACTER
And one more thing:
You may also want to use a script that changes the gravity of each un-anchored part (to the same slowFactor
) as this doesn’t fix gravity on it’s own.