Making BodyPosition Linear


#1

I have a part that follows me and has a BodyForce which negates gravity and makes it float. I want the part to move at the same speed at all times. With BodyPosition, the part moves faster when it’s far away and slows down when it gets close. I’ve tried messing with D, MaxForce, and P with no success.


#2

You should use AlignPosition instead. It has a property MaxVelocity that will do what you want. Set Responsiveness to 200 and MaxForce to some large value.

You may not need the BodyForce.


#3

Thanks so much. I’ve never heard of that, I’ll read up on it.


#4

Having a different issue now. The part seems like it’s welded to my character in some way. It goes way faster than the MaxVelocity of 1 when I move my character around.


#5

Looks to me like the attachment is relative to your body so turning would move the attachment a long distance (as it is further away). Maybe try having a script that moves it in world space and tweens it to that position to make it look smoother.


#6

It seems like it’s staying at a position relative to your character / the assembly, which is kind of annoying and unexpected.

You could try putting the target attachment inside Terrain since it’s based at origin and doesn’t move, and simply tween the position of the attachment to the correct location.