Question by 
               cordial_studios · Mar 17, 2021 at 02:51 PM · 
                scripting problemmovement3d  
              
 
              3d movement not working as intended
 > here's the code for player movement:
 
 using UnityEngine;
 
 public class playermove : MonoBehaviour
 {
     CharacterController characterController;
     public float MovementSpeed = 1;
     public float Gravity = 9.8f;
     private float velocity = 0;
 
     private void Start()
     {
         characterController = GetComponent<CharacterController>();
     }
 
     void Update()
     {
         // player movement - forward, backward, left, right
         float horizontal = Input.GetAxis("Horizontal") * MovementSpeed;
         float vertical = Input.GetAxis("Vertical") * MovementSpeed;
         characterController.Move((Vector3.right * horizontal + Vector3.forward * vertical) * Time.deltaTime);
 
         // Gravity
         if (characterController.isGrounded)
         {
             velocity = 0;
         }
         else
         {
             velocity -= Gravity * Time.deltaTime;
             characterController.Move(new Vector3(0, velocity, 0));
         }
     }
 }
 
               and a seperate script for camera movement:
 using UnityEngine;
 
 public class move : MonoBehaviour
 {
     // horizontal rotation speed
     public float horizontalSpeed = 1f;
     // vertical rotation speed
     public float verticalSpeed = 1f;
     private float xRotation = 0.0f;
     private float yRotation = 0.0f;
     private Camera cam;
 
     void Start()
     {
         cam = Camera.main;
     }
 
     void Update()
     {
         float mouseX = Input.GetAxis("Mouse X") * horizontalSpeed;
         float mouseY = Input.GetAxis("Mouse Y") * verticalSpeed;
 
         yRotation += mouseX;
         xRotation -= mouseY;
         xRotation = Mathf.Clamp(xRotation, -90, 90);
 
         cam.transform.eulerAngles = new Vector3(xRotation, yRotation, 0.0f);
     }
 }
 
               the thing that's wrong is that for some reason (probably because the code isn't meant to do this) the player's controls wont change with the camera angle
               Comment
              
 
               
              Your answer