Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
This question was closed Jul 23, 2021 at 10:44 PM by PlayZzOfficial for the following reason:

Other

avatar image
0
Question by PlayZzOfficial · Jul 22, 2021 at 05:17 PM · c#rotationrigidbodyplayer movementcamera follow

Will someone please help me???

I've asked multiple questions, an no-one is helping. I feel like I'm not asking to much and its more of a problem than a question... So here it goes..

I am using the new input system and cinamachine. Okay so, my players direction automatically updates with the rotation of the camera, but for some reason the players rotation doesn't actually update.. is there a solution to this if so could someone please help.

 using UnityEngine;
 using UnityEngine.InputSystem;
 
 
 public class PlayerControrls : MonoBehaviour
 {
     [SerializeField]
     InputActionReference playerMovementControls;
     //...//
     [SerializeField]
     float movementSpeed;
     Vector2 movementDirections;
     //...//
     [SerializeField]
     float rotationSpeed;
     Quaternion rotate;
     //...//
     [SerializeField]
     InputActionReference jumpControl;
     //...//
     [SerializeField]
     float jumpVelocity;
     [SerializeField]
     float fallMultiplier;
     //...//
     [SerializeField]
     float gravityScale;
     [SerializeField]
     float globalGravity;
     //...//
     [SerializeField]
     bool isGrounded;
     //...//
     Rigidbody playerRigidbody;
     private Transform cameraMainTransform;
 
     private void OnEnable()
     {
         playerMovementControls.action.Enable();
         jumpControl.action.Enable();
     }
     //-----//
     private void OnDisable()
     {
         playerMovementControls.action.Disable();
         jumpControl.action.Disable();
     }
     //-----//
     void Awake()
     {
         playerRigidbody = GetComponent<Rigidbody>();
         cameraMainTransform = Camera.main.transform;
     }
     void Start()
     {
         playerRigidbody.useGravity = false;
     } 
     //-----//
     void FixedUpdate()
     {
         Move();
         Jump();
     }
     //-----//
     void Move()
     {
         movementDirections = playerMovementControls.action.ReadValue<Vector2>();
 
         var movement = new Vector3(movementDirections.x, 0, movementDirections.y);
 
         Vector3 playerMoving = movement * movementSpeed;
         playerMoving = cameraMainTransform.forward * playerMoving.z 
             + cameraMainTransform.right * playerMoving.x;
 
         playerMoving.y = playerRigidbody.velocity.y;
         playerRigidbody.velocity = playerMoving;
 
         if (movementDirections != Vector2.zero)
         {
             rotate = Quaternion.LookRotation(movement);
             rotate = Quaternion.RotateTowards(playerRigidbody.rotation, 
                 rotate, 
                 rotationSpeed * Time.fixedDeltaTime);
             playerRigidbody.MoveRotation(rotate);
         }
     }
     //-----//
     void Jump()
     {
         if (jumpControl.action.triggered && isGrounded)
         {
             playerRigidbody.AddForce(Vector3.up * jumpVelocity,ForceMode.Impulse);
             isGrounded = false;
         }
         Vector3 gravity = globalGravity * gravityScale * Vector3.up;
         if (playerRigidbody.velocity.y < 0)
         {
             playerRigidbody.AddForce(gravity * fallMultiplier, ForceMode.Acceleration);
         }
         else
         {
             playerRigidbody.AddForce(gravity, ForceMode.Acceleration);
         }
     }
     //-----//
     void OnCollisionEnter(Collision collision)
     {
         if (collision.collider.gameObject.layer == LayerMask.NameToLayer("Ground"))
             isGrounded = true;
     }
 }
Comment
Add comment · Show 3
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image AaronBacon · Jul 22, 2021 at 06:22 PM 0
Share

At first glance, it seems maybe Move should be in Update, not FixedUpdate.

Other than that, I'm not too familiar with Cinemachine or the new Input system, but in lieu of an actual answer, I'd say put a load of Debug.Log() along the process for the player's camera movement. see which parts are running and which parts aren't that should be, May be an idea to make them output the player's rotation.eulerAngles along with "rotate" to the Console, so you can check if the game is setting those variables correctly.

