>>438
移動方向に向きを変えるのではなく向きを変えてから移動させればいいんじゃねぇの?
正直そのコードでどう動くのかはよくわからんが斜め方向にだけは早く動くんだろうな、ってのはわかる
やり方は色々ありえるけどそこにかかれてるコードをできるだけ使うなら

float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
direction.x = horizontal;
direction.y = 0;
direction.z = vertical;
transform.LookAt (transform.position + direction);
transform.Translate (Vector3.forward * Speed * Time.deltaTime);

って感じか?