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 /
  • Help Room /
avatar image
1
Question by Apokkalypsys · Oct 30, 2015 at 10:40 AM · 2d gamespritestransform.positiontop-downtransform.rotate

Weapon following mouse and orbiting Player

Hello!, i didnt really know how to explain my problem in the title, so i'll address some pictures :

I Currently have this :
(Dont pay attention to the sprites, i do not have access to the originals right now :$)
The sword rotates to follow my mouse position, everything ok. img1

But this just seems nice if if pointing in front of my character, if the weapon goes up, it feels like it lacks reach and does not look good :(

What i would like to achieve is something like this : alt text

The weapon still points to the mouse position, BUT!, the pivot point follows along the red line, to give the illusion of...having arms. I think it basically works by finding the closest point on that red line to the mouse position, and the sword moves that way.

Thank you beforehand.

spr3.png (23.0 kB)
spr2.png (23.2 kB)
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
2
Best Answer

Answer by Ymrasu · Oct 30, 2015 at 02:04 PM

You could try rotating in a circle around your character with something like this script attached to the sword:

 // Point you want to have sword rotate around
 public Transform shoulder;

 // how far you want the sword to be from point
 public float armLength = 1f;


 void Start() {
     // if the sword is child object, this is the transform of the character (or shoulder)
     shoulder = transform.parent.transform;
 }

 void Update() {

     // Get the direction between the shoulder and mouse (aka the target position)
     Vector3 shoulderToMouseDir = 
         Camera.main.ScreenToWorldPoint(Input.mousePosition) - shoulder.position;
     shoulderToMouseDir.z = 0; // zero z axis since we are using 2d

     // we normalize the new direction so you can make it the arm's length
     // then we add it to the shoulder's position
     transform.position = shoulder.position + (armLength * shoulderToMouseDir.normalized);
 }

Hope this gets you started! You should be able to find ways to clamp your sword to a certain arc if you don't want it to do 360's around your character. There is also transform.RotateAround you could look into.

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

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

33 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

Related Questions

Sprite moves at an angle that is 2x the rotation of the sprite. 1 Answer

Messed up sprites flickering over whole screen on multiple machines while moving 0 Answers

Check for current transform so the sprite can rotate properly? 0 Answers

Set Maximum Z Rotation On 2D Player Object? 0 Answers

Movement and Control Problems with understanding 2 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