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 TommyB · Sep 01, 2014 at 08:33 PM · collisionmovementgrid based game

Grid based movement and collisions

Hi,

I'm currently trying to implement a game that makes use of grid based movement and I used the answer here http://answers.unity3d.com/questions/611343/movement-2d-in-a-grid.html

The issue I have is that if my character collides with an object to the right, and I press to move right again, the character keeps jarring against the object they collided with basically due the && condition

 if(Input.GetKey(KeyCode.RightArrow) && tr.position == pos){
         pos += Vector3.right/100 *24;        
         this.transform.localScale = new Vector3(-1,1,1);

}

Does anyone know how I can stop this from happening? I thought about adding a collided flag and checking if that was false before I move, but I can't get that work either due to that fact that it tries to move before the collision is detected. Would appreciate any ideas on how to get around this.

thanks

Comment
Add comment · Show 1
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 MikeNewall · Sep 01, 2014 at 09:17 PM 0
Share

That code you link calculates a target position and then moves towards it. the target position is incremented by 1 each time you press a key in the direction of the key you press, but it doesn't take into account the fact that you might not be able to move.

Say the objects position and the target position is (0,0), and you're stood next to a wall. If you press right the new target position is (1,0), but there's a collider in the way, so it keeps trying to move towards the target but can't get there. Hence the jittering.

To fix it you could cast a ray from the current target position in direction you're trying to move to see if it's walkable before you update the target position.

0 Replies

· Add your reply
  • Sort: 

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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

How to stop a character from moving out of player's control? 0 Answers

How to move a Game Object from a script not attached to it. 1 Answer

Boat collides with track(plane) below it while moving forward 0 Answers

Simple moving ball script 1 Answer

Adding collision detection to movement script... 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