Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
2 captures
12 Jun 22 - 14 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 chirpywiz711 · Aug 30, 2019 at 08:05 PM · movementcontrolsgrid based gamegridmove

3D Grid Movement

I would like a grid-based setup where whenever you press w/a/s/d or the arrow keys, you move a specified amount of units, and if you hold it, you repeat this for as long as it is held. If you release the button before you make it to the next point, you keep moving until you do. VISUALIZATION alt text You'll always end up on one of these dots. (Each dot is one Unity unit apart, but this property can publicly be changed.)

screenshot-39.png (346.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

Answer by Warpboy9 · Apr 12, 2021 at 09:00 PM

Hi @chirpywiz711 , this may be the thing you're looking for (or not) :

          // Player = your sphere (if the script is on the object no need of "Player." everywhere)
         GameObject Player;
     
         // This is if you want a little delay and that your sphere doesn't go super fast
         bool movementOnGoing = true;
         
         // If you want to see them teleport instead of moving to the other case, make this smaller (It's the time that it takes to move the Player)
         float smoothSpeed;

         public float movementUnit = 1;
         float negativeMovementUnit;
         
         Vector3 Movement;
         Vector3 desiredPosition;
         Vector3 smoothPosition;
     
     void Awake(){
         Player = GameObject.Find("Player");
         negativeMovementUnit = (-1 * movementUnit);
     }
     void Update(){
         if (movementOnGoing == true){
            if (Input.GetKeyDown(KeyCode.A)) Movement = new Vector3(negativeMovementUnit, 0.0f, 0.0f); 
            if (Input.GetKeyDown(KeyCode.S)) Movement = new Vector3(0.0f, 0.0f, negativeMovementUnit);
            if (Input.GetKeyDown(KeyCode.D)) Movement = new Vector3(movementUnit, 0.0f, 0.0f);
            if (Input.GetKeyDown(KeyCode.W))Movement = new Vector3(0.0f, 0.0f, movementUnit);

            movementOnGoing = false;
            desiredPosition = Player.transform.position + Movement;
         }
            smoothPosition = Vector3.Lerp(Player.transform.position, desiredPosition, smoothSpeed);
            Player.transform.position = smoothPosition;
            if (Player.transform.position == desiredPosition) { Movement = new Vector3(0.0f, 0.0f, 0.0f); movementOnGoing = true;}
     }

Also, I'm not quite sure about the "GetKeyDown" because I'm currently using the new Unity Input System.

If any more questions, just let me know. Have a good one!

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

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

167 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 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

2D Game, Player Not to move if a wall is next to it C# 1 Answer

Grid-based movement with auto-move 1 Answer

How do I create WASD controls for a fps? 3 Answers

store the user touch input 0 Answers

2D Isometric grid movement direction 0 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