Answers for "Rigidbody MovePosition based on the direction facing, but with x and z values calculated separately?"
http://answers.unity.com/questions/1483176/rigidbody-moveposition-based-on-the-direction-faci.html
The latest answers for the question "Rigidbody MovePosition based on the direction facing, but with x and z values calculated separately?"Answer by Harinezumi
http://answers.unity.com/answers/1483184/view.html
You can either use `Vector3.Scale()` on your `transform.forward` (see example below), or you could try converting the touch vector into the world space direction defined by transform using [Transform.TransformDirection()][1]. Both approaches will require some tweaking (e.g. normalizing vectors).<br>
// example 1:
Vector3 displacementDirection = transform.forward.Scale(new Vector3(vector.x, 0, vector.y)); // new vector needed because input coordinates are xy not xz
// example 2:
Vector3 displacementDIrection = transform.TransformDirection(new Vector3(vector.x, 0, vector.y));
[1]: https://docs.unity3d.com/ScriptReference/Transform.TransformDirection.htmlWed, 21 Mar 2018 08:25:22 GMTHarinezumi