Then try adjusting the velocity of the first bodyvelocity, and force move the character directly. Ex: if a or left pressed then character.cframe = character.cframe*(5,0,0)
(Obviously this is pseudo code).
Also, look into bodyposition, that moves an object from one position to another whereas bodyvelocity moves it in a direction. Pretty sure that’s what you’ll have to use to do what you want ex: a body positon parented to primarypart, bodyposition.position = hit.position (of course you’ll have to tweak the other values of bodyposition so it moves at the speed you want)
Moving the character directly will make a glittering effect and is not appealing to the eye. I’ve looked into bodyposition and it will not help me achieve what I want to do. BodyPosition will directly move the character to the position and it’s at an inconsistent rate which are things I want to avoid.
EDIT: Adding any offset to the BodyPosition’s Position will also not work because the position is the end goal
while true do
wait() game.Workspace.Mystifine:SetPrimaryPartCFrame(game.Workspace.Mystifine.PrimaryPart.CFrame * CFrame.new(0,1,0))
Moving at 0.01 stud every wait() does nothing
The overall speed is the same but the movement is sine or something like that, it’s clear that the part slows down upon reaching the target. I’ve also noticed an odd moving pattern, I expected it to move diagonally to the target (shortest distance)