UnassignedReferenceException: The variable PlayerCamera of playercontroller has not been assigned. You probably need to assign the PlayerCamera variable of the?

Hallo wenn ich play klicke kann mich mich von recht und nach links bewegen aber nicht umdrehen. 3d
Und bekomme dann 999+ fehlermeldungen, die so aussiehen wie der title der frage.
hat jemand nh lösung?

Mein Code

using UnityEngine; //das sind die referenzen die benutzt werden von unity

public class playercontroller : MonoBehaviour

{

public float walkingSpeed = 8f;

public float RunningSpeed = 12f;

public float JumpSpeed = 8f;

public float Gravity = 9.89f; //Entspricht ungefär der Engine Erdschweerkraft

public Camera PlayerCamera; // Die Spieler Kamera

public float LookSpeed = 2f;

public float LookXLimit = 45f;

CharacterController charakterController;

//Debug Sachen die man nicht während des Spielen verändern sollte

Vector3 MoveDirection = Vector3.zero; //macht es so das die bewung null beim standart script im normal fall ist

float RotationX = 0;

public bool CanThePlayerMove = true;

// Bei Zuteilungen von Sachen wie Componente,var usw... meistens Awake benutzen

void Awake()

{

charakterController = GetComponent<CharacterController>();

}

public void Start()

{

//Machts so das der Mauszeiger in der Mitte bleibt und unsicht bar wird am Start des Scripts

Cursor.lockState = CursorLockMode.Locked;

Cursor.visible = false;

}

// Update is called once per frame

void Update()

{

Vector3 forward = transform.TransformDirection(Vector3.right);

Vector3 right = transform.TransformDirection(Vector3.right);

//Rennen // Sprinten

bool isRunning = Input.GetKey(KeyCode.LeftShift);

float curSpeedX = CanThePlayerMove ? (isRunning ? RunningSpeed : walkingSpeed) * Input.GetAxis("Vertical") : 0;

float curSpeedY = CanThePlayerMove ? (isRunning ? RunningSpeed : walkingSpeed) * Input.GetAxis("Horizontal") : 0;

float moveDirectionY = MoveDirection.y;

MoveDirection = (forward * curSpeedX) + (right * curSpeedY);

//Springen

if (Input.GetKeyDown(KeyCode.Space) && CanThePlayerMove == true && charakterController.isGrounded == true)

{

MoveDirection.y = JumpSpeed;

}

else

{

MoveDirection.y = moveDirectionY;

}

//Schwerkraft

if (charakterController.isGrounded == false)

{

MoveDirection.y -= Gravity * Time.deltaTime;

}

//Allgemeines Handling der Bewegung

charakterController.Move(MoveDirection * Time.deltaTime);

//Kamera Rotation...Keine ahnung ob das klappt...?

if (CanThePlayerMove == true)

{

RotationX += -Input.GetAxis("Mouse Y") * LookSpeed;

RotationX = Mathf.Clamp(RotationX, -LookXLimit, LookXLimit);

PlayerCamera.transform.localRotation = Quaternion.Euler(RotationX, 0, 0);

transform.rotation = transform.rotation * Quaternion.Euler(0, Input.GetAxis("Mouse X") * LookSpeed, 0);

}

}

}

Computer, Englisch, Programm, Programmieren, CSharp, Unity, unity3d