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 /
avatar image
0
Question by LucasBonde · Oct 09, 2020 at 04:19 PM · rotationquaternionaxisienumeratorflips

Rotating an object around 2 axis at the same time

Hey. So I have this problem where I want to rotate a player around pitch and yaw at the same time, but when I do so, it kind of glitches. What i want to do is that I want a player to be able to do flips while twisting at the same time. I have spent hours trying to figure out different ways of doing so, but nothing seems to work.

Here is my code that glitches when i press two buttons at the same time:

public class Rotating_Done : MonoBehaviour {

 float angle = 180f;
 Vector3 axis = Vector3.up;
 [SerializeField]
 float speed = 1000f;
 [SerializeField]
 bool readyForNewTwist;

 [SerializeField]
 float tuckSpeed;

 IEnumerator currenteRotationCoroutine;

 public Transform rotateY;

 void Start()

 {
     readyForNewTwist = true;
 }

 void Update()
 {

     if(Input.GetKey(KeyCode.E)){
         transform.Rotate(transform.right, tuckSpeed *0.1f * Time.deltaTime, Space.World);
     }

     if(Input.GetKeyDown(KeyCode.Space)){

         if(readyForNewTwist){

             currenteRotationCoroutine = Rotate(angle, axis, speed);
             StartCoroutine(currenteRotationCoroutine);
         }


         


     }
 }

 IEnumerator Rotate(float angle, Vector3 axis, float speed){

     //Rotates the player 180 degrees.

     Quaternion dest = Quaternion.AngleAxis (angle, axis) * rotateY.rotation;

     while(rotateY.rotation != dest){

         rotateY.rotation = Quaternion.RotateTowards(rotateY.rotation, dest, speed * Time.deltaTime);
         readyForNewTwist = false;
         yield return null;

     }

     if(rotateY.rotation == dest){
         readyForNewTwist = true;
     }

 }
Comment
Add comment · Show 4
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 unity_ek98vnTRplGj8Q · Oct 09, 2020 at 08:11 PM 0
Share

Are you using 2 transforms for your 2 different rotational axis? I see transform and rotateY... is rotateY a child object of transform? If so, have you tried using rotateY.localRotation instead of rotateY.rotation?

avatar image LucasBonde unity_ek98vnTRplGj8Q · Oct 10, 2020 at 07:03 AM 0
Share

I'll just try to do that. I have tried rotating though the same transform but not with this code.

avatar image LucasBonde unity_ek98vnTRplGj8Q · Oct 10, 2020 at 07:11 AM 0
Share

Ok, I tried, but it still didn't work. As soon as i press the other button to twist, the flipping stops...

avatar image unity_ek98vnTRplGj8Q LucasBonde · Oct 12, 2020 at 07:04 PM 0
Share

Can you reply with your updated code?

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

190 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

Related Questions

Creating a multiple part turret what locks onto certain axis. 4 Answers

Unity Simulate Local Rotation 0 Answers

"Free" rotation about a sphere 0 Answers

How would I interpret angular displacement from target rotation to max out at 180°? 3 Answers

How to rotate on one axis while keeping the other axes open to be rotated by other scripts? 1 Answer


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