Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 jobo22 · Jun 16, 2017 at 08:56 PM · 2drotationjoysticksmoothanalog

How to smoothly rotate object in direction of analog joystick?

Hi guys, I am making a top down 2d game and am trying to get my object to smoothly rotate to whatever direction the analog joystick is facing. Right now I have it where it will face whichever direction the joystick is, but I don't want it to be able to flip. I want it to turn normally. Here is the code I have right now.

 Vector3 lookVec = new Vector3(CrossPlatformInputManager.GetAxis("Horizontal"), CrossPlatformInputManager.GetAxis("Vertical"), 4096);
 
                if (lookVec.x != 0 && lookVec.y != 0)
                    transform.rotation = Quaternion.LookRotation(lookVec, Vector3.back); 

Is there some way I can just modify this code, or will I have to try something a little different? Thanks! :)

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
3
Best Answer

Answer by Kauppasarvi · Jun 16, 2017 at 09:18 PM

@jobo22 Hello, you could use Quaternion.Lerp, like this:

     Quaternion targetRotation = Quaternion.LookRotation (lookVec, Vector3.back);
     transform.rotation = Quaternion.Lerp (transform.rotation, targetRotation, Time.deltaTime);

Also, here is an article for further reading, not mine however.

Comment
Add comment · Show 4 · 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 jobo22 · Jun 16, 2017 at 09:29 PM 0
Share

@$$anonymous$$auppasarvi Your code works exactly how I wanted! Thank you very much for the quick reply! :)

avatar image RationalCommander · Jun 24, 2017 at 01:30 PM 0
Share

This is the smoothest code for rotation so far I have seen, but it still has small deadzones where the game object stops for a small amount of degrees in NORTH, SOUTH, EAST, WEST, NORTH-EAST, NORTH WEST, SOUTH-EAST and SOUTH-WEST. Is there any way for a complete 360 degree smoothness? Imagine a 2d top-down shooter, you need 360 degree smoothess for precision ai$$anonymous$$g.

avatar image RationalCommander RationalCommander · Jun 24, 2017 at 01:38 PM 0
Share

...the controller is unresponsive in those position, the object rotates smoothly, only when i put the stick in those positions its snaps for a little bit,

avatar image Kersteman · Jun 28, 2017 at 07:35 PM 0
Share

Thank you $$anonymous$$auppasarvi so much for this! Solved a problem I've been scratching at for days in 2 simple lines. Greatly appreciate this response!

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

135 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

Related Questions

How to control a 2d character in an top-down android game with the standard joystick? 1 Answer

need the game to detect if the analog stick is at the opposite angle 2 Answers

I'm attempting to make a character face the joystick in a top down unity2d game. 1 Answer

Joystick 2D Sprite Rotation and Movement 0 Answers

How to rotate an RigidBody2D object to an angle and get back to the previous position in the smooth way? 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