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 br.glen23 · Sep 24, 2013 at 09:40 PM · rotationiostouchdragdragging

Rotating a gameobject via dragging finger

Hello, I'm quite new to Unity, and I'm making a 3d puzzle game for iOS. Right now I'm creating a menu gui where a cube in the center of the camera is rotating(slowly on it's own), and you simply drag your finger left or right to rotate it more in either direction. The gui elements will be on each side of the cube, and thats why it has to rotate.

It should be pretty simple, I want it to:

  • start off by slowly rotating right

  • if dragging finger left or right change direction and increase rotation speed depending on how fast you drag your finger

  • slowly decrease in speed back to normal

I know how to rotate a cube, but I don't know how to detect whether a finger is dragging to the right or left, and how to change the rotation speed based off of that.

Thank you in advance!

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

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by RyanZimmerman87 · Sep 24, 2013 at 09:57 PM

I've never tried to do this myself, but I can take a guess at it. Maybe try something like this:

 Vector2 firstScreenPosition;
 
 Vector2 secondScreenPosition;
 
 bool fingerDownBool;
 
 void Start()
 {
 fingerDownBool = false;
 }
 
 void Update()
 {
 
 if (Input.GetButtonDown ("Fire1"))
         {
 if (fingerDownBool == false)
 {
 fingerDownBool = true;
 
 //this part I'm guessing on if it works for your specific example since haven't tried it
 firstScreenPosition = mainCam.WorldToScreenPoint(Input.mousePosition);
 }

 

    //probably want a better way to detect if finger is up this might require 2 clicks to start moving

 //could try GetButtonUp() for example

   

  else if (fingerDownBool == true)
     {

 fingerDownBool = false;
 }
 }
 
 
 if (fingerDownBool == true)
 {
 secondScreenPosition = mainCam.WorldToScreenPoint(Input.mousePosition);
 
 if (secondScreenPosition.x >= firstScreenPosition.x)
 {
 float newScreenPosition = secondScreenPosition.x - firstScreenPosition.x;
 
 //probably want to use a Slerp or some other function for smooth rotation but you get the idea
 transform.RotateAround (transform.position, transform.up, newScreenPosition);
 }
 
 //etc
 else if (secondScreenPosition.x <= firstScreenPosition.x)
 {
 }
 
 //grab current position for next Update()comparison
 
 firstScreenPosition = mainCam.WorldToScreenPoint(Input.mousePosition);
 
 }

Hopefully that get's you started that is a complete guess since I never tried it, but maybe get you on the right track I hope.

Comment
Add comment · 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

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

17 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

Related Questions

Rotate on drag for IOS? 1 Answer

Help With Touch to Drag Script 1 Answer

How Can I Drag the Object With Touch ? (Mobile) 4 Answers

Unity2D iOS Dragable items by touch 0 Answers

Rotate model with ARKit 0 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