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 josifjoey · Apr 09, 2011 at 05:56 AM · mouserotatelookat

making and object rotate with mouse

hello all iv been looking around for some help on how to make a script on making something rotate with the mouse what i mean is like thing thing the game something like that cause im in the making of a 3d platform game and i want the arms to look at the mouse for the aiming right now im using a script that uses the mouse input to rotate the arms but i want the arms to look at the mouse

example http://img194.imageshack.us/i/runaimfire.png/ http://img713.imageshack.us/i/runaimfire01.png/

the reason it doesn't aim right is cause im using only the y axis so what would i need to do to fix this please help i have no idea how to do this

this is the script im using right now

var verticalSpeed : float = 2.0;

function Update () {

var v : float = verticalSpeed * Input.GetAxis ("Mouse Y");

transform.Rotate ( -v, 0, 0);

}

if you know how this is done please help :)

ps:this game is called run aim fire look it up on you tube if you like it

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

3 Replies

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by RdJ · Apr 09, 2011 at 07:56 AM

I made a script that should do the trick:

var cam:Camera;

function Update() { var x:float = Input.mousePosition.x - cam.WorldToScreenPoint(transform.position).x; var y:float = Input.mousePosition.y - cam.WorldToScreenPoint(transform.position).y;

 var zRotation:float = Mathf.Rad2Deg * Mathf.Atan2(y, x);

 transform.eulerAngles = Vector3(0, 0, zRotation);

}

Variable cam is the main camera you're using. Rest of it is just simple maths.

Assign the script to the arm of your character.

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 josifjoey · Apr 09, 2011 at 01:08 PM 0
Share

wow that really help the only problem now is that the arm aim in a diffident direction but i can fix it

avatar image
-1

Answer by jeffmadriaga · Mar 03, 2013 at 03:39 AM

Once again like the other posts this works great for a 2d game, thanks!

Is there anyway that the angle returned could be between 0 to 360 instead of -180 to 180?

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
avatar image
0

Answer by Nick 28 · Apr 24, 2011 at 08:51 AM

RDJ, thank you for posting this script, after searching for many hours and trying countless other scripts claiming to work which didn't, this did the job. You restored my faith in the community!

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 POLYGAMe · Sep 11, 2012 at 03:48 AM 0
Share

Wow, thanks! I needed this too! LookAt wasn't working for me. I HATE $$anonymous$$ATHS! lol. Cheers!!!!

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

2 People are following this question.

avatar image avatar image

Related Questions

Multiple rotate with mouse 2 Answers

Rotate Player with Camera rotation 2 Answers

Another way to follow an object? 2 Answers

How do I make one GameObject Point Towards another GameObject in 2D? 1 Answer

GUI Button Question 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