Vague title because I need to be quite specific and can't think how to word the title properly.
I'm moving a part when I press the WASD keys. When I press W I want it to move forward, when I press A I want it to move left, etc.
Just considering W and A for now to keep things simpler, how do I make my part move forward and turn properly. I have tried to make it move forward using a body velocity with the Velocity property equal to the part's lookvector as so:
script.Parent.BodyVelocity.Velocity = script.Parent.CFrame.lookVector
This works to a point, but doesn't actually go entirely in a straight line drawn from the part, it seems to veer off for some reason. Not sure if anyone knows why this is or how to avoid it?
As for turning, I'm struggling with figuring out how to make it turn. Presumably, if I can make it turn properly, the forward force will be enough to make it move and turn. I am trying to get it to turn using BodyGryo but am struggling with what CFrame value to actually give it.
Considering turning left, how should I come up with a value for a left turn relative to CFrame.lookVector of the main part?

2 comments
I think you should try using Enum.new for the wasd keys and use Vector3 for the part that will make it move, good luck with the script..
lookVector is a Vector3...