Welding parts to player during animation breaks movement

I am using an animation, where the player interacts with a machine. To make it feel more real, I decided that whenever the player would take something, I would temporarily weld the part to the corresponding hand, only for the time of the animation taking place. When the animation is finished machine, I keep an item welded to the player as the result.

However, this seems to sort of “break” the movement of the player’s character movement. Have a look for yourself below.

How it should be

How it currently is

As you can see, it behaves rather strange. I would say that the weld almost drives the player in the weld’s direction.
If you were wondering, the welded models are completely the same in both of the footages. They all use Motor6D, none of the parts are anchored or have cancollide on, and all of them have massless on.

What can I do to remove this strange effect?

Any sort of help is appreciated

1 Like

Bump, as I’m still looking for a solution.

Eventually, after numerous attempts which most likely looked like a stab in the dark, I managed to fix the issue.

For anyone wondering how I managed to fix this issue, incase someone does come across this post and finds themselves in the same situation that I was in, here’s a detailed explanation.

Because the animation moves the player to a different location during the playing of the animation, yet still welds the part during the animation, the game simply thinks that the character is still in that direction after the animation ends. This results in the same issue that I had here.

As I see it, there are 2 different ways how you can solve this issue:

  1. Un-welding the part at the final stage of the animation and then welding it again after the animation is finished
  2. Putting the player is the same position where the weld was created

I chose to opt for option 1, as it seemed more reliable to me.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.