Thats likely why you haven't got an answer yet. You've posted a 110 line long script and said it isn't working, but without knowing how your project is set up or where exactly the script is going wrong, it's hard for anyone to help unless they happen to know alot about Cinemachine and the Input system.

avatar image PlayZzOfficial AaronBacon · Jul 22, 2021 at 06:36 PM 0
Share

this is the part I need help with

     void Move()
     {
         movementDirections = playerMovementControls.action.ReadValue<Vector2>();
 
         var movement = new Vector3(movementDirections.x, 0, movementDirections.y);
 
         Vector3 playerMoving = movement * movementSpeed;
         playerMoving = cameraMainTransform.forward * playerMoving.z + cameraMainTransform.right * playerMoving.x;
 
         playerMoving.y = playerRigidbody.velocity.y;
         playerRigidbody.velocity = playerMoving;
 
         if (movementDirections != Vector2.zero)
         {
             rotate = Quaternion.LookRotation(movement);
             rotate = Quaternion.RotateTowards(playerRigidbody.rotation, rotate, rotationSpeed * Time.fixedDeltaTime);
             playerRigidbody.MoveRotation(rotate);
         }
     }
avatar image PlayZzOfficial AaronBacon · Jul 22, 2021 at 06:39 PM 0
Share

Also, the input system isnt really involved here, i just need the player to rotate with the cameras rotation.

2 Replies

  • Sort: 
avatar image
0

Answer by ZadiusC · Jul 22, 2021 at 07:37 PM

Try deleting the 'look at' object. Then it will just follow the player and look wherever the player is looking, it won't be trying to look at the player alt text


screenshot-2021-07-22-170259.png (34.3 kB)
Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image PlayZzOfficial · Jul 22, 2021 at 08:16 PM 0
Share

That doesn't work sadly. I just tried my characters rotation still points in the direction it was originally going even though its moving in a different direction

avatar image ZadiusC PlayZzOfficial · Jul 22, 2021 at 08:33 PM 0
Share

What happens if you disable the script you have on your player (just unclick the arrow beside it) then drag the player camera onto the player (or use the add component button)? Test

See how you have a red icon beside the main camera, there should be another beside the second camera or the player (can't recall). Trying to find the video I used to learn it, I'll post it if I can find it.

Edit-- Here's a link to the cinemachine tutorial on unity. Great way to learn the in's and out's in an hour https://learn.unity.com/tutorial/cinemachine#5c7f8528edbc2a002053b4ea

avatar image PlayZzOfficial ZadiusC · Jul 22, 2021 at 10:12 PM 0
Share

Hey, so I changed

 rotate = Quaternion.LookRotation(movement,Vector3.up);

too

 rotate = Quaternion.LookRotation(playerMoving,Vector3.up);
     
 
 
 
 
 

now my player rotates like i want, but now my y axis on its position is wanting to change

avatar image
0

Answer by PlayZzOfficial · Jul 22, 2021 at 05:45 PM

Here is a video showing the issues, don't mind the position values, look at the Rotation value for the Y it wont update when changing the camera direction. here is a video https://drive.google.com/file/d/1jpklOaD5ePBQ0rarJiQNsMO02Q8-eC5n/view?usp=sharing

Comment
Add comment · Show 6 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image AaronBacon · Jul 22, 2021 at 06:46 PM 0
Share

Access Denied, think you need to make the file Public

avatar image PlayZzOfficial AaronBacon · Jul 22, 2021 at 07:17 PM 0
Share

Try again please it should work

avatar image AaronBacon PlayZzOfficial · Jul 22, 2021 at 07:27 PM 0
Share

Ok, so it is rotating, but not the way you want it to. I have a feeling the answer probably lies in lines 80-85. Perhaps try doing a Debug.Log that Outputs "rotate.eulerAngles" right before you call "playerRigidbody.MoveRotation(rotate)". See if rotate is actually getting set to the correct value to begin with.

Show more comments

Follow this Question

Answers Answers and Comments

747 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Flip over an object (smooth transition) 3 Answers

How to clamp X axis rotation of a GameObject with a Rigidbody attached. 0 Answers

How to limit rigidbody rotation to one axis at a time? 1 Answer

Need help rotating child of player based off of player movement. 1 Answer

resetting rotation on a single axis 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges