'Unity player facing wrong way

I'm very new to unity and have followed a brackeys tutorial to get this. My movement script works, but the player is always facing the wrong direction, and I am unable to change this. I've made an empty gameobject, parented the model to it and put the script into it, but it still won't rotate. enter image description here

Rotation

Movement script:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[RequireComponent(typeof(Rigidbody))]
public class MovementSystem : MonoBehaviour
{

    private CharacterController controller;
    public float positiveZForce = 200f;

    public float negativeZForce = 175f;
    public float xForce = 175f;

    public float yForce = 125f;

    Rigidbody rb;
    public bool isGrounded;

    void Start() {
        rb = GetComponent<Rigidbody>();
    }
    void OnCollisionEnter(Collision other) {
        if (other.gameObject.CompareTag("Ground")) {
            isGrounded = true;
        }
    }
    void FixedUpdate()
    {
        if (Input.GetKey("w")) {
            rb.AddForce(0, 0, positiveZForce * Time.deltaTime);
        }

        if (Input.GetKey("s")) {
            rb.AddForce(0, 0, -negativeZForce * Time.deltaTime);
        }

        if (Input.GetKey("a")) {
            rb.AddForce(-xForce * Time.deltaTime, 0, 0);
        }

        if (Input.GetKey("d")) {
            rb.AddForce(xForce * Time.deltaTime, 0, 0);
        }

        if (Input.GetKey("space")) {
            if (isGrounded) {
                rb.AddForce(0, yForce, 0);
                isGrounded = false;
            }
        }
    }
}


Solution 1:[1]

The most direct solution would be to call

transform.LookAt(transform.position + rb.velocity);

in your FixedUpdate function. This will cause your gameObject to rotate to face in the direction of its motion.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Peter Csala