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 Gucci Gagan · Sep 16, 2013 at 05:05 PM · quaternionrotatetopdownturret

Rotate Turret where touched (top down view)

I have a top down view of a turret(player) and I want it to aim where the user touches. How do I rotate it, on XZ plane, to face the user's touch?

Ive tried

 Quaternion.Slerp(player.transform.rotation, touch, 6 * bananas); 

but it has failed me..

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 ShadoX · Sep 16, 2013 at 07:59 PM 0
Share

Without knowing exactly what failed,I could only suggest to try and freeze the Y rotation of it assu$$anonymous$$g that that's the problem.

avatar image Gucci Gagan · Sep 16, 2013 at 08:06 PM 0
Share
 var lookPos = touch - transform.position;
 lookPos.y = 0;
 var rotation = Quaternion.LookRotation(lookPos);
 player.transform.rotation = Quaternion.Slerp(player.transform.rotation, rotation, 6 * bananas);

I did something like this. But it wasn't turning properly.

Edit: touch is type Vector3

avatar image robertbu · Sep 17, 2013 at 11:09 AM 0
Share

If touch is a screen touch, it will be in screen coordinates and will need to be translated to world coordinates before you can subtract transform.position. You can use Camera.ScreenToWorldPoint().

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Gucci Gagan · Sep 17, 2013 at 11:51 PM

Thank you sooo much robertbu! that fixed it! Heres the code if other people need it. :)

     var tapCount = Input.touchCount;
     if(tapCount > 0)
     {
         Vector3 touch = Input.GetTouch(0).position;
         Vector3 screen = Camera.main.ScreenToWorldPoint(new Vector3(touch.x, touch.y, Camera.main.nearClipPlane + 5.0f));
         var lookPos = screen - player.transform.position;
         lookPos.y = 0;
         var rot = Quaternion.LookRotation(lookPos); // now get the desired rotation
         player.transform.rotation = Quaternion.Slerp(player.transform.rotation, rot, 6 * Time.deltaTime);
     }
Comment
Add comment · Show 1 · 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 Nabil_fx · Dec 01, 2014 at 01:16 PM 0
Share

theere is an error on you script. ( expected. Insert a semicolon at the end.) how can fix that?

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

16 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

Related Questions

Object won't rotate correctly 2 Answers

2D look at 1 Answer

3D nested Turret Prefab Rotation 1 Answer

How to rotate ? 2 Answers

Get my head around Unity Rotations 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