The problem with the script is that all but one of the diagonal movements are not functioning. I have a feeling that this is because the script is detecting that a key was pressed and not checking if the other key was pressed and going to the diagonal rotation.
JS
public var time: Time;
public var characterModel : GameObject;
function Start () {
time.fixedDeltaTime = 0.01f;
characterModel = GameObject.Find("Gamemodel Combonation");
}
function FixedUpdate () {
var yAngle = GameObject.Find("Main Camera").transform.eulerAngles.y;
if (Input.GetKey(KeyCode.W))
transform.eulerAngles = Vector3(0, yAngle, 0);
if (Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.D))
transform.eulerAngles = Vector3(0, yAngle + 45, 0);
if (Input.GetKey(KeyCode.D))
transform.eulerAngles = Vector3(0, yAngle + 90, 0);
if (Input.GetKey(KeyCode.D) && Input.GetKey(KeyCode.S))
transform.eulerAngles = Vector3(0, yAngle + 135, 0);
if (Input.GetKey(KeyCode.S))
transform.eulerAngles = Vector3(0, yAngle + 180, 0);
if (Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.A))
transform.eulerAngles + Vector3(0, yAngle + 225, 0);
if (Input.GetKey(KeyCode.A))
transform.eulerAngles = Vector3(0, yAngle + 270, 0);
if (Input.GetKey(KeyCode.A) && Input.GetKey(KeyCode.W))
transform.eulerAngles = Vector3(0, yAngle + 315, 0);
}