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 docbuchanan2 · Jan 13, 2015 at 02:41 AM · movementinputmouse

How to implement "Homeworld style" movement orders with Unity?

I'm attempting to implement a system in a space RTS game where the player can order units to a three dimensional location with the mouse. They select the plane coodrdinates by clicking and holding, then press shift to select the elevation. I have included an image that demonstrates this system in Homeworld. alt text

I know how to use the mouse for movement orders on a 2D plane, but how do I add the ability to select elevation?

Additional info: I'm using C#. The game utilizes a player controlled free camera.

3d movement example.png (125.5 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
0
Best Answer

Answer by mattyman174 · Jan 13, 2015 at 08:24 AM

The image you linked gives you a perfect description of what you need to do.

Check if the player is holding shift, if they are capture the current mouse position, increase or decrease the next move orders height location based upon the distance the user moves the mouse away from the origin.

When the move order is given, the distance away from the origin the mouse moved is your height elevation for that move order. A lower value from the origin will mean a decrease in height elevation and an increase from the origin will mean an increase in height elevation for that move order.

Does this answer your question?

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 docbuchanan2 · Jan 13, 2015 at 10:32 AM 0
Share

Thanks for responding. And... Sort of. I understand the concept behind it, just having trouble figuring out how to implement it in a script.

  1. Capture the location of the mouse on shift + mouseDown, store the x,y coords as values, and render a moveTo overlay graphic.

  2. Then capture the distance the mouse moves AFTER shift+mouseDown to update the moveTo overlay graphics to depict the elevation change and to capture the z coord.

  3. On mouseUp send the x,y,z values to the selected game object, trigger it's pathing script, stop rendering the moveTo overlay graphics.

I wonder if graphics for movement like the ones depicted above couldn't be done on the UI canvas now... That'd be nice.

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Input System Can't Catch Event on Update 0 Answers

How to Move a Cube 3 Answers

Moving a gameobject with mouse 1 Answer

GetKey equivalent for mouse movement 1 Answer

Mouse movement swings character around in circles 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