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 EsmeeKhan · Dec 01, 2012 at 12:43 PM · rotationquaternions

Rotate a Cube on swipe gesture iOS, for a specific time?

Hi !

I am trying to make a 3D Menu of cube , what I want is to rotate cube on swipe. To see all the sides of cube and select any side by rotating cube in every direction I want I got the swipe gestures working properly by using (Fingure Gesture), I want to rotate cube in the direction of swipe with the swipe velocity , now the problem is when I want to rotate it only for the time till it completes an angle which is respect to the velocity of swipe. So any help please. Cause i have been trying and playing with Quaternions and its really messy .

Here is the code for rotation on swipes: using UnityEngine; using System.Collections;

 public class BasicMethodTap : MonoBehaviour {
     
     Vector3 heading;
     public float pinchScaleFactor = 0.02f;
     bool Pinching;
     float fov;
     float minFov = 40f;
     float maxFov = 100f;
     float rotateFrom;
     float rotateTo;
     float sensitivity= 0.02f;
     
     // variables for cube rotation control
     public float rotateSpeed;
     public int rotateDirection;
     public Quaternion targetRotation;
     public bool shouldRotate;
     public float angle;
     public float maxSpin;
     // Use this for initialization
     void OnEnable () {
     
         FingerGestures.OnTap += FingureGestures_OnTap;
         FingerGestures.OnFingerSwipe += FingerGestures_OnFingerSwipe;
         FingerGestures.OnPinchBegin += FingerGestures_OnPinchBegin;
         FingerGestures.OnPinchMove += FingerGestures_OnPinchMove;
         FingerGestures.OnPinchEnd += FingerGestures_OnPinchEnd;
     }
     // Update is called once per frame
     void FingureGestures_OnTap (Vector2 fingurePos, int tapCount) {
     
         Debug.Log ("Tapped:" +tapCount + "times(s) at " + fingurePos );
     }
     
  // spin the yellow cube when swipping it
     void FingerGestures_OnFingerSwipe( int fingerIndex, Vector2 startPos, FingerGestures.SwipeDirection direction, float velocity )
     {
          // convert the swipe direction to a 3D vector we can use as our new forward direction for the particle emitter
         if( direction == FingerGestures.SwipeDirection.Up )
             heading = Vector3.left;
         else if( direction == FingerGestures.SwipeDirection.Down )
             heading = Vector3.right;
         else if( direction == FingerGestures.SwipeDirection.Right )
             heading = Vector3.down;
         else if( direction == FingerGestures.SwipeDirection.Left )
             heading = Vector3.up;    
         
         print ("Swiped to Direction :"+direction); 
         print("Vector:"+heading +"Velocity:" +velocity);
         
         angle=velocity;
         //transform.RotateAround(transform.position, heading, velocity * Time.deltaTime);
         
     }
     
     
      void FingerGestures_OnPinchBegin( Vector2 fingerPos1, Vector2 fingerPos2 )
     {
         Pinching = true;
     }
 
     void FingerGestures_OnPinchMove( Vector2 fingerPos1, Vector2 fingerPos2, float delta )
     {
         if( Pinching)
         {
             // to scale up and down  object
            //this.transform.localScale += delta * pinchScaleFactor * Vector3.one;
             
             // to zoom in/out camera on pinch
             
             print ("delta:"+ delta);
             delta *=-(1f);
             print ("delta:"+ delta);
             fov = Camera.main.fieldOfView;
               fov += delta * sensitivity;
               fov = Mathf.Clamp(fov, minFov, maxFov);
               Camera.main.fieldOfView = fov;
             
             
         }
     }
 
     void FingerGestures_OnPinchEnd( Vector2 fingerPos1, Vector2 fingerPos2 )
     {
         if(Pinching)
         {
             Pinching= false;
         }
     }
     
     void Start()
     {
         //shouldRotate=false;
     }
     void Update()
     {
     transform.RotateAround(this.transform.position,heading,angle*Time.deltaTime);
     }
     
     void OnDisable () {
     
         FingerGestures.OnFingerSwipe -= FingerGestures_OnFingerSwipe;
         FingerGestures.OnTap -= FingureGestures_OnTap;
         
         FingerGestures.OnPinchBegin -= FingerGestures_OnPinchBegin;
         FingerGestures.OnPinchMove -= FingerGestures_OnPinchMove;
         FingerGestures.OnPinchEnd -= FingerGestures_OnPinchEnd;
     }
     
 }
 
 
Comment
Add comment
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

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

10 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

Related Questions

Rotation without tilt around a globe. 1 Answer

align to floor in local X 2 Answers

Trouble Spawning Bullets with proper rotation 0 Answers

How can I turn my cube object to the direction it is traveling? 1 Answer

Weird behavior when setting eulerAngles directly 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