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 bodec · Jan 14, 2015 at 12:10 AM · rotation

player rotation from the top with mouse position?

What I am looking for is a top down look slightly offset I want the player to face the direction of the mouse. I have that happening but with a hiccup I don't want and that is constant turning when the mouse is not in a steady spot of the character, if its off to the right it continues to turn. my question is how can I stop that from happening so if I want the character to face say 45 degrees left from the current position the character will rotate to that position and stop no longer chase the mouse around the screen here is the code I have in place now its working backwards but I figure I can fix that fairly simply.

     Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
         RaycastHit hitOrgin;
         if(Physics.Raycast(ray,out hitOrgin,camRayLength,floormask)){
             Vector3 dir = transform.position - hitOrgin.point;
             Quaternion targetRotation = Quaternion.LookRotation(dir);
             transform.rotation = Quaternion.Lerp(transform.rotation, 
                                                   targetRotation,
                                                   Time.deltaTime * smooth);
         }
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
Best Answer

Answer by skylem · Jan 14, 2015 at 12:32 AM

it just comes down to checking whether u should be rotating under a certain condition for example.

 if(transform.eulerAngles.y != targetRotation) {
    transform.rotation = Quaternion.Lerp(transform.rotation, 
                                                    targetRotation,
                                                    Time.deltaTime * smooth);
 }

this is just an example u will probably have to tweak it for what your trying to do as i haven't tested it.

Edit--

         Vector3 dir = (target.transform.position - transform.position).normalized;
         
         float direction = Vector3.Dot (dir, transform.forward);

Comment
Add comment · Show 2 · 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 bodec · Jan 14, 2015 at 12:57 AM 0
Share

Thanks this got me what I was looking for which was a direction to run got it working. then realized I didn't like the behavior I was getting for other options down the road.

avatar image skylem · Jan 14, 2015 at 01:17 AM 0
Share

no problem glad it worked for u i've included another method for direction perhaps this will be more applicable to ur situation as its a fixed value.

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

26 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

Related Questions

The name 'Joystick' does not denote a valid type ('not found') 2 Answers

Getting the rotation of an object does not return correct rotation 1 Answer

Object won't rotate z axis on second click? 2 Answers

Problem with animation: they always start at the same rotation!! 1 Answer

How to rotate object not from it's center point but from it's another point? 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